电子商品系统
2022-05-17 20:59:31 0 举报
AI智能生成
电子商品系统
作者其他创作
大纲/内容
2.后台模块
商品类别管理
1.创建数据库及表结构和相应的数据库操作
1.创建表结构
-- 商品类别表
create table T_MCTYPE
(
TYPEID NUMBER primary key,
TYPENAME VARCHAR2(50),
FATHERID NUMBER
);
2.创建序列
--商品类别序列
create sequence seq_t_mctype
start with 20
increment by 1;
3.添加测试数据
--- 商品类别表数据
insert into T_MCTYPE (TYPEID, TYPENAME, FATHERID)
values (1, '计算机', 0);
insert into T_MCTYPE (TYPEID, TYPENAME, FATHERID)
values (2, '台式机', 1);
insert into T_MCTYPE (TYPEID, TYPENAME, FATHERID)
values (3, '笔记本', 1);
insert into T_MCTYPE (TYPEID, TYPENAME, FATHERID)
values (4, '掌上电脑', 1);
insert into T_MCTYPE (TYPEID, TYPENAME, FATHERID)
values (5, '数码产品', 0);
insert into T_MCTYPE (TYPEID, TYPENAME, FATHERID)
values (6, '数码照相机', 5);
insert into T_MCTYPE (TYPEID, TYPENAME, FATHERID)
values (7, '数码摄像机', 5);
commit;
2.根据表结构创建对应的JavaBean
McTypeBean.java
3.实现dao层
接口:定义商品类别管理的方法
查询
查询单个记录
分支主题
查询多个记录
分支主题
添加
分支主题
修改
分支主题
删除
分支主题
实现类:实现定义的方法
McTypeDaoImpl.java
4.实现service层
接口
与dao层一致
实现类
实现接口,调用dao层中实现方法
5.创建对应的Servlet,并实现处理方法
1.创建service对象实例
IMcTypeService service = new McTypeServiceImpl();
2.调用service中的方法执行查询操作
List<McTypeBean> list = service.query(null);
3.将查询出的结果保存在作用域中
request.setAttribute("list", list);
4.跳转页面(数据保存在request中,所以使用服务器跳转)
request.getRequestDispatcher("/back/mctype/index.jsp").forward(request, response);
6.在页面中展示查询出的数据
1.导入JSTL库
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
2.使用循环标签及EL获取数据并展示
分支主题
7.将展示页面改成jsp页面(后台管理页面)
1.在back目录下创建后台相关的管理页面
2.将对应html代码,转jsp
main.jsp
top.jsp
left.jsp
index.jsp
right.jsp
注意:将html中body中的代码以及head标签中样式和js拷贝到对应的jsp页面中
3.将相关的图片css,js拷贝到(webContent)根目录下
分支主题
4.给每个jsp页面添加完整路径(绝对URL地址)
http://localhost:8888/hdshop/css/style.css
分支主题
8.商品类别管理
1.查询
部分思路
分支主题
1.找到left.jsp页面修改菜单的链接
分支主题
2.去掉right.jsp不相关的数据
3.修改Servlet中的跳转地址
分支主题
4.在right.jsp页面中导入jstl库
分支主题
5.使用jstl和EL获取数据并展示
分支主题
6.调整展示界面的显示数据(以树状形式显示)
1.将所有的大类先显示出来(判断fatherid为0显示)
分支主题
2.在所属的大类下显示所属的小类(判断fatherid 是否等于当前类别的typeid)
在判断标签中添加增强型循环,判断fatherid
分支主题
3.将小类的类别名称居中显示
分支主题
2.添加
添加思路
分支主题
1.创建添加页面mctypeadd.jsp,并将设置动态绝对URL地址
分支主题
2.完成设计添加页面
1.将form.html中的代码拷贝到mctypaadd.jsp页面中,并将不需要的数据给删除
2.添加表单标签
分支主题
3.添加父类名称的下拉框
1.将tab.html中的代码拷贝到mctypeadd.jsp页面中
分支主题
2.将样式拷贝到mctypeadd.jsp页面中
分支主题
4.修改展示页面中的添加按钮的链接
分支主题
5.修改Servlet的代码,执行查询所有大类信息
分支主题
6.在添加页面中将作用域中的数据显示出来
1.导入jstl库
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
2.使用增强型循环遍历集合(EL表达式获取作用域中的集合)
分支主题
3.添加功能实现
1.修改确认保存按钮的提交地址
分支主题
2.在Servlet中判断task任务是不是add命令
分支主题
3.获取表单提交的信息
获取fatherid是字符串的,需要将其转化为int类型
分支主题
获取表单提交的数据
分支主题
4.调用service中的添加方法执行添加操作
//执行添加操作
int i = service.add(mt);
5.根据执行的结果响应客户端
1.添加成功
查询所有商品类别信息
query(request, response, service);
跳转页面
分支主题
2.添加失败
分支主题
6.处理乱码,添加一个过滤器
分支主题
分支主题
常见问题
1.404错误:请求的URL地址有问题
1.检查请求的URL地址是否正确
2.检查你所请求的资源(jsp,html,servlet)有没有部署到项目中
2.服务器错误(启动服务器失败)
1.Servlet对外映射的地址有问题(例如:两个Servlet公用一个映射地址)
分支主题
2.映射地址不符合格式
分支主题
3.SQL异常
1.表名写错了
分支主题
2.序列获取不到序列的下一个数字
分支主题
3.序列名称写错,写了一个不存在的序列
分支主题
4.插入语句中的values写错了
分支主题
5.执行basedao中的方法传入参数缺失
分支主题
6.当错误提示是“值过多”或“缺少值”
插入语句中字段列表数量与值列表的数量不一致
4.在jsp页面中弹出以下错误提示
分支主题
1.在JavaBean中没有这个名称的成员属性,也就是成员属性名称写错了
2.没有获取到对应的对象的,页就获取不到该对象中的属性
1.在作用域中没有保存该对象的数据
3.EL表达式获取参数失败,EL表达式格式有错误(没有明显的提示)
命名不规范
在花括号后多了空格
3.修改
1.复制一个类别修改页面(从mctypeadd.jsp复制过来),并修改名称为mctypeupdate.jsp
2.修改mctypeupdate.jsp页面中的表单信息
分支主题
3.修改right.jsp页面中的修改按钮的链接地址
分支主题
4.修改Servlet中的处理方法
1.判断task命令是否是queryForUpdate
分支主题
2.如果是该命令,则获取请求中的参数
分支主题
3.根据参数获取对应要修改的数据的信息
1.获取要修改的类别信息
2.获取所有大类的信息
分支主题
4.将获取的数据保存到作用域中
分支主题
5.跳转页面(mctypeupdate.jsp)
分支主题
6.如果获取数据失败的话,则响应客户端
分支主题
7.控制下拉选项选中当前要修改的类别所属的大类
分支主题
5.提交数据保存到数据库
1.确认提交表单的地址
分支主题
2.在Servlet中判断task命令是否是update
分支主题
3.获取表单提交过来的数据,并将其转化为int
分支主题
4.将获取的数据保存到JavaBean中
分支主题
5.调用service中方法执行修改操作,并处理响应
分支主题
4.删除
1.修改删除按钮的链接(JS代码)
分支主题
2.添加del(id)js代码,删除方法
分支主题
3.修改Servletd的处理方法
分支主题
4.修改删除语句,删除大类的同时删除小类(删除小类的时候不能删除大类)
分支主题
商品信息管理
查询
商品所有数据展示
1.在数据库中操作基本数据
1.创建表结构
2.创建序列
3。添加测试数据
2.根据表结构创建JavaBean
3.实现dao层
与商品类别管理的一致
4.实现service层
与商品类别管理的一致
5.实现servlet
分支主题
6.创建展示页面mclist.jsp
1.将right.html文件中的代码拷贝到mclist.jsp中
2.导入jstl库
分支主题
3.使用增强型循环获取作用域中的数据并遍历
分支主题
步骤与商品类别管理的查询是一致的
商品信息的分页查询
1.将mclist.jsp中自带的分页栏目去掉
2.将封装好的分页栏目PageBar.jsp,拷贝到工程中
3.在mclist.jsp页面中将PageBar.jsp包含到当前页面中
分支主题
4.将分页的表单拷贝到mclist.jsp页面中,并改变表单提交的地址
分支主题
5.修改Servlet,在Servlet动态获取客户端传递过来的currentPage和pageSize
分支主题
6.获取service对象的实例,调用其中的方法执行分页查询
分支主题
7.修改Servcie,添加一个分页查询的方法,并实现(直接调用dao层中的方法)
8.修改dao层,添加一个分页查询的方法,并实现该方法
public PageModel queryPageModel(McBean mc, int currentPage, int pageSize) {
/**
* querySql 要分页的数据的查询语句 确定分页的结果集(要对哪些数据进行分页显示)
* countSql 统计我们分页的数据的总记录数
* whereSql 查询要分页的数据的结果集的条件
* otherSql 对要分页的数据进行排序
*/
StringBuffer querySql = new StringBuffer(" select * from t_mc where 1=1 ");
StringBuffer countSql = new StringBuffer(" select count(1) from t_mc where 1=1 ");
StringBuffer whereSql = new StringBuffer();
StringBuffer otherSql = new StringBuffer(" order by mmcid asc");
/**
* params 保存的是sql语句中占位符对应的参数
*/
List params = new ArrayList();
/**
* 判断查询条件
*/
if(mc.getMcname()!=null||!"".equals(mc.getMcname())){
//拼接SQL语句,查询的条件
whereSql.append(" and mcname=?");
//对SQL语句中的占位符进行赋值
params.add(mc.getMcname());
}
return super.queryPageModel(querySql, countSql, whereSql, otherSql, McBean.class, currentPage, pageSize, params);
}
9.Servlet中的完整的步骤
分支主题
带条件分页查询
1.在mclist.jsp页面中,添加查询的表单
分支主题
2.在Servlet中获取查询的条件,并将条件保存到JavaBean
分支主题
3.在dao层实现类中将查询的条件给拼接到SQL语句
分支主题
添加
1.创建一个mcadd.jsp页面
mcadd.jsp
2.实现添加页面中加载商品类别的信息
第一种方式
点击添加按钮直接请求McServlet,查询商品类别信息,保存到作用域,跳转页面共享数据
第二种方式
使用ajax实现
1.页面加载完成就像服务器发出请求
分支主题
2.修改Servlet中代码,处理ajax发出的请求
分支主题
dao层的修改
分支主题
3.实现将所属的大类数据加载到下拉菜单中
分支主题
4.实现商品类别数据的加载
1.确定大类选择发生改变触发的事件
分支主题
2.执行事件处理的方法
1.向服务器发出请求,并获取到响应的数据
分支主题
2.将获取到的数据一一取出,并根据数据动态生成下拉选项
分支主题
3.修改Servlet,处理请求
分支主题
3.修改表单的提交方式及制定enctype的属性值为二进制形式提交
分支主题
4.导入文件上传的jar包
4.修改Servlet,处理添加请求
1.普通输入项获取
分支主题
2.文件输入项的获取
分支主题
3.将保存在McBean中的信息添加到数据库中,并返回值做不同的响应
分支主题
4.dao层中修改
分支主题
5.修改mclist.jsp中的图片的显示
分支主题
修改
删除
后台登录功能
1.数据库的设计及相关的操作
1.创建表结构
2.创建序列
3.添加测试数据
2.根据数据表结构创建JavaBean
3.实现Dao层
接口类
实现类
4.实现Service层
接口类
实现类
5.添加Servlet
分支主题
6.新建登录页面back_login.jsp
分支主题
7.后台页面的安全验证
1.创建一个过滤器,并指定过滤拦截的条件
分支主题
2.判断请求是否允许通过,依据:是否登录
分支主题
8.登录成功后,在首页显示登录用户的信息
分支主题
3.前台模块
前台首页界面
1.将首页的相关的样式和图片拷贝到项目中
2.将首页分页的home.jsp和top.jsp以及member.jsp拷贝到项目中
分支主题
3.将home.jsp页面中的数据改成动态数据
1.新建一个index.jsp页面,并修改转发请求
分支主题
2.处理请求
1.获取当前页面(currentPage)和每页显示的记录数(pageSize)
分支主题
2.创建service对象实例,并调用该实例中的方法执行分页查询
分支主题
3.将获取到的分页模型对象保存到作用域中并跳转页面
分支主题
3.将分页栏目PageBar.jsp包含到home.jsp页面中
分支主题
4.在home.jsp页面中修改,展示保存在作用域中的数据
1.导入jstl包
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
2.使用增强型循环展示数据
分支主题
5.待条件查询
分支主题
分支主题
4.在home.jsp页面中显示所有商品类别信息
1.修改Servlet,查询所有商品类别的信息
分支主题
2.在home.jsp页面中展示数据
分支主题
前台登录功能
1.修改请登录的链接地址
分支主题
分支主题
2.创建front_login.jsp页面
front_login.jsp
3.数据库设计及相关的操作
4.根据表结构创建JavaBean
5.实现dao
6.实现service
7.添加UserServlet ,并处理请求
8.验证码的使用
思路
分支主题
1.在登录页面中引入验证码的图片
分支主题
如果点击请求验证码的时候,验证码没有变化,则是因为请求的是缓存中的数据,请求的时候请求的地址要时刻改变
2.在Servlet判断验证码是否正确
分支主题
3.验证码的错误问题
分支主题
是因为response.getOutPutStream()和Response.getWriter()发生冲突了,出现了异常
解决方式
分支主题
注销功能
前台页面
分支主题
后台页面
分支主题
Servlet
分支主题
购物车功能
购物车的设计
分支主题
1.创建一个购物车的对象ShopCar
ShopCar.java
1.往购物车中添加商品
分支主题
2.从购物车中删除商品
分支主题
3.清空购物车
分支主题
4.修改购物车中的商品件数
分支主题
5.获取购物车中的商品总件数
分支主题
6.获取购物车中商品的总类数
分支主题
7.获取购物车中商品的总价格
分支主题
8.获取购物车的对象实例
分支主题
2.实现购物车的功能
1.修改商品首页的购买按钮的请求地址
分支主题
2.创建ShopCarServlet,修改Servlet,接收客户端的请求
分支主题
3、在top.jsp页面中获取购物车中有多少件商品
分支主题
4.实现购物车的界面及相关的功能
1.界面效果实现
1.top.jsp
分支主题
分支主题
2.shopcar.jsp
shopcar.jsp
效果
分支主题
2.展示购物车中的商品
1.导入jstl库
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
2.使用增强型循环展示数据
分支主题
分支主题
3.继续购物
分支主题
4.清空购物车
1.jsp页面修改
分支主题
2.Servlet的修改
分支主题
4.修改商品数量
1.jsp页面修改
分支主题
分支主题
2.Servlet的修改
分支主题
5.删除商品
1,jsp修改
<input onclick="location.href='ShopCarServlet?task=delete&mcid=${mc.mcid}'" type="button" value="删除"/>
2.Servlet的修改
分支主题
3.下订单
1.下订单界面的实现
order.jsp
2.订单表和订单详情表
1.创建表结构并添加测试数据
表之间的关系
分支主题
3.创建JavaBean
OrderBean
分支主题
OrderDetailBean
分支主题
4.实现dao层
订单的管理
接口
IOrderDao.java
实现类
OrderDaoImpl.java
订单详情的管理
接口
IOrderDetailDao.java
实现类
OrderDetailDaoImpl.java
5.实现service层
6.下订单的按钮事件实现
分支主题
确定表单中的输入项的name属性值
7.OrderServlet的实现
1.接收客户端的数据
1.从客户端的表单中获取订单的相关的数据
2.从购物车中获取订单的信息
3.从购物车中获取订单详情的信息
4.从session获取下订单的用户信息
2.将获取的数据保存
3.将数据插入到数据库中
4.情况购物车
5.调换页面
我的订单
1.我的订单展示页面
orderlist.jsp
2.修改会员中心的我的订单的请求地址
分支主题
3.dao层的修改
分支主题
4.Servlet的修改
分支主题
5.根据登录用户的信息来查询该用户下的订单信息
1.修改Servlet
分支主题
2.修改dao层
分支主题
实现总体思路
分支主题
1.通用步骤
1.创建Web项目
可能会遇到的问题:创建工程时没有添加编译环境
分支主题
解决方式
1.重新创建
2.添加编译环境
分支主题
2.将一些相关的工具类及jar包拷贝项目中
拷贝
分支主题
注意:检查数据库连接的配置信息
分支主题
3.对项目进行分包(java类分包及模块分包)
分支主题
0 条评论
下一页