问题1:如果cookie setpath了,不带cookie的情况下会带session吗
答: 不会,没有cookie 何来session
问题2:验证码为什么存在session中
答:Request 不行:除非生成验证码转发,业务没这个要求
ServletContext不行,别人会同时访问,立马覆盖掉
Session可以,属于客户端私有,针对每个客户端
问题3:要想关闭浏览器后20分钟,session对象还能被访问
答:手动创建一个持久化存储JSESSIONID的Cookie
//手动创建一个持久化存储JSESSIONID的Cookie Cookie cookie = new Cookie("JSESSIONID",id); cookie.setPath("/WEB16/"); cookie.setMaxAge(60*10); response.addCookie(cookie); response.getWriter().write("JSESSIONID:"+id); |
问题4:要想关闭浏览器后60分钟,session对象还能被访问
答:
不止手动创建一个持久化存储JSESSIONID的Cookie,因为session默认30分钟后销毁,到时候光有JSESSIONID,丢了session对象可不行
还要参照服务器web.xml的配置,修改项目web.xml,修改session-timeout属性