cookie 与session 区别和联系
来源:互联网 发布:阿里云smtp服务器地址 编辑:程序博客网 时间:2024/05/14 21:08
- Cookie
Cookie是客户端技术,程序把每个用户的数据以cookie的形式写给用户各自的浏览器。当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去。这样,web资源处理的就是用户各自的数据了。
- Session
Session是服务器端技术,利用这个技术,服务器在运行时可以为每一个用户的浏览器创建一个其独享的session对象,由于session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把各自的数据放在各自的session中,当用户再去访问服务器中的其它web资源时,其它web资源再从用户各自的session中取出数据为用户服务
当用户第一次访问服务器的时候,这时候在request对象里是没有携带cookie信息的,当访问了服务器之后,服务器就会往客户端写一个唯一标识的cookie,
当用户在第二次访问服务器的时候,这时request对象就会携带上次的cookie信息进行访问服务器,因为cookie有个唯一标识的ID号,所以,之前的信息不丢失。
记录用户上次访问时间的例子:
public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// 判断是否存在cookie 信息Cookie[] cookies = request.getCookies(); // 获得所有cookie信息// 在cookies 数组中查找指定名称cookieCookie lastVisitCookie = findCookie(cookies, "lastvisit");if (lastVisitCookie == null) {// 不存在上次访问时间response.setContentType("text/html;charset=utf-8");response.getWriter().println("欢迎第一次访问XXX网站!");} else {// 存在上次访问时间long lastvisittimes = Long.parseLong(lastVisitCookie.getValue()); // 假设保存时间是毫秒response.setContentType("text/html;charset=utf-8");response.getWriter().println("您上次的访问时间是:" + new Date(lastvisittimes).toLocaleString());}// 向客户端写回最新访问时间Cookie newLastVisitCookie = new Cookie("lastvisit", System.currentTimeMillis()+ "");newLastVisitCookie.setMaxAge(60 * 60);// 保存cookie 1小时newLastVisitCookie.setPath("/");response.addCookie(newLastVisitCookie);}// Cookie格式========== Cookie: name=value,name=value,name=value// 客户端对于同一个网站会存在很多个cookieprivate Cookie findCookie(Cookie[] cookies, String name) {if (cookies == null) {// 不存在任何cookiereturn null;} else {// 存在cookie,查找指定cookiefor (Cookie cookie : cookies) {if (cookie.getName().equals(name)) {// 找到了return cookie;}}// 没有找到return null;}}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}
第一次访问这个servlet 程序的时候,因为reqeust对象中没有携带cookie信息。所以页面显示的是 ----”欢迎第一次访问XXX网站!“
0 0
- Cookie和Session的区别与联系
- cookie与session的区别和联系
- cookie和session机制区别与联系
- Session与Cookie的区别和联系
- Session和Cookie的区别与联系
- Session和Cookie的区别与联系
- session与cookie的区别和联系
- session与cookie的联系和区别
- cookie和session机制区别与联系
- session与cookie的区别和联系?
- session与cookie的区别和联系?
- cookie 与session 区别和联系
- session和cookie的区别与联系
- session与cookie的区别和联系?
- Session和Cookie的区别与联系
- Cookie和Session的联系与区别
- cookie和session的区别与联系
- session与cookie的区别和联系?
- POJ - 3461 Oulipo(KMP模板题)
- Java NIO简单例子
- Android应用内存泄露分析
- 黑马程序员--OC-关键字
- Android UI 模仿界面框架系列第二章:QQ 聊天界面开发和及时通讯功能开发
- cookie 与session 区别和联系
- Mysql Fabric实现学习笔记
- HDU2680 Choose the best route 最短路
- appframework 左侧和右侧点击滑动显示
- 第28天【健身】
- zookeeper c api 常见变量注释
- 双向链表
- 黑马程序员——Java面向对象(三)
- wsdl2objc定制(一)namespace