最近学习的状态不太好,可能是进入了学习的迷茫期吧,没有了学习的激情,更新博客的速度也减慢了,希望大家多谅解。有时候,我觉得更新博客和写小说是一样一样的,得有状态才行。明后天休息,调整好状态,继续前进·······
一:Cookie&&Session
1. WEB应用中的会话是指一个客户端浏览器与WEB服务器之间连续发生的一系列请求和响应过程
2. 在 Servlet 规范中,常用以下两种机制完成会话跟踪:Cookie和Session
3. Cookie的使用实例:
Cookie对象的产生:
Cookie cookie = new Cookie("Cookiename","Cookievalue");
cookie.setMaxAge(60);
response.addCookie(cookie);
Cookie对象的获取:
Cookie[] cookies = request.getCookies();
if(cookies != null)
for(Cookie cookie:cookies){
out.print(cookie.getName()+","+cookie.getValue());
}
4. Cookie机制采用的是在客户端保持 HTTP 状态信息的方案;session机制采用的是在服务器端保持 HTTP 状态信息的方案
5. Cookie有效的路径:只对当前目录及其子目录有效,对父目录无效,可以调用Cookie对象的setPath()方法设置Cookie的有效路径 例:cookie.setPath(/)
6. page指令中的session=false:当前页面的session对象不可用!但并不意味着当前页面不可以使用HttpSession对象,可以通过其他方法获取Session对象来使用;不是只要访问JSP页面或web应用,Session就会被创建,而是只有当Server端程序调用HttpServletRequest.getSession(true)这样的语句时才会被创建;关闭浏览器只会使存储在客户端浏览器内存中的session cookie失效,不会使服务器端的session对象失效
7. 设置Session的有效时间的两种方法:A:session.setMaxInactiveInterval() (单位为秒)
B: <session-config>
<session-timeout>20</session-timeout>
</session-config>
8. 保存session id的两种方式
A: 保存session id的方式可以采用cookie,这样在交互过程中浏览器可以自动的按照规则把这个标识发送给服务器
B: 由于cookie可以被人为的禁用,必须有其它的机制以便在cookie被禁用时仍然能够把session id传递回服务器,经常采用的一种技术叫做URL重写,就是把session id附加在URL路径的后面,附加的方式也有两种,一种是作为URL路径的附加信息,另一种是作为查询字符串附加在URL后面。网络在整个交互过程中始终保持状态,就必须在每个客户端可能请求的路径后面都包含这个session id.