通过链接打开另一个页面Session新建问题
session中的属性值的获取方法:
- String username1=(String)session.getAttribute(“userName1”);
向session 中添加属性
- request.getSession().setAttribute(“userName1”,username);
- 向session 中添加userName1属性,值为username
判断session是不是新建的
-
String sessionId = session.getId(); //判断session是不是新创建的 if (session.isNew()) { response.getWriter().print("session创建成功,session的id是:"+sessionId); }else { response.getWriter().print("服务器已经存在该session了,session的id是:"+sessionId); }
每次打开一个页面session对象都是新建的原因可能是因为浏览器的限制问题,利用火狐浏览器,google浏览器可能能够解决错误。
解释原因是:浏览器第一次访问时,服务器创建Session,然后将Session的Id以Cookie的形式发送回给浏览器,response. encodeURL(java.lang.String url)方法也将URL进行了重写,当点击刷新按钮第二次访问,由于火狐浏览器没有禁用cookie,所以第二次访问时带上了cookie,此时服务器就可以知道当前的客户端浏览器并没有禁用cookie,那么就通知response. encodeURL(java.lang.String url)方法不用将URL进行重写了。