Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> JSP feat JS. Проблема взаимодействия, Требуется решить некоторые траблы о JSP 
:(
    Опции темы
zone51
  Дата 7.3.2006, 20:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 17.2.2006

Репутация: нет
Всего: 1



Товарищи, такой вопрос: работают ли JavaScript скрипты в JSP страницах? чота я пытаюсь написать простенькую форму с обработчиком и ничо smile . И еще: представьте себе что при авторизации клиента на жсп странице происходит создание бина (ежб), ну просто поиск в пространстве имен и т д...Так вот при закрытии клиента надо этот бин удалить. Вопрос: как в жсп обработать событие закрытия клиента чтоб удалить бин? Заранее спасибо.
smile


--------------------
The truth is out there
PM MAIL   Вверх
Tony
Дата 7.3.2006, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

Репутация: 6
Всего: 12



Товарищи, такой вопрос: работают ли JavaScript скрипты в JSP страницах? A po4emu bi net?
================================================================================
Esli ja tebja pravelno ponal (<jsp:useBean .../> eto o4en ploho tak pisat') bean udalitsja polube! Vnezavisimosti kakoj on u tebja Session ili Request.


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
sergejzr
Дата 7.3.2006, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 2
Всего: 360



Javascript - клиентский язык Java Server Pages - серверный. Они друг к другу отношения никакого не имеют. Обобщённо - Javascript работает везде. где есть его понимающий браузер. А у тебя ошибки в коде.


Добавлено @ 20:20
Tony, я тебе уже писал, пользуйся транслитом!


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
zone51
Дата 7.3.2006, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 17.2.2006

Репутация: нет
Всего: 1



sergej.z,
Ситуация такая:при входе в систему мою создаецца ежб бин.

--------------------------------

Context con=new InitialContext();
Object obj=con.lookup("guideBean");
guideRemoteHome st=(guideRemoteHome)PortableRemoteObject.narrow(obj,guideRemoteHome.class);
guideRemote gr=st.create();

----------------------------------

потом по ходу работы системы его находят findByPrimaryKey и работают с ним и т д.Но вся фишка в том что этот бин энтити и он сохраняецца в базе. А как сделать так чоб его удалить из базы при закрытии клиента. А тэг <jsp:useBean .../> я ваще не понял, но по ходу он не относицца к ежб бинам, если не прав то поправьте меня. Заранее спасибо. smile


--------------------
The truth is out there
PM MAIL   Вверх
Tony
Дата 8.3.2006, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

Репутация: 6
Всего: 12



Цитата(zone51 @ 7.3.2006, 22:22)
sergej.z,
Ситуация такая:при входе в систему мою создаецца ежб бин.

--------------------------------

Context con=new InitialContext();
          Object obj=con.lookup("guideBean");
          guideRemoteHome st=(guideRemoteHome)PortableRemoteObject.narrow(obj,guideRemoteHome.class);
          guideRemote gr=st.create();

----------------------------------

потом по ходу работы системы его находят findByPrimaryKey и работают с ним и т д.Но вся фишка в том что этот бин энтити и он сохраняецца в базе. А как сделать так чоб его удалить из базы при закрытии клиента. А тэг <jsp:useBean .../> я ваще не понял, но по ходу он не относицца к ежб бинам, если не прав то поправьте меня. Заранее спасибо.  smile

Sorry что не понал тебя.
ЕЕ... 4тоби удалить напиши в <body onbeforeunload="myFunction()"> .I tam location.replace("Tvoj url"); Eto sobitie srobativaet kogda 4el zakrivaet okno i vrode takze pri perehode na druguju stranicu.


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
zone51
Дата 8.3.2006, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 17.2.2006

Репутация: нет
Всего: 1



Tony,

стоп! значит так:при закрытии происходит событие и его можно обработать так:

Цитата

<body onbeforeunload="myFunction()">


эта функция должна быть на ява скрипт так?

а в функции

[quote location.replace("Tvoj url");[/quote]

можно поподробнее что это значит строчка?
жсп это препроцессор и он никак не видит ява скрипт. У меня такая идея: в функции ява скрипт написать выражение которое пихает в срытое поле формы какое-то значение и посылает форму, но успеет ли послать? хотя не очень красиво если честно. Пожалуйста поподробнее с этой функцией. Спасибо. smile


--------------------
The truth is out there
PM MAIL   Вверх
парторг
Дата 8.3.2006, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 18.9.2005

Репутация: нет
Всего: нет



следует сохранить данные в сессии и затем при уничтожении сессии клиента убить данные.

http://tomcat.apache.org/tomcat-5.5-doc/se...onListener.html


надежного способа отработать закрытие клиента не существует
PM MAIL   Вверх
zone51
Дата 8.3.2006, 23:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 17.2.2006

Репутация: нет
Всего: 1



Спасибо..вот только возникает вопрос это событие происходит при закрытии одного окна браузера или как? в обшем сессия - это связь браузера с серваком или это связь компа с серваком?
smile


--------------------
The truth is out there
PM MAIL   Вверх
sergejzr
Дата 8.3.2006, 23:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 2
Всего: 360



Сессия - это проверка последнего обращения клиента к серверу. только по таймауту можно более - менее точно сказать, что клиент отсоеденился. И это единственный "нормальный" способ.


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
FatherFrost
Дата 9.3.2006, 08:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почетный Мороз
**


Профиль
Группа: Участник
Сообщений: 272
Регистрация: 27.4.2005
Где: Крайний север

Репутация: 5
Всего: 6



Сессия - это связь конкретного броузера с сервером... Если, к примеру в IE нажать Ctrl+N, то оба окна броузера будут работать с одной сессией, а если открть через меню пуск, то будем уже работать с другой сессией...

О клиенте тут говорить нельзя так как это понятие более широкое... Т.е. под ним можно понимать соединение сервера с конкретным ip-адрессом..... А это неверно, ведь часто люди обращаются через прокси, т.о. получается что вся подсетка работает с одной сессией... А это уже означает, что будет полный бардак....

sergej.z, можно уже как говорилось записывать объект в сессию, а затем писать сессионный листнер, который бы при закрытии сессии закрывал бы и свяханные с ней объекты.... Затем можно создать ExitServlet, который к примеру при вызове очищал сессию и все связанные с ней объекты, нок нему все равно нужен листнер сессии, потому что пользователь может и не нажать на ссылку "выход"... В этом случае листнер будет обрабатывать закрытие сессии по таймауту...

Есть еще ServletContext, но в нем хранятся объекты, доступные для все веб-приложений.


--------------------
Задаю много глупых вопросов....
PM MAIL ICQ   Вверх
Tony
  Дата 9.3.2006, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

Репутация: 6
Всего: 12



Цитата(sergej.z @ 8.3.2006, 23:58)
Сессия - это проверка последнего обращения клиента к серверу. только по таймауту можно более - менее точно сказать, что клиент отсоеденился. И это единственный "нормальный" способ.

предлагаещ поставить SessionListener .A если сессия 5 4асов и 4удик ушол за 20 минут от начала?Сессия будет висеть 4.40 мин? А если нашему друду надо 4тоби в базе типа било чувак ушёл .И ето показивется другим.Тоесть он ушиёл а всем будет показино 4то он есть? Не так дело не нелзя.
============================================
Насчёт onbeforeunload я зе написал ,что сробативает кокда 4удик закривает окно browsera(Proveral na IE i Firefox).location.replace("url").URL naprimaer servlet.Там мозно по всакому например session.invalidate() (vrode pravelno napisal) Напишешь sessionListener .On srabotaet kogda ti sdeal invalidate(ubil sessiju).I potom delaesw' то что нузно.


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
sergejzr
Дата 9.3.2006, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 2
Всего: 360



Кто же сессию дольше 30 миню неактивности держит? Это если и надо, то только в спец. прогах. В производственных каких нибудь, и то я сомневаюсь, что так делается.


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
FatherFrost
Дата 9.3.2006, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почетный Мороз
**


Профиль
Группа: Участник
Сообщений: 272
Регистрация: 27.4.2005
Где: Крайний север

Репутация: 5
Всего: 6



Tony, листнер сработает в любой ситуации при завершении сессии... Макс. время неактивности сессии задается в файле конфигурации ТомКата. А ставить длинные сессии, ИМХО, опасно с точки зрения безопасности. Потому что часто люди уходят куда то и комп не блокируют и логаут в ОС не делают, тем более окна броузера не закрывают. Так что в сессии в 4 часа в веб приложении необходимости нет.


--------------------
Задаю много глупых вопросов....
PM MAIL ICQ   Вверх
zone51
Дата 9.3.2006, 18:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 17.2.2006

Репутация: нет
Всего: 1



так, в общем мои рассуждения привели к тому что я страдаю фигней, и что все это лечицца обычным Session Bean1`ом но вот только извините за смену темы но все таки может мне все таки обьяснит зачем вообще надо Entity Bean в EJB? я со всем разобрался осталось только провести небольшой мостик )) заранее спасибо.


--------------------
The truth is out there
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0591 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.