1、cookie
在客户端的小纸条,存储在客户端
一个servlet/jsp设置的cookies能被同一路径下面或者子路径下面的servlet/jsp读到,但子路径设置的cookies父路径读不到.
添加cookie的方法:
Cookie cookie = new Cookie("aaa", "bbb");
cookie.setMaxAge(1000);
resp.addCookie(cookie);
获取cookie:
Cookie[] cookies = req.getCookies();
Cookie cookie = cookies[0];
2、session
在服务器端的小纸条,存储在服务器端
不论是父路径还是子路径均能访问到同一个session
session有两种实现方式:依靠cookie或者依靠URL重写
依靠cookie的session不稳定,当客户端禁掉cookie时无法使用,依靠URL重写的方式可以解决客户端禁掉cookie的问题。调用方法:response.encodeURL(request.getRequestURL().toString)());
添加session的方法:
HttpSession session = req.getSession(true);
获取session:
Integer count = (Integer)session.getAttribute("count");
设置session的值:
session.setAttribute("count", count);
3、servletContext
一个WEBAPP的全局变量,能存储所有用户都能访问的数据
ServletContext app = this.getServletContext();
使用方法与session相同