一、Cookie操作
cookie:将服务器的数据保存到浏览器端的技术
* IE;将cookie保存到指定目录中,以文件的形式存储
* 火狐或谷歌:将cookie保存到指定的文件中
* 使用HTTP协议进行通信,而HTTP协议是采用ISO-8859-1进行编码的
* request.getCookies();获得当前web项目的所有的cookie信息,获得当前servlet所在目录,以及之上的所有目录下的cookie信息
* cookie的value可以设置多少个字符:4kb
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
String data = "中文"; //中文必须要进行解码才能保存成功
Cookie cookie = new Cookie("cn",URLEncoder.encode(data, "UTF-8"));
//读取Cookie时用URLDecoder.decode(c.getValue(), "UTF-8");进行解码
// * 修改cookie保存路径
cookie.setPath("/day07/");
//设置有效时间
cookie.setMaxAge(60*60); // 如果设置的值为零,则进行删除操作,单位是秒
//发送数据
response.addCookie(cookie);
}
二、Session
session的默认有效时间是30分钟,可以在tomcat的conf/web.xml中进行修改
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
HttpSession session = request.getSession(); //没有创建,有返回
System.out.println(session.isNew());
}
看下面的响应(Response)中有个Set-Cookie,创建session后会有个ID,服务器会将这个ID以Cookie响应到浏览器,浏览器关闭时这个Cookie也就消失。可以对这个cookie进行持久化操作