WEB实训大作业实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《web实训大作业报告》
题目:电子商城
专业:软件工程
班级: xxx
姓名: xxx
学号: xxx
任课教师: xxx 完成时间: xxx
目录
概述: (3)
需求分析: (3)
系统设计: (4)
程序原代码及其说明 (5)
model包: (5)
dao包: (9)
action包 (10)
struts.xml等文件: (12)
jsp等文件: (12)
分工 (14)
总结 (14)
参考文献 (15)
概述:
随处可见的电子商城,对我们来说非常的熟悉。我们似乎对他了如指掌,但是真的是这样的吗?本次的web期末大作
业,就按照熟悉的电子商城的种种功能进行仿写。
需求分析:
搜索模块:任意浏览器终端均能通过搜索框来检索商城的物
品。搜索模块应当提供搜索功能。
用户模块:包括用户的注册、登陆、信息修改、收货地址的
编辑、开启店铺。
店铺模块:用户可以申请开店,从此充当卖家角色。功能有:
上架商品、修改商品展示图片、下架商品。
购物车模块:用于存放用户想购买,但暂时存放的物品。功
能有:添加物品至购物车、从购物车中移除物品、购买购物
车中所有的物品。
订单模块:用户在支付之后,会生成订单。所有的这些订单,
除非用户主动删除,否则保留一段时间,以备查阅。功能有:
订单查询、订单地址获取、删除订单。
物品模块:存储信息。由于被上述模块操作。
系统设计:
不会uml,随意画的图,想表述的意思是:
浏览器终端(没有登陆的用户)仅可以通过搜索模块搜索物品。
登陆后的用户,可以使用:订单模块、用户模块、购物车模
块、店铺模块。
而搜索模块会使用到物品模块提供的功能、其他虚线表示会
使用到物品模块的数据。
程序原代码及其说明
程序源代码如下:
model包:
包含的是纯javaBean文件。只有属性和setter、getter方
法。
(1).CarGoods.java
这个bean用来存放Action.Car类要使用的数据。
(2).ChangeUserInfo.java
这个bean用来存放用户修改信息时要使用的数据。
(3).GoodsInfo.java
这个bean用来存放物品表的数据。当dao包查询goods表返回ResultSet时,action中可以使用这个bean存放结果。以提供给jsp页面使用。
(4).GoodsList.java
这个bean,没有设计好,仅仅是给dao包中的某个方法使用而创的。
(5).OrderBody.java
这个bean,用来存放订单体,由于没有太多的时间仔细分析,所以这个bean是在后期需要的时候创建的,这个订单头并不能适用与系统订单模块的所有场景,只在用户购买物品后的当前订单显示页面才会使用到。
(6).OrderHead.java
这个bean,用来存放订单头。它的产生和上面的一样。成套使用在上述场合中。
(7).OrderInfo.java
这个bean就是最初始创建的用来存储订单信息的bean了。包含了订单中除了收货地址外的全部信息。而且收货地址可以使用新的bean来存放。但是这个bean感觉在使用的时候,浪费了大量的空间资源。因为其中必然会存在id、createTime、cost、expressFee、store信息的重复,这些信息应当提取出来当做订单头来单独存放。当初没有想太多,结果这个bean 只在用户查询所有订单信息的时候会被使用。
(8).ReceivePosition.java
收货地址bean,在用户修改、添加、显示收货地址的时候会被使用。
(9).StoreInfo.java
存放店铺信息的bean。
(10).User.java
存放用户信息的bean。这里,当初没有考虑到同账号多终端登陆的问题。
dao包:
dao包提供的方法全部都是static方法,所以在action包中
调用dao包时,类一经加载,全部留存在内存中。
(由于dao包、和action包中的每个函数是有注释的,这里
不在重写。这里只描述这些类的大致功能。详细的函数注释,
请看源代码。)
(1).DBConnect.java
--类加载时,自动连接数据库。
(2).DB4Car.java
提供关于购物车表的操作
(3).DB4Goods.java
提供关于物品表的操作
(4).DB4Order.java
提供关于订单表的操作
(5).DB4OrderGoods.java
提供关于订单物品的操作
(6).DB4ReceivePosition.java
提供关于收货地址表的操作
(7).DB4User.java
提供关于用户表的操作
还有些表的操作混合在了上面的几个类中。因为操作逻辑的原因、多表联合操作等,所以就没有分开写。
action包:
(1).Account
也即用户模块的功能实现。包括注册、登陆(登陆的时候即加载了用户的信息)、开店、退出、修改昵称、修改密码、登陆状态(用于jsp访问时的逻辑检查,如未登录时添加到购物车)。
(2).Car
购物车模块的功能实现。显示购物车信息、加载用户收货地址列表、从物品栏中移除物品、添加物品到购物车。
缺点:由于jsp页面设计的原因,所以这里就没有提供:选择指定的物品购买、更改物品的数量的功能。
(3).Order
订单模块的功能实现。包括:购买购物车中全部物品、从db 中加载用户提交后的收货地址信息、获取本次购买生成的订单头、获取本次购买生成的物品列表、显示用户所有的订单、生成订单的物品列表、删除订单。