繁体   English   中英

用户离开并回来时如何保留JavaBean?

[英]How do I have my JavaBean retain when a user leaves and comes back?

我正在尝试学习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}

这将打印我在表单中设置用户名的任何内容。 没错 那很棒。 现在,我通过输入URL(不仅仅是刷新-很好)回到mysite.com/index.jsp,信息已经消失了。 什么也没有。 我的豆子丢了。 我以为开会意味着延长时间。 用户离开30分钟并通过输入URL回来后如何保留我的bean?

我搞砸了一个用户帐户系统,所以我希望用户能够在几分钟后离开并回来,而不必再次登录。 有这个范围吗? 我尝试从sessionScope切换到dependent,但是没有区别。

弄清楚了。 多亏了这些答复,我知道“会话”的含义对我而言可能不是误会,并且服务器存在问题。

经过进一步的挖掘后,我发现问题是因为我在仅通过其IP地址访问的服务器上运行该应用程序。 我改为经过一个实际的域,并且运行良好! 关于浏览器如何不喜欢从没有域的站点接受cookie的某些事情应该使我每次重新加载时都创建一个新会话。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM