Как мне сохранить JavaBean, когда пользователь уходит и возвращается? - PullRequest
0 голосов
/ 29 мая 2018

Я пытаюсь узнать, как работает JavaEE.Ранее я немного использовал JSP, но никогда не сталкивался с областями действия и сервлетами.

У меня есть сервлет, который вызывается, когда пользователь отправляет форму, а компонент UserBean создается и добавляется всеанс.

UserBean userBean = new UserBean();
userBean.setLogin(user);
userBean(setPassword(pass);
request.getSession().setAttribute("user", userBean);

RequestDispatcher dispatcher = request.getRequestDispatcher("/index.jsp");
dispatcher.forward(request, response);

Это перенаправляет меня в index.jsp, в котором я отображаю значение, которое я только что установил ... index.jsp просто так:

${sessionScope.user.login}

Этопечатает все, что я установил имя пользователя в форме.Правильно.Замечательно.Теперь я возвращаюсь на mysite.com/index.jsp, набирая URL (не просто обновляя - это нормально), и информация исчезла.Там нет ничего.Мой боб был потерян.Я думал, что сессия означала длительный период времени.Как я могу сохранить свои бобы после того, как пользователь уходит на 30 минут и возвращается, набрав мой URL?

Я работаю с системой учетных записей пользователей, поэтому я бы хотел, чтобы пользователь мог уйти и вернуться через несколько минут и не приходить в систему снова.Есть ли для этого возможности?Я попытался переключиться с sessionScope на зависимый, но без разницы.

1 Ответ

0 голосов
/ 29 мая 2018

Разобрался.Благодаря ответам я знал, что с моей стороны, вероятно, не было недопонимания о том, что означает «сессия», и что была проблема с сервером.

После еще нескольких копаний я обнаружил, чтопроблема заключалась в том, что я запускал приложение на сервере, доступ к которому осуществлялся только по его IP-адресу.Я прошел через реальный домен, и он отлично работает!Что-то о том, что браузерам не нравится принимать файлы cookie с сайтов без домена, якобы заставляло меня создавать новый сеанс всякий раз, когда я перезагружаюсь.

...