zoukankan      html  css  js  c++  java
  • 网上商城

    网上商城客户端首页:http://localhost:8080

    网上商城后台首页:http://localhost:8080/admin/index.jsp

    网上商城绕过后台首页:http://locallhost:8080/admin/home.jsp

     

    多表操作,将类的对象做为属性是为了体现面向对象的思想,数据库中保存的还是外键ID

     

    注册:

    0.有前端数据验证(为了给客户更好的体验,前端响应时间短)

    1.后台异步验证用户名是否存在

    2.提交之后发送激活邮件给用户,点击链接激活账户

     

    查询相关热门商品与最新商品

    0.商品表里有热门字段和最新字段

     

    商品的类别查询

    1. 放在头部导航栏里

    2. 动态显示商品类别信息

    3. 为了保证所有页面可以用头部导航栏,所以要用异步请求查询

    4. 由于商品类别变化不大,可以将数据存入缓存区,如Redis里面

     

    商品类别子商品列表

    1. 根据商品类别ID查询所有子商品,并分页显示出来

     

    单个商品的详细信息

    1. 根据商品ID查询

     

    在商品页返回列表页时,能查看历史浏览记录

    1. 利用cookie技术将商品ID拼接保存(也可以用Redis)

    2. 然后在历史记录里查询商品

    3. 注意:cookie里面字符串的拼接操作;如果刚开始商品ID排列为3-2-1;

    那么再次浏览1后:1-3-2;再浏览8为:8-1-3-2

     

    Servlet的抽离

    1. 将同一个对象的不同操作抽离成同一个servlet

    2. 创建映射,根据不同的方法名找不同的方法执行

     

    购物车

    1. 购物车包含购物项;购物项包含商品

    2. 添加购物项到购物车时用重定向,防止转发刷新时总计重复的叠加

    3. 难点在于价钱的逻辑计算

    4. 要判断购物车是否有该购物项,有就加数量,没有直接加该购物项

    5. 购物车的单独删除与清空购物车操作

    6. 购物车里的数据不用保存到数据库

     

    订单提交

    1. 用户没有登录不能提交订单

    2. 订单信息要保存于数据库

    3. 难点在于事务的处理,因为要将订单和订单项数据同时传入数据库才行

    4. 订单包含订单项;订单项包含商品信息

    5. 订单项与购物项数据一样,但是意义不同

    在将订单加入数据库时遇到的问题

    java.sql.SQLException: Data truncation: Incorrect datetime value: '' for column 'ordertime' at row 1 Query: insert into orders values(?,?,?,?,?,?,?,?) Parameters: [30c33bd4-3809-4140-8db6-553fa8546742, Mon Aug 20 22:31:18 CST 2018, 9287.0, 0, null, null, null, dffd2494-4b9b-4996-8025-90b5b29d161d]

    这是mysq_JDBC驱动包版本引起的,将其引用最新版即可解决

     

    支付平台

    0.选择三方平台提供的接口进行付款

     

    获取我的订单

    0.先根据用户ID获取用户的订单

    1.再根据订单ID获取订单项

    2.注意:在查询订单项时,因为订单项与商品是1对1的关系,所以可以多表查询,所以查询返回的不能

    是单表的集合,所以用List<Map<String,Object>>接收

    3.要避免加入分页时的数据传输错误

     

    关于权限过滤器的使用

    0.可以创建一个文件夹,将需要过滤的文件放到里面,这样只有满足过滤器里面的条件,才能访问相应的

    文件;如:用户只有登录才能访问我的订单功能以及提交订单功能

     

    用户退出

    0.从session里删除用户

    1.从cookie里删除用户,不然勾选了自动登录会退出后还显示用户名

     

    后台管理系统

    0.注意:登录页如果cookie保存有用户数据,会自动填充,要避免用户接触到后台,更要注重后台的

    安全性

     

    异步获取商品分类信息

    0.将 list 对象转为 json 对象

     

    添加商品操作

    0.注意:因为是post提交,所以不能用

    ${pageContext.request.contextPath}/admin?method=findAllCategory 这种格式;

    因为多次提交,注射会使method值为空,所以也不能用隐藏域来写

    1.这里直接转到对应select即可

    2.添加完去到列表页面显示商品

    3.目前遇到的问题:上传图片时,只有绝对路径才能将文件拷到文件夹,相对路径会找不到路径

    4.删除商品,修改商品,查询商品,增加分类,删除分类,修改分类,查询分类

     

    经验之谈:修改代码之后,加注释(功能+名字+时间),后期维护可以通过软件搜索名字找到所有

    自己改过的内容

     

    查询订单

    0.多表查询,查询显示之后,单击订单详情,获取所有订单项,并且弹窗显示

     

    解耦:(面向接口编程):使用工厂模式+反射+配置文件

  • 相关阅读:
    [android] 帧布局
    [android] 表格布局和绝对布局
    使用LVS实现负载均衡原理及安装配置详解
    学习Docker之Dockerfile的命令
    使用docker-compose部署nginx
    CentOS Bash 命令补全增强软件包 bash-completion
    “三次握手,四次挥手”你真的懂吗?
    0777 0的意思
    linux文件或目录权限修改后如何恢复(备份了权限就能恢复)
    centos7进入单用户模式
  • 原文地址:https://www.cnblogs.com/popo669/p/10496843.html
Copyright © 2011-2022 走看看