javaee就业班帖子笔记web11cookie和session篇_第1页
javaee就业班帖子笔记web11cookie和session篇_第2页
javaee就业班帖子笔记web11cookie和session篇_第3页
javaee就业班帖子笔记web11cookie和session篇_第4页
javaee就业班帖子笔记web11cookie和session篇_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、传智播客专注于 Java、.Net 和 Php、网页平面设计工程师的培训第 11 章 WEB11-Cookie&Session 篇1.1案例一:用户的上次登陆时间.1.1.1 需求:1.1.2 分析: 技术分析:【会话技术】【Cookie 技术的使用】【JSP 的简单概述】 什么是 JSP:Java Server Pages(Java 服务器端页面).JSP = Java 代码 + HTML 的元素 + JSP 内置东西 SUN 公司为什么推出 JSP页开发技术:* SUN 公司推出的 Servlet 技术进行页开发.发现 Servlet 自身有不足没有办法与 ASP,PHP 技

2、术竞争.想在页中输出表单.在Servlet 中获得 PrintWriter out = response.getWriter();* out.println(“”); 向浏览器保存数据: HttpServletResponse 有一个:* void addCookie(Cookie cookie); 获得浏览器带过来的 Cookie: HttpServletRequest 有一个:* Cookie getCookies(); 创建一个 Cookie 对象:* Cookie(String name,String value); 什么是会话:用户打开一个浏览器页面,的很多页面,完成后将浏览器关闭的

3、过程称为是一次会话. 常见的会话技术:* Cookie :将数据保存到客户端浏览器.* Session :将数据保存到服务器端. 为什么使用会话技术?* 私有的数据,购物数据保会话技术中. 参见图一和图二 使用会话技术:用户登录完成后,显示您是第x 位的用户,您的上次时间是:yyyy-MM-dd.* 如果第一次的话,只显示您是第 x 位用户.* 如果不是第一次的话,显示您是第 x 位的用户,您的上次时间是:yyyy-MM-dd.传智播客专注于 Java、.Net 和 Php、网页平面设计工程师的培训 步骤分析:【步骤一】:准备登陆的案例.【步骤二】:在统计人数的 Servlet

4、中.是否是第一次.【步骤三】:根据是否是第一次显示不同的,同时将当前的时候保存到 Cookie 中.1.1.3 代码实现public class CountServlet extends HttpServlet private static final long serialVersionUID = 1L;protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throws ServletException, IOException response.setContentType(text/html;ch

5、arset=UTF-8);Integer count = (Integer) this.getServletContext().getAttribute(count);/response.getWriter().println(现在被的次数为:+count+);/* 获得浏览器中带过来的所有的 Cookie,从数组中查找有没有指定名称的 Cookie* 用户是否是第一次:(从数组中没有找到指定名称的 Cookie)* * 如果是第一次:显示欢迎,当前的时间存入到 Cookie 中.* * 如果不是第一次:显示欢迎,上一次时间,同时当前的时间存入到 Cookie 中。*/ 获得浏览器带过来的所有

6、的 Cookie:Cookie cookies = request.getCookies();/ 从数组中查找指定名称的 Cookie:Cookie cookie = CookieUtils.findCookie(cookies, lastVisit);/是否是第一次:if(cookie = null)/ 第一次response.getWriter().println(您是第+count+位访客!);else/ 不是第一次* out.println(“”);* SUN 又推出了动态的网页开发技术就是JSP. JSP 的执行过程:* JSP 会被翻译成 Servlet,编译成 class 进行执

7、行的. JSP 的嵌入 Java 代码:JSP 的脚本元素* :翻译成类中的成员部分. 定义变量,定义,定义类.Servlet 是线程不安全的,尽量少在类中定义成员属性!* :翻译成类的service内部的内容. 定义变量,定义类,直接写代码块.* :翻译成service内部的 out.print();传智播客专注于 Java、.Net 和 Php、网页平面设计工程师的培训1.1.4 总结: Cookie 的常用API:1.2案例二:用户的商品浏览:1.2.1 需求:在购物上浏览商品的,商家为了留住用户,记住之前浏览的一些商品. Cookie 的常用的 API:* getName

8、();* getValue();* setDomain(String domain); - 设置Cookie 的有效域名. /* setPath(String path); - 设置Cookie 的有效路径.* setMaxAge(int maxAge); - 设置 Cookie 的有效时间. Cookie 的有关:* 会话级别的 Cookie:默认的 Cookie.关闭浏览器 Cookie 就会销毁.* 持久级别的Cookie:可以设置Cookie 的有效时间.那么关闭浏览器Cookie 还会. 手动销毁持久性Cookie.setMaxAge(0)-前提是有效路径必须一致.Long l =

9、Long.parseLong(cookie.getValue(); Date d = new Date(l);response.getWriter().println(您是第+count+位访客! 上次时间是:+d.toLocaleString();/ 创建一个 Cookie 对象:Cookie c = new Cookie(lastVisit,+System.currentTimeMillis();/ 保存到浏览器端:response.addCookie(c);protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponser

10、esponse)throws ServletException, IOException doGet(request, response);传智播客专注于 Java、.Net 和 Php、网页平面设计工程师的培训1.2.2 分析: 技术分析: 步骤分析:【步骤一】:在登录完成后,显示商品列表页面.【步骤二】:为商品列表页面做一些准备工作.【步骤三】:点击某个商品,将商品 ID 传递一个 Servlet.【步骤四】:在 Servlet 中:是否是第一次浏览商品【步骤五】:如果是第一次:将商品的 ID 存入到 Cookie 中即可.传智播客专注于 Java、.Net 和

11、 Php、网页平面设计工程师的培训【步骤六】:如果不是第一次:该商品是否已经浏览了.【步骤七】:如果浏览器过.删除之前元素,将该元素添加到最前面.【步骤八】:如果没有浏览过该商品.最大长度,没有超过限制,直接加到最前,如果已经超过限制,删除最后一个,将其到最前.1.2.3 代码实现:public class ProductServlet extends HttpServlet private static final long serialVersionUID = 1L;protectedvoiddoGet(HttpServletRequestrequest,HttpServletRespon

12、seresponse)throws ServletException, IOException /* * 接收商品id.* * 接收从客户端带过来的所有Cookie.* * 从Cookie 的数组中查找指定名称的 Cookie.* *是否是第一次浏览商品:* * 第一次浏览商品* * 直接将商品的 ID 存入到Cookie.* * 将 Cookie 回写到浏览器.* * 不是第一次浏览商品 1-2* *当前的商品是否已经在浏览.* * 已经: 2-1 移除当前元素,将当前元素添加到最开始.* * 没在浏览中: * *是否已经超过了最大长度:如果超过 2-1-3:删除最后一个 将当前元素添加到最

13、前面.* * 没有超过:直接将该元素添加到最前位置.* * 将转换的 id 的值存入到 Cookie,回写浏览器.*/ 接收 id:String id = request.getParameter(id);/ 获得所有的 Cookie 的:Cookie cookies = request.getCookies();/是否是第一次:Cookie cookie = CookieUtils.findCookie(cookies, history); if(cookie = null)/ 第一次浏览商品Cookie c = new Cookie(history,id); c.setPath(/day1

14、1); c.setMaxAge(60*60*24*7); response.addCookie(c);else/ 不是第一次浏览/选择的商品是否已经在浏览中 2-1传智播客专注于 Java、.Net 和 Php、网页平面设计工程师的培训传智播客专注于 Java、.Net 和 Php、网页平面设计工程师的培训1.2.4 总结: 清空浏览:1.3案例三:将商品添加到购物车:1.3.1 需求:传智播客专注于 Java、.Net 和 Php、网页平面设计工程师的培训1.3.2 分析: 技术分析:【Session 的概述】 步骤分析:【步骤一】:点击加入购物车提交到 Servlet【步骤二】:在 Servlet 将购物的商品存入到 Session 中.【步骤三】:可以创建一个 Map 集合用于保存购物是数量.Map 的 key 可以是商品的名称,Map 的 value传智播客专注于 Java、.Net 和 Php、网页平面设计工程师的培训【步骤四】:在购物车页面中显示 Map 中的数据就可以.1.3.3代码实现:1.3.4总结: Session 是域对象:传智播客专注于 Java、.Net 和 Php、网页平面设计工程师的培训1.4案例四:进行验证码的校验1.4.1 需求:传智播客专注于 Java、.Net 和 Php、网页

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论