【发布时间】:2018-05-29 00:47:01
【问题描述】:
我正在尝试学习 JavaEE。我以前使用过一点 JSP,但我从来没有弄乱过作用域和 servlet。
我有一个 servlet,当用户提交表单时调用它,并创建一个 UserBean bean 并将其添加到会话中。
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}
这会打印我在表单中设置的用户名。这是正确的。那太棒了。现在我通过键入 URL(不仅仅是刷新 - 很好)返回到 mysite.com/index.jsp,并且信息已经消失。什么也没有。我的豆子丢了。我认为一次会议意味着一段较长的时间。在用户离开 30 分钟并通过输入我的 URL 回来后如何保留我的 bean?
我正在弄乱用户帐户系统,因此我希望用户能够离开并在几分钟后回来,而不必再次登录。有这个范围吗?我尝试从 sessionScope 切换到依赖,但没有区别。
【问题讨论】:
-
request.getSession().getAttribute("user") 将为您获取会话 bean。
-
如何在用户离开 30 分钟后保留我的 bean 这听起来像是服务器端会话超时 - 如果 tomcat 检查
.../conf.web.xml<session-config> <session-timeout>-1</session-timeout> </session-config>
标签: java jsp servlets javabeans