Cookie和Session
会话:所谓的会话过程就是指从打开浏览器到关闭浏览器的过程。
Cookie
: 会话数据保存在浏览器客户端
Seeion
: 会话数据保存在服务器端。
Cookied的工作原理:
- 当浏览器第一次向服务器发起请求时,服务器会向浏览器发送一个Cookie,
- 当浏览器再次发起请求时,会带上Cookie一起发送给服务器,为了让服务器识别这是同一个会话。
Cookie的有效期?
- 默认会话结束就失效。(这种被称为会话Cookie)。
- 可以setMaxAge设置Cookie有效期。
Cookie的缺陷:
- 大小和数量的限制(一般来说:每个站点能保存20个Cookie,每个Cookie的大小限制在4k以内)。
- 数据安全性问题。
Session的工作原理 : 浏览器发送请求到服务器,服务器会根据请求需求生成一个Session对象,并赋予一个唯一编号(SessionId) ,并将这个唯一编号(SessionId)放入一个Cookie中,并发送给浏览器。
Session的生命周期:
- 默认有效期30分钟。
- setMaxInactiveInterval设置有效期。
- 部署描述符配置有效期。
- invalidate使Session失效。
转发与重定向
转发
转发 :一次请求,一次响应。
我们可以通过RequestDispather.forword(req,resp);
获取RequestDispather:
- 通过HttpServletRequest获取
- 通过ServletContext获取
重定向
通过response对象发送给浏览器一个新的url地址,让其重新请求。
response.sendRedirect();
过滤器
用于对用户请求进行预处理,和对请求响应进行后处理的web应用组件。
Filter在初始化方法init中,有个filterConfig对象(类似于ServletConfig)可以在web.xml中配置一些参数。
获取Filter配置参数的方法:
Filter的配置方法:
监听器
监听器在xml.web中的配置方法。
web容器一般是先加载监听器,然后过滤器,然后是Servlet。