1.会话技术
从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,称为一次会话。会 话技术就是记录这次会话中客户端态的状与数据的。
会话技术分为Cookie和Session:
Cookie:数据存储在客户端本地,减少服务器端的存储的压力,安全性不好,客户端 可以清除cookie
Session:将数据存储到服务器端,安全性相对好,增加服务器的压力
a.服务器端怎样将一个Cookie发送到客户端(Cookie中不能存储中文)
//创建cookiie 对象 Cookie cookie = new Cookie("goods", "iphone"); //设置cookie在客户端的持久时间 cookie.setMaxAge(60*2); //设置cookie 携带路径 cookie.setPath("/WEB06"); //发送cookiie给客户端 response.addCookie(cookie);
关于携带路径:
1.如果不设置携带路径,那么该cookie信息会在访问产生该cookie的 web资源所在的路径都携带cookie信息
示例:
cookie.setPath("/WEB16");
代表访问WEB16应用中的任何资源都携带cookie
cookie.setPath("/WEB16/cookieServlet");
代表访问WEB16中的cookieServlet时才携带cookie信息
b.服务器端怎样接受客户端携带的Cookie
//获取客户端的cookie Cookie [] cookies = request.getCookies(); //判断集合是否为空 if(cookies!=null){ for(Cookie cookie:cookies){ //获得cookie名 String cname = cookie.getName(); if(cname.equals("goods")){ //获取cookiev值 System.out.println(cookie.getValue()); } } }
c.删除cookie
如果想删除客户端的已经存储的cookie信息,那么就使用同名同路径的持久化时间为0的cookie进行覆盖即可
//创建cookie名字和要删除的cookie一致 Cookie cookie = new Cookie("goods", "iphone"); //设置cookie持久化时间为0 cookie.setMaxAge(0); //设置携带路径 cookie.setPath("/WEB06"); //发送Cookie覆盖之前的cookie response.addCookie(cookie);