新巴巴运动网 项目第一天_第1页
新巴巴运动网 项目第一天_第2页
新巴巴运动网 项目第一天_第3页
新巴巴运动网 项目第一天_第4页
新巴巴运动网 项目第一天_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

新巴巴运动网新巴巴运动网 项目第一天项目第一天 传智传智 上官云上官云 1 课前回顾课前回顾 1 单点登陆 搭建环境 2 去登陆页面 http localhost 8082 login aspx return Url EncodeURLComment window location href 3 提交登陆 1 用户名 密码 ReturnUrl 4 Value login aspx method POST GET 5 加密 6 把用户名保存 Redis Session 共享 1 分析 K V CSESSIONID USER Name V fbb2016 2 SessionProvider SessionProviderImpl 手动实例化 xml 配置时间 60 分钟 3 保存用户名到 Redis 中 7 重定向到之前访问页面 8 页面 登陆 注册 退出 我的订单 分析 页面 动 静 ajax 判断用户是否 登陆 页面 前台系统判断用户是否登陆 ajax 去另外一个系统 返回值被拦截 浏览器 判断程序 单点登陆系统 Ajax 返回值 json jsonp 登陆系统 接收 String callback Spring MappingJacksonValue 保存数据 返回 JSONP 的 数据 mjv setJSONFunction callback return mjv 方法返回值处 ResponseBody MappingJacksonValue 2 今天内容今天内容 主打购物车 1 购物车 2 面向对象设计购物车 3 购物车 非登陆 登陆 4 关闭浏览器还必须在 5 跨电脑或区域购物车还在 6 同款数量追加 同款商品合并 7 排序同学完成 3 面向对象设计购物车面向对象设计购物车 4 加入购物车加入购物车 4 1 设置路径设置路径 4 2 Controller 5 分析购物车分析购物车 Cookie 中 Session 中 Redis 用户名 用户 ID 数据库 非登陆 商品保存 Cookie 里 关闭浏览器还在 七天 一个月 用户清理 Cookie 就没了 登陆 Redis 性能比较好 关闭浏览器 不登陆不在的 登陆就在了 跨区域 永 久保存 5 1 Redis 保存购物车保存购物车 加入购物车 非登陆 登陆 购物车 回显数据到购物车页面 去购物车页面 判断是否登陆 1 从 Request 中取 Cookies 遍 历 Cookie 取出之前的购物车 2 判断 Cookie 中没有购物车 3 有 4 没有 创建购物车 5 追加当前商品到购物车 6 创建 Cookie 把新购物车放进 去 7 保存 Cookie 写回浏览器 1 从 Request 中取 Cookies 遍历 Cookie 取 出之前的购物车 2 判断 Cookie 中没有购物车 3 有 把购物车中商品添加到 Redis 的购物 车中 清理之前 Cookie 4 没有 5 直接添加当前商品到 Redis 中的购物车里 1 从 Request 中取 Cookies 遍 历 Cookie 取出之前的购物车 2 有 购物车数量及 SKUID 3 没有 把购物车装满 跳转到购物车页面 回显购物车内容 登陆 1 从 Request 中取 Cookies 遍历 Cookie 取出 之前的购物车 2 再把购物车保存到 Redis 中 清理 Cookie 3 从 Redis 中取出所有的购物车 把购物车装满 跳转到购物车页面 回显购物车内容 6 购物车购物车 6 1 对象与对象与 JSON 字符串互转字符串互转 6 2 SkuService 入参 SKUID 返回值 Sku 对象 SKu 对象 包括颜色对象 商品对象 商品表 SKU 表 颜色表 保存商品到 REdis 中 从 Redis 中取出购物车 6 3 Controller 6 3 1 未未 优化之前的代码优化之前的代码 package cn itcast core controller import java io StringWriter import java util List import javax servlet http Cookie import javax servlet http HttpServletRequest import javax servlet http HttpServletResponse import org springframework beans factory annotation Autowired import org springframework stereotype Controller import org springframework ui Model import org springframework web bind annotation RequestMapping import com fasterxml jackson annotation JsonInclude Include import com fasterxml jackson databind ObjectMapper import mon utils RequestUtils import mon web Constants import cn itcast core bean BuyerCart import cn itcast core bean BuyerItem import cn itcast core bean product Sku import cn itcast core service product SkuService import cn itcast core service user SessionProvider 购物车 去购物车页面 添加商品到购物车 删除 author lx Controller public class CartController Autowired private SessionProvider sessionProvider 加入购物车 RequestMapping value addCart public String addCart Long skuId Integer amount Model model HttpServletRequest request HttpServletResponse response throws Exception ObjectMapper om new ObjectMapper 不要 NULL 不要转了 om setSerializationInclusion Include NON NULL 声明 BuyerCart buyerCart null 1 从 Request 中取 Cookies Cookie cookies request getCookies if null cookies break 用户是否登陆 String username sessionProvider getAttributeForUsername RequestUtils getCSESSIONID request response if null username if null buyerCart 3 有 把购物车中商品添加到 Redis 的购物车中 skuService insertBuyerCartToRedis buyerCart username 清理之前 Cookie4 Cookie cookie new Cookie Constants BUYER CART null cookie setMaxAge 0 cookie setPath response addCookie cookie 4 没有 5 直接添加当前商品到 Redis 中的购物车里 程序未写 else 3 有 4 没有 创建购物车 判断购物车是否为 null if null buyerCart buyerCart new BuyerCart 5 追加当前商品到购物车 Sku sku new Sku ID sku setId skuId BuyerItem buyerItem new BuyerItem buyerItem setSku sku Amount buyerItem setAmount amount 追加商品到购物车 buyerCart addItem buyerItem 6 创建 Cookie 把新购物车放进去 StringWriter w new StringWriter om writeValue w buyerCart Cookie cookie new Cookie Constants BUYER CART w toString 设置时间 写程序 1 天 cookie setMaxAge 60 60 24 设置路径 cookie setPath 上线后 申请域名 7 保存写回浏览器 response addCookie cookie return redirect toCart Autowired private SkuService skuService 去购物车页面 RequestMapping value toCart public String toCart Model model HttpServletRequest request HttpServletResponse response throws Exception 1 从 Request 中取 Cookies 遍历 Cookie 取出之前的购物车 ObjectMapper om new ObjectMapper 不要 NULL 不要转了 om setSerializationInclusion Include NON NULL 声明 BuyerCart buyerCart null 1 从 Request 中取 Cookies Cookie cookies request getCookies if null cookies break if null buyerCart 2 有 购物车数量及 SKUID 把购物车装满 List items buyerCart getItems for BuyerItem buyerItem items buyerItem setSku skuService selectSkuById buyerItem getSku getId 3 没有 回显购物车内容 model addAttribute buyerCart buyerCart 跳转到购物车页面 return cart 6 3 2 优化之后的代码优化之后的代码 package cn itcast core controller import java io StringWriter import java util List import javax servlet http Cookie import javax servlet http HttpServletRequest import javax servlet http HttpServletResponse import org springframework beans factory annotation Autowired import org springframework stereotype Controller import org springframework ui Model import org springframework web bind annotation RequestMapping import com fasterxml jackson annotation JsonInclude Include import com fasterxml jackson databind ObjectMapper import mon utils RequestUtils import mon web Constants import cn itcast core bean BuyerCart import cn itcast core bean BuyerItem import cn itcast core bean product Sku import cn itcast core service product SkuService import cn itcast core service user SessionProvider 购物车 去购物车页面 添加商品到购物车 删除 author lx Controller public class CartController Autowired private SessionProvider sessionProvider 加入购物车 RequestMapping value addCart public String addCart Long skuId Integer amount Model model HttpServletRequest request HttpServletResponse response throws Exception ObjectMapper om new ObjectMapper 不要 NULL 不要转了 om setSerializationInclusion Include NON NULL 声明 BuyerCart buyerCart null 1 从 Request 中取 Cookies Cookie cookies request getCookies if null cookies break 3 有 4 没有 创建购物车 判断购物车是否为 null if null buyerCart buyerCart new BuyerCart 5 追加当前商品到购物车 Sku sku new Sku ID sku setId skuId BuyerItem buyerItem new BuyerItem buyerItem setSku sku Amount buyerItem setAmount amount 追加商品到购物车 buyerCart addItem buyerItem 用户是否登陆 String username sessionProvider getAttributeForUsername RequestUtils getCSESSIONID request response if null username 3 有 把购物车中商品添加到 Redis 的购物车中 skuService insertBuyerCartToRedis buyerCart username 清理之前 Cookie4 Cookie cookie new Cookie Constants BUYER CART null cookie setMaxAge 0 cookie setPath response addCookie cookie else 6 创建 Cookie 把新购物车放进去 StringWriter w new StringWriter om writeValue w buyerCart Cookie cookie new Cookie Constants BUYER CART w toString 设置时间 写程序 1 天 cookie setMaxAge 60 60 24 设置路径 cookie setPath 上线后 申请域名 7 保存写回浏览器 response addCookie cookie return redirect toCart Autowired private Sk

温馨提示

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

评论

0/150

提交评论