Cookie
从浏览器中先访问demo1再访问demo2
默认情况下,/Day15虚拟目录下的servlet是无法访问/Day16虚拟目录下的servlet设置的Cookie的。
通过setPath函数设置为/,表明范围涵盖了Day15和Day16,也就是说Day15和Day16下所有servlet都可以访问到设置的cookie。
案例
Session
客户端第一次请求时请求包中没有cookie信息,由于服务器调用了getSession方法,生成了session对象,并且服务器响应包中会带有set-cookie头,且这里的键值对是JSESSIONID=值(值为服务器中的Session对象的ID)。客户端在这次会话中又访问了Demo2,请求包中将带上这里的cookie信息,这样就完成了会话中不同请求响应之间的数据共享,以及servlet之间的数据共享。
默认情况下,会话结束后,这个带JSESSIONID的cookie就没有了。如果要下次会话还能访问的话,就必须持久化。然后客户端下次请求时,请求包里带上该cookie即可。
案例
login.jsp是一个servlet,而LoginServlet也是一个servlet,它们之间需要共享数据。使用session技术来完成该操作。
细节处理
后退后验证码没有更新,解决方法,验证码值用完就将Session中验证码值丢弃
后退后再登陆,服务器报错。由于第3步代码中checkCode_seesion为空了。