cookie和session
会话技术:从请求到响应结束的一个过程;常用的会话技术,Cookie(将数据保存到客户端浏览器)和session(将数据保存到服务器端)
为什么使用会话技术?
私有的使用数据,购物信息保存在会话技术中
使用会话技术:
【cookie技术的使用:】
1、向浏览器保存数据;
- HttpServletResponse有一个方法
- void addCookies(Cookie cookie);/2.获得浏览器带过来的Cookie;
2、HttpServletRequest有一个方法:
- cookie[] getCookies();/
- 3、创建一个cookie对象
- Cookie(String name,String value);
response.setContentType("text/html;charset="UTF-8"); Integer count = this.getServletContext().getAttribute("xount"); / *获得浏览器带过来的所有Cookie信息,从数组中查找有没有指定名称的Cookie *判断用户是不是第一次登陆(从数组中没有找到指定名称的cookie) *如果是第一次表示欢迎,记录当前访问的时间存入到cookie中 如果不是第一次显示欢迎,显示上一次登陆的时间,并记录当前访问的时间存到cookie中 */ //获得浏览器带过来的所有cookie信息;一个浏览器端能保存的cookie数量是有限的(大约200个左右) Cookie[] cookie = request.getCookies(); //从数组中查找指定名称的cooKie Cookie cookie = CookieUtils.findCookies(cookies,"lastVisit"); //判断第一次访问 if(cookie == null){ //第一次访问 response.getWriter().println("您是第"+count+"位访客!"); }else{ //不是第一次访问 respon.getWriter().println("您是第"+count+"位访客"); } //创建一个cookie对象: Cookie c = new Cookie("lastVist",""+System.currentTimeMillis()); //保存到浏览器端 response.addCookie(c);
Cookie的常用API
getName();
getValue();
setDomain(String domain); —设置cookie的有效域名
setPath(String path); —设置cookie的有效路径
setMaxAge(int maxAge); —-设置cookie的有效时间Cookie的分类
会话级别的cookie::默认的cookie,关闭浏览器cookie就会销毁
持久级别的cookie: 可以设置cookie的有效时间,那么关闭浏览器cookie还会保存,可手动销毁持久的cookie,手动销毁最大有效时间:shsetMaxAge(0) ==前提是有效路径必须一致;【cookie的注意事项】
一个浏览器端能保存的cookie数量是有限的(大约200个左右)
一个web站点做多能设置20个cookie
一个cookie的大小不超过4kb
JSESSION_ID是一个会话级别的cookie
“`