问题描述
- JavaWeb编程中session丢失的问题,求助!
-
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpSession session = request.getSession();
System.out.println("servlet1:"+session.getId());
}
比如执行上面的代码,它在web.xml配置文件中的url-pattern配置路径为servlet1,然后在网页上加载这个路径,打印一个id,然后再刷新一下网页这个id值就变了,好奇怪,求高手来解答下,谢谢了!
解决方案
又没保存对象,request请求一次就销毁了
解决方案二:
换个浏览器试下session一般是会保持到这次会话结束,再刷新请求应该不会丢失,你试着给session设置一个属性。
解决方案三:
需要把session存到cookie里参考代码如下:
HttpSession session = request.getSession();
Cookie cookie = new Cookie("JSESSIONID", session.getId());
cookie.setMaxAge(3600);
cookie.setPath("项目根目录");
response.addCookie(cookie);
这样设置完,即使关闭浏览器,session也不会被销毁,等到cookie超时后,session才销毁
时间: 2024-12-27 05:26:40