|
|
|
Передача объекта между страничками в сервлетах
|
|||
|---|---|---|---|
|
#18+
Начинаю изучать J2EE, поэтому за глупый вопрос ногами не пинайте. Все книги что удалось найти подразумевают что читатель уже ориентируется в предмете, а букваря для чайников так и не попалось. Итак: пользователь заходит на страницу, вводит логин/пароль. После этого в сервлете создается объект содержащий внутри себя Connection и несколько PreparedStatement-ов. Нужно чтобы в дальнейшем гуляя по ссылкам из сервлета в сервлет доступ к инициализированному экземпляру объекта сохранялся, то есть инициализировав его в одном сервлете нужно вызывать его методы из следующего сервлета, куда юзер пришел по ссылке. За простой примерчик или тыканье носом в howto/walkthrough буду очень благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2006, 14:50:04 |
|
||
|
Передача объекта между страничками в сервлетах
|
|||
|---|---|---|---|
|
#18+
попробуйте учесть следующие пункты в Вашей архитектуре серверной части: 1. не ставьте задачу "ручного" хранения Connection и PreparedStatements, для этого существует пул соединений (Connection Pool). На форуме по ключевому слову Connection Pool есть много интересных статей 2. вообще объекты можно хранить в JNDI - это хранилище для обмена данными в распределенной среде, в Вашем случае можно воспользоваться им для обмена данными между сервлетами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2006, 15:03:28 |
|
||
|
Передача объекта между страничками в сервлетах
|
|||
|---|---|---|---|
|
#18+
unicornmirage 1. не ставьте задачу "ручного" хранения Connection и PreparedStatements, для этого существует пул соединений (Connection Pool). На форуме по ключевому слову Connection Pool есть много интересных статей У меня серверная часть, что касается БД, давненько написана и успешно живет на ASA - и многое в хранимых процедурах завязано на логин/роль пользователя. То есть одна и та же процедура ведет себя по-разному в зависимости от того какой юзер ее вызвал. Соответственно юзер должен логиниться на веб своим ASA-шным паролем. При использовании Connection Pool, насколько я понял из чтения документации, в пуле лежит куча живых соединений с сервером - и как сервлет добудет из пула коннект под конкретный логин? Кроме того, мне помимо "ручного" хранения Connection и PreparedStatements нужно сохранять в пределах сессии еще много всяких бизнес-объектов. unicornmirage 2. вообще объекты можно хранить в JNDI - это хранилище для обмена данными в распределенной среде, в Вашем случае можно воспользоваться им для обмена данными между сервлетами Пока что попробовал следующее - в одном сервлете делаю Код: plaintext 1. 2. 3. 4. 5. и в другом сервлете - Код: plaintext 1. 2. 3. 4. Вроде бы это дает юзверю возможность бегать между страницами с сохранением живого экземпляра объекта на сервере. В MSIE и FireFox работает без проблем, в опере почему-то вытаскивает null - но возможно это заскок оперы... В принципе основная работа с базой идет в swing-приложении, веб нужен только для просмотра оперативной информации, суровых редактирований через браузер пока (во всяком случае в этом году) не планируется... А про JNDI почитаю, первый раз такое слово слышу (хотя и первый сервлет только сегодня написал :) ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2006, 15:44:23 |
|
||
|
Передача объекта между страничками в сервлетах
|
|||
|---|---|---|---|
|
#18+
Vladimir KozlovВ MSIE и FireFox работает без проблем, в опере почему-то вытаскивает null - но возможно это заскок оперы... Проверьте, что Opera принимает и сохраняет cookies от вашего сервера. Без них работа сессии невозможна, если вы не используете SSL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2006, 22:56:19 |
|
||
|
Передача объекта между страничками в сервлетах
|
|||
|---|---|---|---|
|
#18+
Интересно, а какие у SSL есть механизмы поддержания сессии без использования кукисов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2006, 05:18:28 |
|
||
|
Передача объекта между страничками в сервлетах
|
|||
|---|---|---|---|
|
#18+
mayton Vladimir KozlovВ MSIE и FireFox работает без проблем, в опере почему-то вытаскивает null - но возможно это заскок оперы... Проверьте, что Opera принимает и сохраняет cookies от вашего сервера. Без них работа сессии невозможна, если вы не используете SSL. В опере прием кукисов включен. Проверил на другой машине - там та же фигня - мозилла и ие работают, опера нет. В принципе и фиг с ним - поскольку тонкий клиент все равно планируется делать под мозиллу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2006, 09:50:00 |
|
||
|
Передача объекта между страничками в сервлетах
|
|||
|---|---|---|---|
|
#18+
maytonПроверьте, что Opera принимает и сохраняет cookies от вашего сервера. Без них работа сессии невозможна ... - возможна, если в адреса будет дописываться jsessionid (URL;jsessionid=...). Дописывание идентификатора сессии лучше делать с помощью методов encodeURL и encodeRedirectURL класса HttpServletResponse. Эти методы дописывают идентификатор сессии в случае если куки не работают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2006, 12:12:42 |
|
||
|
Передача объекта между страничками в сервлетах
|
|||
|---|---|---|---|
|
#18+
cooluserИнтересно, а какие у SSL есть механизмы поддержания сессии без использования кукисов? SSL, насколько я разбираюсь использует выделенное сокет-соединение (как в базах данных) в течение всего сеанса работы пользователя. Обычный-же HTTP так не делает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2006, 12:32:54 |
|
||
|
Передача объекта между страничками в сервлетах
|
|||
|---|---|---|---|
|
#18+
Kachalov ... Спасибо. Я действительно забыл про этот метод. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2006, 12:37:31 |
|
||
|
Передача объекта между страничками в сервлетах
|
|||
|---|---|---|---|
|
#18+
mayton SSL, насколько я разбираюсь использует выделенное сокет-соединение (как в базах данных) в течение всего сеанса работы пользователя. Обычный-же HTTP так не делает. Разве? А keep-alive в HTTP 1.1? Или это нето? На самом деле наличие выделенного сокет соединения, а это на самом деле обозначает что четыре числа ip1:port1 - ip2:port2, в течении сеанса работы не измненяются, не объясняет способ хранения сессионных данных в SSL коннекте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2006, 17:35:48 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34058056&tid=2147800]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
195ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 556ms |

| 0 / 0 |
