年龄 性别 地址 邮箱 是否管理员 联系方式 Age Gender Address Email Is_Admin Phone Int Varchar Varchar Varchar Varchar Varchar Default (2)商品表(Product_id,Name,Kind_id,Price,Uptime,Downtime,Count,Month_sell,Pro_picture,Describe),其中Product_id为主键,Kind_id为外键。该表用来存储商品id、商品名称、种类id、商品单价、上架时间、下架时间、库存量、月销量、商品图片和商品描述。表的结构如下表4-2所示。
表4-2 商品信息表
含义 商品id 商品名称 种类id 商品单价 上架时间 下架时间 库存量 月销量 商品图片 商品描述 字段 Product_id Name Kind_id Price Uptime Downtime Count Month_sell Pro_picture Describe 类型 Int Varchar Int Double Date Date Int Int Varchar Varchar 键标识 Primarykey Foreignkey (3)商品种类表(Kind_id,Father_id,Kind_name,Kind_grade),其中Kind_id为主键。该表用来存储种类id、父种类id、种类名称和种类等级。表的结构如表4-3所示。
表4-3 商品种类表
含义 种类id 父种类id 种类名称 种类等级
字段 Kind_id Father_id Kind_name Kind_grade 类型 Int Int Varchar Int 键标识 Primarykey
(4)订单项表(Item_id,Order_id,Product_id,Product_count,User_id),其中Item_id为主键。该表存储订单项id、订单id、商品id、商品数量、用户id。表的结构如表4-4所示。
表4-4 订单项表
含义 订单项id 订单id 商品id 商品数量 用户id 字段 Item_id Order_id Kind_id Product_id User_id 类型 Int Int Int Int Int 键标识 Primarykey (5) 订单表(Order_id,Pay_way,Deliver_way,Address,Receive_name,Postcode,Receive_phone,User_id,State,isPaid),其中Order_id是主键,User_id为外键。该表用来存储订单id、支付方式、送货方式、送货地址、收货人姓名、收货人联系方式、邮政编码、用户id 、订单状态、是否付款。表结构如表4-5所示。
表4-5 订单表
含义 订单id 支付方式 送货方式 送货地址 收货人姓名 收货人联系方式 邮政编码 用户id 订单状态 是否付款 字段 Order_id Pay_way Deliver_way Address Receive_name Receive_phone Postcode User_id State isPaid 类型 Int Varchar Varchar Varchar Varchar Varchar Varchar Int Varchar Varcahr 键标识 Primarykey Foreignkey Default Default 2.数据库表的关系图
根据需求分析和上述的数据库设计,我们得出数据库表的E-R图,如下图4.1所示。
图4.1 数据库表的关系图
4.2 系统结构图
结构图以模块的关系为线索,用自上而下的连线表示调用关系并注明参数传递的方向和内容。根据第三章节的功能分析,可以得出本系统总体结构图。如图4.2所示。
网上购物系统网上购物系统前台模块前台模块后台模块后台模块登登录录模模块块注注册册模模块块搜搜索索模模块块购购物物车车模模块块支支付付模模块块商商品品管管理理模模块块会会员员管管理理模模块块订订单单管管理理模模块块公公告告模模块块图4.2 网上购物系统总体模块结构图
5 系统实现技术
5.1 分模块详述系统各部分的实现方法
1.登录
经过上述的各项步骤之后,基本上完成了一个网上购物系统的开发。本系统的登录界面如下图所示。输入用户名和密码,单击登录按钮,与数据库的用户信息表进行验证,核实身份后进入系统主界面。登录界面如图5.1所示。
图5.1 登录界面
对应的部分程序代码为: @Override
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding(\
response.setContentType(\ String username = request.getParameter(\ String password = request.getParameter(\ PrintWriter out=response.getWriter(); try {
User u = Userdao.getUser(username); if(u != null){
if(u.getUser_password().equals(password)) {
request.getSession().setAttribute(\
response.sendRedirect(\
}else{
out.println(\密码错误
');window.history.go(-1)\
}
}else{
out.println(\用户名不存在
');window.history.go(-1)\ } 2.注册
如果用户还不是本网站会员,就只能浏览商品,没有购物车功能,也不购买商品。这时就需要注册会员。本系统注册界面如下图所示。本界面采用Ajax验
}
}catch (SQLException e) {
e.printStackTrace();
}
证,即时更新验证输入的信息。完成个人信息的填写后,单击立即注册按钮,即可成为本网站会员。注册界面如图5.2所示。
相关推荐: