西蒙购物网
一、功能需求
1、只有注册用户成功登录之后才可查看商品类别,查看商品,选购商品,生成订单、查看订单。
2、只有管理员才有权限进入购物网后台管理,进行用户管理、类别管理、商品管理与订单管理。
二、设计思路
1、采用MVC设计模式
分层架构:展现层(JSP)<——>控制层(Servlet)<——>业务层(Service)<——>模型层(Dao)<——>数据库(DB)
2、前台
(1)登录——显示商品类别——显示某类商品信息——查看购物车——生成订单——支付
(2)注册<——>登录
3、后台
(1)用户管理:用户的增删改查
(2)类别管理:商品类别的增删改查
(3)商品管理:商品的增删改查
(4)订单管理:订单的查看与删除
三、实现步骤
(一)创建数据库
创建MySQL数据库simonshop,包含四张表:用户表(t_user)、类别表(t_category)、商品表(t_product)和订单表(t_order)。

(二)创建Web项目simonshop
1、创建Web项目simonshop

(三)创建实体类
在src里创建net.hw.shop.bean包,创建四个实体类:User、Category、Product与Order,与四张表t_user、t_category、t_product与t_order一一对应。
1、用户实体类User

2、类别实体类Category

3、商品实体类Product

4、订单实体类Order

(四)创建数据库工具类ConnectionManager
1、在web\WEB-INF目录下创建lib子目录,添加MySQL驱动程序的jar包

2、在src下创建net.hw.shop.dbutil包,在里面创建ConnectionManager类

运行程序,查看结果:

(五)数据访问接口
在src里创建net.hw.shop.dao包,在里面创建UserDao、CategoryDao、ProductDao与OrderDao。
1、用户数据访问接口UserDao

2、类别数据访问接口CategoryDao

3、商品数据访问接口ProductDao

4、订单数据访问接口OrderDao

(六)数据访问接口实现类XXXDaoImpl
在src下创建net.hw.shop.dao.impl包,在里面创建UserDaoImpl、CategoryDaoImpl、ProductDaoImpl与OrderDaoImpl。
1、用户数据访问接口实现类UserDaoImpl

我们需要对用户数据访问接口实现类的各个方法进行单元测试,采用JUnit来进行单元测试。
在项目根目录创建一个test文件夹,然后在项目结构窗口里将其标记为"Tests",这样文件夹颜色变成绿色


在test文件夹里创建net.hw.shop.dao.impl包,在里面创建测试类TestUserDaoImpl:

(1)编写测试登录方法testLogin()
将光标定位到@Test注解符,按组合键Alt + Enter


四、实现步骤
(八)控制层(XXXServlet)
在src里创建net.hw.shop.servlet包,在里面创建各种控制处理类。
1、登录处理类LoginServlet

下面我们来进行测试。测试之前修改一下首页文件index.jsp:

启动服务器,显示首页:

在地址栏里localhost:8080/simonshop/之后输入login?username=admin&password=12345之后敲回车:

我们用管理员的用户名与密码登录,确实跳转到后台的管理页面/backend/management.jsp,当然该页面尚未编写,因此报了个404错误。我们去看一下服务器端的控制台,结果如下:

重启服务器,再测试一下:

重启服务器,再测试一下:


2、注销处理类LogoutServlet
下面我们来进行测试。启动服务器,先要登录成功,然后再测试注销功能。
3、注册处理类RegisterServlet
下面我们来进行测试。启动服务器,访问http://localhost:8080/simonshop/register?username=萌萌哒&password=55555&telephone=15896961234,敲回车,查看结果:
此时,我们去NaviCat查看用户表,看看是否插入了新的用户记录?
4、显示类别处理类ShowCategoryServlet
此时,我们到服务器端控制台查看输出的信息:

5、显示商品处理类ShowProductServlet
我们去服务器端控制台查看输出信息:

本文详细介绍了西蒙购物网站的功能需求、设计思路及实现步骤,包括采用MVC模式的分层架构、数据库设计、实体类创建、数据访问接口及控制层处理等关键环节。
917

被折叠的 条评论
为什么被折叠?



