基于JavaSSH框架的网上商城设计与实现

资源下载地址:https://download.csdn.net/download/sheziqiong/85798326
资源下载地址:https://download.csdn.net/download/sheziqiong/85798326
目 录
摘 要 i
Abstract ii
1 绪论 1
1.1 系统开发背景 1
1.2 开发意义 1
1.3 国内外现状 1
1.4 本系统设计的内容 2
1.5 设计的步骤 2
2 系统开发技术 2
2.1 动态网页技术JSP 2
2.2 框架SSH 2
2.3 系统开发工具 3
2.4 系统配置过程 3
2.5 配置关键性问题的解决 3
2.5.1 系统性能调整 4
2.5.2 数据库编码 4
2.5.3 页面字符集 4
3 系统分析 4
3.1 可行性分析 4
3.1.1 技术可行性 4
3.1.2 经济可行性 5
3.1.3 可行性分析结论 5
3.2 需求分析 5
3.2.1 开发意图 5
3.2.2 功能需求 5
3.2.3 数据流图 5
3.2.4 数据字典 8
4 系统设计 11
4.1 系统的功能模块设计 11
4.2 系统的工作流程 12
4.3 系统模块详细设计 14
5 数据库设计 20
5.1 数据库概念设计 20
5.1.1 实体属性的定义 20
5.2 数据库逻辑设计 22
6 系统实现 25
6.1 系统主页面 25
6.2 非登录用户操作 25
6.2.1 用户注册 25
6.2.2 用户登录 26
6.2.3 找回密码 27
6.2.4 查看商品信息 28
6.2.5 搜索商品 29
6.3 登录用户操作 29
6.3.1 购物车 29
6.3.2 付款 30
6.3.3 更新个人信息 31
6.4 后台管理 31
6.4.1 后台登录 31
6.4.2 后台主页面 32
6.4.3 新增商品种类 32
6.4.4 商品种类列表 33
6.4.5 新增商品 33
6.4.6 商品列表 34
6.4.7 订单列表 34
6.4.8 订单条件查询 34
6.4.9 用户列表 35
7 系统压力测试 35
7.1 系统压力测试工具及环境 35
7.2 录制测试过程 36
7.2.1 建立线程组 36
7.2.2 建立HTTP请求默认值 36
7.2.3 设置代理服务器 37
7.3 测试设置及启动 38
7.3.1 设置登录参数 38
7.3.2 启动测试 39
7.4 测试结果 39
7.4.1 系统压力测试聚合报告 39
7.4.2 系统压力测试图形结果 40
结 论 41
参考文献 42
致 谢 43
6 系统实现
6.1 系统主页面
系统主要使用淡色调,颜色不会很刺眼,不会使客户感到反感。系统页面简洁,上方的导航则包括用户登录、用户注册、留言板等信息,下方显示商品种类列表、上架商品、商城公告、用户登录框等信息,用户可以通过左侧导航栏查询每个种类的商品,也可以通过搜索来查找商品。系统主页面如图6-1所示。
在这里插入图片描述

图6-1 系统主页面
系统主页的商品分类需要通过请求来获取商品种类列表。
获取商品种类列表的关键代码如下:
public String execute() throws Exception {
Map request = (Map) ActionContext.getContext().get(“request”);
commodityClasses = commodityClassService.findAllCommodityClasses();
request.put(“listCommodityClasses”, commodityClasses); //列表信息保存到listCommodityClasses中
return “success”; }

6.2 非登录用户操作
6.2.1 用户注册
用户可通过注册成为商城会员,点击用户注册打开用户注册页面,用户注册包括用户名、密码、用户姓名、性别、电话、收货地址、电子邮箱等信息,用户点击每个输入框时后方会提示需填入的内容或注意事项。用户注册页面如图6-2所示。
在这里插入图片描述

图6-2 用户注册页面
用户提交注册信息后,若没有错误的信息,则会提示注册成功,跳转到登录页面。若用户注册信息有错误,则会提示注册失败,返回到注册页面,用户应重新注册。
用户注册关键代码如下:
public String execute() throws Exception {
String username= user.getUsername();
User user = service.findUserByName(username); //查询该用户名是否存在
if(user==null){
this.service.save(this.user);
return “success”; }
else{
return “error”; }
}
6.2.2 用户登录
用户可以通过右侧的登录框登录,也可通过上方的导航栏打开用户登录页面进行登录。用户登录页面如图6-3所示。
在这里插入图片描述

图6-3 用户登录页面
如果用户名和密码正确,则会提示登录成功,跳转到主页。如果用户名和密码不正确,则会提示登录失败,返回到登录页面,用户需要再次登录。用户登录后可以查看购物车中商品、提交留言、查看自己的订单等。用户可以点击退出按钮退出系统。用户登录成功后页面如图6-4所示。
在这里插入图片描述

图6-4 用户登录成功后页面
用户登录关键代码如下:
public String login(){
String username= user.getUsername();
String password=user.getPassword();
User user = service.getUserByLoginNameAndPassword(username,password);
//搜索是否存在该用户
if(user == null){
ActionContext.getContext().put(“message”, “用户名或密码错误”);
return “login”;
}else{
ActionContext.getContext().getSession().put(“user”, user);
return “index”;
}
}
6.2.3 找回密码
如果用户已经注册过,但是密码输入不正确或者忘记密码,可以通过输入正确的注册信息来重新设置密码。输入找回密码信息页面如图6-5所示。
在这里插入图片描述

图6-5 输入找回密码信息页面
用户输入正确的信息后即可进入重新设置密码页面,进行秘密的重置。
找回密码关键代码如下:
public String findUser()
{ String username= user.getUsername();
String name= user.getName();
String sex= user.getSex();
String post= user.getPost();
String address= user.getAddress();
String phone= user.getPhone();
String email= user.getEmail();
User user=this.service.findUserByinfo(username, name,sex,phone, post, address, email); //查询是否有该用户信息
if(user==null){
ActionContext.getContext().put(“findUsernull”, “没有该用户信息!”);
return “findUsernull”;
}else{
ActionContext.getContext().getSession().put(“findUser”, user);
return “findUser”;
}
6.2.4 查看商品信息
点击商品下的详细按钮,可以查看商品的详细信息,在商品的详细信息中可以看到商品的名称、商品编号、商品生产厂商、价格、数量、上架时间和商品的描述,这项操作用户没有登录也可以进行。商品信息页面如图6-6所示。
在这里插入图片描述

图6-6 商品详细信息页面
商品详细信息关键代码如下:
public String findCommodityById(){
int commId= commodity.getCommodityId();
Commodity commodity = this.service.findCommodityById(commId);
ActionContext.getContext().getSession().put(“commodityById”, commodity);
return “findCommodityById”;
}
6.2.5 搜索商品
用户可以通过输入商品的部分关键字进行商品搜索,搜索商品后会显示搜索到的信息,如果没有相关信息会输出没有改商品信息。搜索商品信息结果页面如图6-7所示。
在这里插入图片描述

图6-7 搜索商品结果页面
搜索商品关键代码如下:
public String findCommodityByName(){
String commodityName= commodity.getCommodityName();
Map request = (Map) ActionContext.getContext().get(“request”);
request.put(“commoditybyName”,this.service.findCommodityByName(
commodityName)); //保存搜索的信息
ActionContext.getContext().getSession().put(“searchnameMessage”,
commodityName);
return “findCommodityByName”;
}
6.3 登录用户操作
6.3.1 购物车
用户只有登录后才能把商品添加到购物车。在每件商品的下方都有添加到购物车按钮,点击添加就可以添加到购物车,添加一次商品,商品剩余数量就减少1,如果商品剩余数量为0,则无法添加到购物车,提示商品无供货。在购物车中可以查看购物车中的物品,商品的简单信息。在购物车中可以移除商品,移除商品时,商品剩余数量会增加1。用户可以在买家备注里输入备注信息,然后点击提交订单进行订单的提交,也可以点击继续购物继续浏览商品。购物车页面如图6-9所示。
在这里插入图片描述

图6-9 购物车页面
商品添加到购物车关键代码如下:
public String execute() throws Exception {
int commodityId= commodity.getCommodityId();
Map session =(Map) ActionContext.getContext().getSession();
Commodity commoditys = commodityService.findCommodityById (commodityId); //获得商品信息
if(commoditys.getCommodityLeaveNum()==0){
ActionContext.getContext().getSession().put(“comnull”,“商品已无货!”);
return “error”;
}
else{
List car = null; //声明一个购物车
if(session.get(“car”) == null) { //如果session中不存在购物车
car = new ArrayList(); //新建一个ArrayList实例
}
else {
car = (List)session.get(“car”); //取得购物车 }
}
commoditys.setCommodityLeaveNum(commoditys.getCommodityLeaveNum()-1);
commodityService.update(commoditys);
session.put(“car”, car);//将购物车保存在session中
return “success”; }
6.3.2 付款
用户点击提交订单按钮后,用户的订单就提交到了数据库,然后可以进行付款操作。用户付款时会检查用户金额,如果用户金额不足,会提示余额不足无法付款;用户余额足够才能付款成功。如果用户没有对订单进行付款,商家则不会发货。用户付款页面如图6-10所示。
在这里插入图片描述

图6-10 用户付款页面
6.3.3 更新个人信息
用户登录以后可以修改个人信息,修改个人信息时需要输入正确的信息,点击更新个人信息后即可更新个人信息,但是需要用户重新登录之后才会显示更新后的信息。用户也可以修改登录密码。用户更新个人信息页面如图6-12所示。
在这里插入图片描述

图6-12 更新个人信息页面

修改个人信息关键代码如下:
public String updateUser(){
this.service.update(user); //更新用户的信息
ActionContext.getContext().put(“updatemessage”, “您的信息已经更新!”);
return “updateUser”; }
6.4 后台管理
6.4.1 后台登录
可以通过主页面下方的链接打开后台管理的登录页面,后台登录页面需要输入管理员账号和密码,如果用户名和密码错误则不能登录,只有输入正确的管理员账号和密码才能登录到后台主页面。后台登录页面如图6-13所示。
在这里插入图片描述

图6-13 后台登录页面
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
资源下载地址:https://download.csdn.net/download/sheziqiong/85798326
资源下载地址:https://download.csdn.net/download/sheziqiong/85798326

猜你喜欢

转载自blog.csdn.net/sheziqiong/article/details/125482260
今日推荐