我在试着学习JavaEE是如何。我以前用过一点JSP,但我从来没有使用过作用域和servlet。
我有一个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}这将打印我在表单中设置的用户名。是这样的。太好了。现在我回到mysite.com/index.jsp,输入URL (不仅仅是刷新--这很好),信息已经消失了。什么都没有。我的豆子丢了。我认为一个会议意味着更长的一段时间。在用户离开30分钟并通过输入URL返回后,我如何保留我的bean?
我正在处理一个用户帐户系统,所以我希望用户能够离开,几分钟后再回来,而不必再次登录。有这样的范围吗?我尝试从sessionScope切换到dependent,但没有区别。
发布于 2018-05-29 09:46:17
我想通了。多亏了这些回复,我知道这可能不是我对"session“含义的误解,而是服务器有问题。
经过进一步的挖掘,我发现这个问题是因为我在一个服务器上运行应用程序,我只通过它的IP地址访问它。我通过了一个实际的域名,它工作得很好!浏览器不喜欢接受来自没有域名的站点的cookie,这可能会让我在每次重新加载时创建一个新的会话。
https://stackoverflow.com/questions/50574895
复制相似问题