会话技术分类:
1,客户端的会话技术:将这一次会话范围之内的信息保存在客户端,这就是cookie
2,服务器端的会话技术:将这一次会话信息保存到服务器,这就是session
cookie
@WebServlet(name = "Test3Servlet", value = "/Test3Servlet")
public class Test3Servlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//向客户端添加cookie
Cookie cookie = new Cookie("username", "张三");
response.addCookie(cookie);
//从request中读取cookie
Cookie[] cookies = request.getCookies();
if(cookies!=null){
for (Cookie cookie1 : cookies) {
if(cookie1.getName()=="username"){
System.out.println(cookie1.getValue());
}
}
}
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}
session
当调用request.getSession时,会判断是否有一个名为JSESSIONID的cookie。
如果没有那么会创建一个session,并且将session的id用cookie方式存到浏览器。
session默认在30分钟内如果没有人使用,服务器就会销毁。或者手动调用session对象的invalidate方法,或者服务器异常关闭也会销毁.