欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    day08sessioncookie笔记Word格式文档下载.docx

    • 资源ID:6301241       资源大小:23.77KB        全文页数:21页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    day08sessioncookie笔记Word格式文档下载.docx

    1、在设置Cookie的时候,不仅仅可以通过路径去设置有效的Cookie,同时还可以通过Cookie中的setDomain方法设置Cookie存在的有效域名。如果设置的Cookie的有效域名和当前网站不符,我们把这个Cookie称为第三方Cookie,一般浏览器都会阻止第三方Cookie的保存。1.4、删除Cookie把Cookie有效时间设置成0,那么在浏览器退出的时候,Cookie会自动删除。并且在设置的时候,或把Cookie的key对应的value值也设置“”在情况Cookie的时候,需要保证情况Cookie时设置的路径和保存时设置的相同1.5、Cookie案例(商品浏览记录)这个练习:1、

    2、创建JSP页面用于显示所有的商品和浏览器记录 title显示所有的商品/headbody a href=/day08/goods?id=1电视机/liid=2洗衣机id=3笔记本id=4手机id=5空调h2/day08/clear2清空历史记录您曾经浏览器过的商品是0 ) /把用户曾经浏览过的商品显示在页面上 for( int i=0;i /body/html2、创建Servlet程序用于获取用户浏览商品的信息,并且给客户端写Cookie,保存用户浏览的商品记录/* * 处理用户浏览器商品的记录信息 */public class GoodsServlet extends HttpServlet

    3、 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException /用户点击商品,就会访问到当前这个Servlet程序 String id = request.getParameter(id /获取Cookie,如果用户是第一次浏览器商品, /就没有和商品对应的Cookie信息,如果用户不是第一次浏览器商品,那么就会携带者Cookie过来 Cookie cookies = request.getCookies(); Cookie co

    4、okie = findCookie(cookies, /判断有没有和商品相关的Cookie if( cookie = null ) cookie = new Cookie(,id); else /获取原来Cookie的值 String old_id = cookie.getValue(); /判断获取的Cookie中的value值是否已经包含正在浏览器商品的id信息 if( !old_id.contains(id) ) cookie.setValue(old_id+id); /保存Cookie cookie.setPath(/ cookie.setMaxAge(60*60*24); respo

    5、nse.addCookie(cookie); /重定向到显示所有商品的页面 response.sendRedirect(/day08/all.jsp private Cookie findCookie( Cookie cookies , String key ) /判断有没有Cookie对象 if( cookies=null ) return null; for( Cookie c : if( c.getName().equals(key) ) /获取都和商品记录相关的Cookie信息 return c; / 虽然用户带着Cookie过来,但不是和商品相关的Cookie return null

    6、; public void doPost(HttpServletRequest request, HttpServletResponse response) doGet(request, response);3、清空历史记录 * 清空Cookiepublic class CookieServlet2 extends HttpServlet /直接情况 Cookie c = new Cookie( /设置时间 c.setMaxAge(-1); /设置路径 c.setPath( /写给客户端 response.addCookie(c);2、Session原理和案例2.1、Session原理分析Se

    7、ssion:会话技术,从客户端打开浏览器访问服务器,到最后客户端关闭浏览器,整个过程称为一次会话。在这个会话的过程中,服务器会针对每个客户端创建一个和客户端相关的唯一的临时容器,这个容器用于保存当前客户的所有信息。并且在给客户端响应数据的时候,会给客户端回送一个唯一标识当前客户端相关的临时容器的id,在客户端下次访问服务器的时候,会携带这个id信息,在服务器端就可以找到和客户端相关的临时戎, 继续使用这个临时容器。如果获取这个Session对象,为每个客户端服务:可以通过Request对象获取和 当前客户端相关的唯一Session对象。 * 演示Session对象 * * 在Request对象

    8、中getSession方法有2个 * getSession() 在第一次调用的时候,如果服务器端没有针对当前这个客户端创建Session对象,那么调用 * 这个方法的时候,服务器会自动创建一个Session对象,并且和当前这个客户端对应起来。 * 如果真的这个客户端已经有一个Session对象存在,那么在getSession方法的时候,就会返回这个已经存在的Session对象 * getSession(boolean boo) * 在调用可以传递boolean值的getSession方法的时候,如果传递的false,这时只会去获取已经存在的Session * 如果根本就没有Session对象这

    9、时,返回的就是null * 如果传递的是true,获取Session对象的时候,如果没有Session就会创建,如果有,返回原始Session对象 * 服务器在获取和某个客户端相关的Session对象的时候,其实需要客户端给服务器发送一个Cookie,这个Cookie中必须有 * JSESSIONID=03825AE783B680E8B31925E6AEF24B22的数据 。在服务器端我们调用getSession的时候, * 服务器内部就会根据JSESSIONID获取和客户端对应的唯一的Session对象,如果客户端没有携带JSESSIONID,那么 * 服务器就会为这个客户端创建一个新的Se

    10、ssion对象,然后给客户端回送一个Cookie,在Cookie中添加了JSESSIONID信息 * * 每个一个Session对象它其实针对的不是一个用户,而是真的的用户使用的浏览器,只要打开浏览器访问服务器,需要使用Session的时候, * 服务器就会根据当前用户的这个浏览器创建一个唯一的Session对象。如果用户使用多个浏览器访问同一个服务器, * 服务器会根据不同的浏览器创建出不同的Session对象。 * Session对象是基于浏览器的,只要用户不关闭浏览器,那么针对这个浏览器的Session在服务器端就会一直存在, * 不管用访问当前这个项目的那个程序,都可以去使用针对这个浏

    11、览器的Session对象。 * 一般我们使用Session主要保存和用户当前访问某个网站的一系列的操作信息。 * 我们一般使用Session来保存用打开浏览器开发访问网站的一系列的操作, * 然后在用户最后需要显示所有操作的时候,把Session中的所有数据取出即可 * 使用同一个Session对象,在多个servlet之间完成数据的共享public class SessionServlet1 extends HttpServlet /获取Session对象 HttpSession session = request.getSession(); String ip = request.getR

    12、emoteAddr(); /使用Session完成数据的共享 session.setAttribute(addr, 上海传智播客+ip);2.2、思考:关闭浏览器后再次访问能获取到Session吗Session是如何工作的?当用户第一次访问某个Servlet程序的时候,在Servlet中我们调用request.getSession(),那么会得到和当前这个浏览器对应的Session对象,在使用response给客户端响应数据的时候,会把当前这个Session对象的jsessionid以Cookie的形式发送给客户端,当客户端再次访问服务器中的资源时,就会携带这个jsessionid数据,以Co

    13、okie的形式提交给服务器,在服务器中我们就可以根据用户携带的jsessionid获取和客户端浏览器对应的Session对象,为用户继续服务。浏览器关闭后再次访问服务器,无法获取到前一次的Session对象。因为我们在Servlet中获取到Session之后,如果没有认为的去书写Cookie对象,这时服务器会自动的给客户端回写Cookie,Cookie中保存的是当前针对这个浏览器的Session对象的jsessionid数据,而这个Cookie恰好是一个会话级别的Cookie,当用户关闭了浏览器之后,这个会话级别的Cookie就会自动的消失,当用再次访问服务器的时候,并不会携带上次的会话Coo

    14、kie一次到服务器端,所以在服务器端拿不到的jsessionid信息,就无法获取和当前浏览器对应的那个Session对象。虽然在服务器无法拿到上次的Session对象,但是这个Sessoin对象在服务器端依然存在。但是有没有拿不到jsessionid,所以无法获取上次的Session对象。要保证浏览器关闭之后还可以获取到上次的Session对象, 这时就需要把Cookie持久化。就需要在Servlet中手动的在Cookie中保存jsessionid的信息 /把这个Session的id持久化 ,创建Cookie对象JSESSIONID,session.getId(); /持久化,设置时间 c.s

    15、etMaxAge(60); /添加Cookie2.3、Session案例(购物车)网上购物的过程:首先我们会访问某个电商网站,这时会浏览到所有的商品,浏览到自己感兴趣的商品时,我们一般点击加入购物车,加入购物车成功之后,还可以继续购物。继续购物的时候,即就是用户在继续选择新的商品,当用户选择到了商品,点击加入购物车之后,会把当前的这个商品和以前的商品加入到同一个购物车中。实现购物把商品加入到购物车中:1、需要一个页面显示所有的商品显示所有的商品,并显示加入购物车的功能/day08/buy?/day08/cart.jsp查看购物车2、书写用户点击某个商品,加入到购物车中的Servlet程序/*

    16、* 把用户选择的商品加入到购物车中 * 购物车的实现原理: * 首先在Servlet中需要创建一个Map集合,用户保存用户选择的商品,以及商品的数量 * 在这个HashMap集合中保存用户选择的所有商品,以及商品的数量 * * 最后需要把这个Map集合保存到Session中,用户下次再点击商品的时候,我们就可以在Servlet中获取Session对象 * 然后获取Map集合中,从Map集合中获取有没有用户正在点击的商品,如果有,就在原有的数量上+1, * 如果没有,说明用户是第一次选择这个商品。把这个商品加入的Map集合中,数量就为1 * author 屈博 * 2014年12月19日 下午2

    17、:46:44public class BuyServlet extends HttpServlet /假设一个保存商品的容器 String goods = /获取用户选择的商品的id信息 /判断id if( id ! int number = Integer.parseInt(id); /获取Session对象 HttpSession session = request.getSession(); /从Session中获取Map集合 Map map = (Map) session.getAttribute(map /如果取出map为null就说明用户是第一次访问商品 if( map = null ) map = new HashMap(); map.put(goodsnumber, 1); /* * 说明从Session中一定获取到Map集合,也说明用户不是第一次购买商品 * 1、根据id,判断当前用户选择的商品在map集合中是否存在,如果存在对应的value值+1 * 2、如果不存在,说明用户不是第一次购买商品,但是当前这个商品是第一次购买, * 就把这个商品的信息和数量保存到map中 */ if( !map.containsKey(goodsnumber) ) /判断成立说明用户购买这个商品是第一次


    注意事项

    本文(day08sessioncookie笔记Word格式文档下载.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开