会话技术:Cookie和Session

一、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进行持久化操作

     
      

转载于:https://my.oschina.net/weslie/blog/471975

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值