网上商城 - 小嫣蕊~

popo669 2021-10-31 原文


网上商城


网上商城客户端首页: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.多表查询,查询显示之后,单击订单详情,获取所有订单项,并且弹窗显示

 

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

posted on
2019-03-08 16:55 
小嫣蕊~ 
阅读(133
评论(0
编辑 
收藏 
举报

 

版权声明:本文为popo669原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/popo669/p/10496843.html

网上商城 - 小嫣蕊~的更多相关文章

  1. Team Viewer设置固定密码远程访问控制,不使用随机密码 – 国王陛下万万岁

    Team Viewer设置固定密码远程访问控制,不使用随机密码 在使用TeamViewer远程访问的时候,默认 […]...

  2. 【知识强化】第二章 进程管理 2.2 处理机调度 – 绿茵好莱坞

    【知识强化】第二章 进程管理 2.2 处理机调度 在这个小节中我们会学习处理机调度的基本概念 和几个调度的层次 […]...

  3. Eclipse简介和使用技巧快捷方式 – 海南一哥

    Eclipse简介和使用技巧快捷方式 1Eclipse简介和使用 IDE(Integrated Develop […]...

  4. JAVA WEB 学生教务 / 成绩管理系统

    JAVA WEB 学生教务 / 成绩管理系统 开发环境 功能需求分析 业务流程分析 数据分析 用户实体类 项目 […]...

  5. XML基础学习1 – 逍遥子

    XML基础学习1        最近读了一本书《XML基础教程–入门、DOM、Ajax与Flash […]...

  6. 一个java项目的打包与发布 – 心笑峰

    一个java项目的打包与发布 自己整了个java项目,里面实现了一些数据库访问、配置文件读取、日志记录的功能, […]...

  7. html打造动画【系列2】- 可爱的蛙蛙表情 – 狙击手+

    html打造动画【系列2】- 可爱的蛙蛙表情 可爱的小青蛙,一定想不到 先感受一下全部表情包: 在开始之前先安 […]...

  8. 嵌入式学习笔记(综合提高篇 第一章) — 利用串口点亮/关闭LED灯

    1      前言     从踏入嵌入式行业到现在已经过去了4年多,参与开发过的产品不少,有交换机、光端机以及 […]...

随机推荐

  1. 前端开发常用到的插件

    1. lazyload 图片懒加载 https://www.appelsiini.net/projects/lazyload/2.textillate.jscss3动画 文字进入的特效;3.fullPage.js //jQu...

  2. win10 mac地址修改器

    NoVirus Thanks MAC Address Changer NoVirus Thanks MAC A […]...

  3. Hyperledger Fabric、Corda和以太坊对比

       Hyperledger Fabric 、 Corda 和以太坊的对比 三种不同的框架 我们从 Hyper […]...

  4. 各种浏览器内核介绍

      转载▼ 各种浏览器内核介绍 浏览器是我们每天几乎都必须使用的软件产品,可是对于自己每天都接触的浏览器,很多 […]...

  5. 最新增值税税率表(2009年版)

    税目 税率 范围 说明 一、销售或进口货物除列举的以外 17%   《中华人民共和国增值税暂行条例》第二条增值 […]...

  6. Python静态方法,其实暗藏玄机

    文章首发于 微信公众号:Python编程时光 这个标题「静态方法其实暗藏玄机」其实只是该文章的一个知识点。或许 […]...

  7. 访问交换机的三种方式

        对于一般的交换机,我们买回来后直接就可以使用了,但如果你想要划分虚网、关闭某个端口什么的,这时你就需要 […]...

  8. 我所熟悉的网站负载均衡技术之硬件篇

    一、DNS轮循   DNS轮循是指将相同的域名解释到不同的IP,随机使用其中某台主机的技术。但其具有明显的缺点 […]...

展开目录

目录导航