版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于 SSH 电子商城的 J2EE 课程设计课程名称课程名称:J2EE 课程设计课程设计课程代码课程代码:题题 目目:电子商城电子商城年级年级/ /专业专业/ /班班:07 级级 计算机科学与技术专业计算机科学与技术专业 计科二班计科二班学生姓名学生姓名: 学号学号 : 指导老师指导老师: 开题时间开题时间:年年 月月 日日完成时间完成时间: 年年 月月 日日课课程程设设计计任任务务书书及及成成绩绩评评定定课程名称课程名称:电子商城电子商城完成者完成者: 1.1. 设计的目的与要求设计的目的与要求 随着信息化技术在生活中的应用越来越广泛,网上购物也逐渐成为人们的一种生活方式。本系统正是基于这样
2、一种环境下应运而生。本电子商城分为前、后台两部分,前台主要实现会员的网上购物业务流程,后台则由各种管理员对商城会员、商品、定单等内容进行管理。2.2. 设计进度及完成情况设计进度及完成情况日日 期期内内 容容2010.10.1-10.2-系统需求分析、可行性分析2010.10.3数据库设计与实现2010.10.4-10.6系统概要、详细设计2010.10.7-10.17系统前台实现2010.10.18-10.28系统后台实现2010.10.29-11.2测试、文档撰写3.3. 成绩评定成绩评定设计成绩: 指导老师: 年 月 日目录目录摘摘 要要.- 1 -ABSTRACT .- 2 -1.1.
3、引引 言言.- 3 -2.2.设计目的与任务设计目的与任务.- 4 -3.3.系统设计系统设计.- 4 -3.1 分层模式.- 4 -3.2 开发技术与工具.- 5 -3.2 总体设计.- 10 -3.2.1系统总体结构.- 10 -3.2.2流程图.- 11 -3.3 详细设计.- 13 -3.3.1数据库设计.- 13 -3.3.2 系统开发规范及说明.- 18 -3.3.2具体模块设计.- 20 -4程序清单程序清单.- 27 -4.1 数据库脚本 .- 27 -4.2 项目实现部分代码.- 30 -5程序调试与体会程序调试与体会.- 42 -6运行结果运行结果.- 42 -7. 结结
4、论论.- 51 -8. 致致 谢谢.- 51 -9. 参考文献参考文献.- 51 -摘摘 要要随着信息化网络的发展,网络对人们的生活影响越来越大,网上购物也逐渐成为一种趋势,这对电子商场的发展起到了很在的推进作用。本文主要通过对电子商城的应用环境和主要实现功能进行分析,叙述了本电子商城的设计与实现过程,并对其总结。项目主要应分层架构思想,通过 J2EE 轻量级框架 SSH 与前台 Ajax 技术来相结合来实现。在设计种过中全方位的应用软件工程的开发思想,对项目进行 UML 建模包括各模块的类图、时序图等。因为系统是基于 B/S 结构,所以适应范围广阔。关键词:电子商城, SSH, Ajax,
5、框架AbstractWith the development of information networks, the network effect of increasing peoples lives, online shopping is becoming a trend, which is the development of electronic store played a role in the promotion. This article mainly through the application of e-mall environment and the main ach
6、ievement of functional analysis, described in the Electronic Malls design and implementation, and its summary.Application architecture model mainly anemia, lightweight J2EE framework through SSH with the front desk to the combination of Ajax technology to achieve. Planted in the design of a full ran
7、ge of applications in the development of software engineering ideas, the project module, UML modeling including class diagrams, sequence diagrams. Because the system is based on B / S structure, so to adapt to a broad range.Key words: Electronic Mall, SH, Ajax, Framework1.1.引引 言言网上购物迅猛发展,导致电子商城大量的涌现
8、,而电子商城的出现不仅改变了人们传统的购物方式,也逐渐的影响着人们的消费观,一个好的电子商城不仅能给客户带来方便,更能给企业带来巨大的财富。本商城主要利用 J2EE 与 Ajax 技术进行开发,有很强的安全性、可靠性、可扩展性。其前台实现了从商品选购到订单提交整个业务流程,后台实现了对整个系统的管理,就整体功能而言,基本能满足基本的网上购物需求,相信一定能让用户感到便捷、快速,让企业管理、维护更简单。 2.2.设计目的与任务设计目的与任务随着信息化技术在生活中的应用越来越广泛,网上购物也逐渐成为人们的一种生活方式。本系统正是基于这样一种环境下应运而生。本电子商城分为前、后台两部分,前台主要实现
9、会员的网上购物业务流程,后台则由各种管理员对商城会员、商品、定单等内容进行管理。3.3.系统设计系统设计3.1 分层模式分层模式本系统的开发主要分为以下几层:表示层、业务层、DAO 层、持久层。业务层和 DAO 层都通过接口与其它层进行连接从而减小了各层之间的耦合度,实现高内聚、低耦的思想。分层结构图如下所示。图 3-1 系统分层结构3.2 开发技术与工具开发技术与工具主要开发工具为:MyEclipse8.6、Mysql6.0、Tomcat6.0、PowerDesigner12。主要技术包括:J2EE 轻量级框架 S2SH、MD5 算法、Log4j、Ajax、JSON。S2SH 集成框架是 S
10、truts、Spring 和 Hibernate 三种技术的有机融合, 是目前应用最广泛的 Java EE 架构。在 S2SH 集成框架中,Struts 的作用是提供 MVC 模型, 将界面、业务逻辑和数据分离, 并提供一个高可扩展的架构。Spring 作为核心,向上整合 MVC 框架,向下整合 ORM 框架,使用 Spring的 IoC 容器来管理各组件之间之间的依赖关系,Spring 的声明事务将负责逻辑层组件的事务管理。而 Hibernate 提供了一个抽象的数据服务视图,将用户对数据库的访问进行高度抽象。 Struts 是目前创建Web 应用最常用的表现层MVC 框架实现,是Jakar
11、ta Apache 的一个开源项目。基于Model2 的Struts 框架利用控制器和定制标签库将应用中的模型和视图分离,达到了层间松散耦合的效果,同时提高系统的灵活性、重用性和维护性。作为开源项目,Struts 经受了大量实践的检验,功能越来越强大,体系也日臻完善,并且对其他技术和框架显示出良好的融合性。图3-2Struts2.0MVC结构图Spring 由Rod Johnson 创建,它是为了解决企业应用开发的复杂性而创建的。Spring 使用基本的JavaBean 来完成以前只可能由EJB 完成的事情。然而,Spring 的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言
12、,任何Java 应用都可以从Spring 中受益。简单来说,Spring 是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。图3-3 Spring功能图Hibernate 是一个开放源代码的对象关系映射框架,它对JDBC 进行了非常轻量级的对象封装,使得Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate 可以应用在任何使用JDBC 的场合, 既可以在Java 的客户端程序使用, 也可以在Servlet/JSP 的Web 应用中使用。图3-4 Hibernate运行图AJAX 是 Asynchronout JavaScript and XML 的缩写,它
13、并不是一门新的语言或技术,实际上是几项技术按一定的方式组合在一起,在共同的协作中发挥各自的作用,它包括:使用 XHTML 和 CSS 标准化呈现;使用 DOM 实现动态显示和交互;使用 XML 和 XSLT 进行数据交换和处理;使用XMLHttpRequest 进行异步数据读取;最后用 JavaScript 绑定和处理所有数据。AJAX 的一个最大的特点是无需刷新页面便可向服务器传输或读写数据(又称无刷新页面) ,这一特点要得益于 XMLHTTP 组件 XMLHttpRequest 对象。这样就可以像再发桌面应用程序只同服务器进行数据层面的交换,而不用每次都刷新界面,也不用每次将数据处理的工作
14、提交给服务器来做,这样即减轻了服务器的负担又加快了响应速度、缩短了用户等候时间。图3-5 Ajax模型JSON(JavaScript Object Notation,JavaScript 对象标记)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于 JavaScript(Standard ECMA-262 3rd Edition-December 1999)的一个子集。JSON 采用与编程语言无关的文本格式,但是也使用了类 C 语言的习惯,这些特性使 JSON 成为理想的数据交换格式。而 AJAX 可以利用 JSON 更加有效地接收数据,因为 JSON 特殊的属性。
15、在 Struts 2 的 showcase 中的AJAX 部分,JSON 的结果输出是通过 Freemaker 模板实现。这种方法在简易性和灵活性上都比不上 JSON 插件。Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。当用户登录的时候,系统把用户输入的密码进行 MD5 Hash 运算,然后再去和保存在文件系统中的 MD5 值进行比较,进而确定输入的密码是否正确。通过这样的步骤,系统在并不知道用户密码的明码的情况下就可以确定用户登录系统的合法性。这可以避免用户的密码被具有系统管理员权限的用
16、户知道。Log4j 是 Apache 的一个开放源代码项目,通过使用 Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI 组件、甚至是套接口服务器、NT 的事件记录器、UNIX Syslog 守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。 3.2 总体设计总体设计3.2.1 系统总体结构系统总体结构 本系统分为前台和后台两部分,前台提供一条网上购物业务流程的功能实现,主要实现模块见图 3-1;后实现对前台功能信息的管理,主要
17、实现模块见图 3-2。前台功能模块:电子商城前台商品信息商品信息显示订单购物车会员信息商品信息查询会员信息修改会员登录会员注册购物车商修改购物车商品删除购物车商品添加订单删除订单修改订单提交商品评价图 3-6:前台功能模块后台功能模块: 电子商城后台商品信息管理商品信息后台用户管理会员管理订单管理商品分类管理商品添加分类信息用户信息会员信息订单信息密码信息图 3-7:后台功能模块3.2.2 流程图流程图前台主要分为非会员用户和会员用户,其中只有会员用户才能实现在线购物,而非会员用户必需进行注册。后台用户主要分为商品管理员、会员管理员、定单管理员、系统维护员,不同的管理员实现不同的功能。前台流程
18、图:前台会员?信息浏览注册添加商品至购物车提交定单登录商品评论修改购物车是否个人账户信息图 3-8:前台流程图后台流程图:后台登录商品信息管理权限系统维护会员信息管理定单信息管理商品管理员定单管理员会员管理员系统管理员图 3-9:后台流程图3.3 详细设计详细设计3.3.1 数据库设计数据库设计本系统数据库开发主要基于 Mysql6.0 数据库管理工具,包括 8 个数据库表如下所示: 数据字典e_shop 数据表清单数据表清单:表名表名解释解释ADMIN管理员表CART购物车表EVALUATE商品评价表MEMBER会员表MERCHANTABLE商品表ORDERS定单表RECORD记录表TYPE
19、S类别表表名表名:ADMIN 解释解释:后台管理员表 ADMIN(admin)是否主是否主键键字段名字段名字段描述字段描述数据类型数据类型长长度度可空可空 约束约束缺省缺省值值备注备注是ADMIN_ID管理员编号INT(2)2ADMIN_NAME管理员名VARCHAR(50) 50ADMIN_PWD管理员密码VARCHAR(30) 20ADMIN_TYPE管理员种类INT(1)1返回表名表名:CART 解释解释:购物车表CART(cart)是否主键是否主键字段名字段名字段描述字段描述数据类型数据类型长长度度可空可空 约束约束缺省缺省值值备注备注是CART_ID购物车编号INT(5)5CART_
20、MEM_ID会员编号INT(5)5是CART_MER_ID商品编号INT(6)6是CART_NUM商品数量INT(3)3是返回表名表名:EVALUATE 解释解释:商品评价表EVALUATE(evaluate)是否主是否主键键字段名字段名字段描述字段描述数据类型数据类型长长度度可空可空 约束约束缺省缺省值值备注备注是EVAL_ID评价编号INT(3)3EVAL_MEM_ID会员编号INT(5)5是EVAL_MER_ID商品编号INT(6)6是EVAL_DATE评价日期VARCHAR(20)20是EVAL_CONTENT 评价内容VARCHAR(200)200是返回表名表名:MEMBER 解释解
21、释:会员表MEMBER(member)是否主是否主键键字段名字段名字段描述字段描述数据类型数据类型长长度度可空可空约束约束缺省缺省值值备注备注是MEM_ID会员编号INT(5)5MEM_NAME会员名称VARCHAR(50)50MEM_PWD会员密码VARCHAR(30)20MEM_TEL联系电话VARCHAR(15)15是MEM_ADDRESS联系地址VARCHAR(50)50是MEM_REGIST_DATE注册日期VARCHAR(10)10是MEM_POST邮编VARCHAR(10)10是MEM_EMAILEMAILVARCHAR(20)20是MEM_CART_ID购物车编号INT(5)5
22、是返回表名表名:MERCHANTABLE 解释解释:商品表 MERCHANTABLE(merchantable)是否主是否主键键字段名字段名字段描述字段描述数据类型数据类型长长度度可可空空约束约束缺省缺省值值备注备注是MER_ID商品编号INT(6)6MER_NAME商品名称VARCHAR(50)50MER_TYPE_ID商品种类INT(3)3是MER_PLACE出产地VARCHAR(50)50 是MER_PRICE价格DECIMAL(8,2)8MER_DISCOUNT折扣DECIMAL(2,1)2是MER_PICTURE图片VARCHAR(50)50 是MER_DESC描述VARCHAR(5
23、0)50 是MER_PRODUCTER 厂家VARCHAR(60)60 是MER_LEAVE_DATE出厂时间VARCHAR(10)10 是MER_ADD_DATE添加时间VARCHAR(10)10 是MER_NUM销售数量INT0返回表名表名:ORDERS 解释解释:定单表 ORDERS(orders)是否主是否主键键字段名字段名字段描述字段描述数据类型数据类型长长度度可空可空 约束约束缺省缺省值值备注备注是ORDER_ID定单编号INT(6)6ORDER_DATE定单日期VARCHAR(20) 20是ORDER_MEM_ID会员编号INT(5)5是ORDER_STATUS定单状态INT(1
24、)1是ORDER_SEND_TIME发送时间VARCHAR(60) 60是ORDER_REMARK定单备注VARCHAR(100)100是ORDER_SUM价钱总和DECIMAL(8,2) 8是返回表名表名:RECORD 解释解释:记录表RECORD(record)是否主是否主键键字段名字段名字段描述字段描述数据类型数据类型长长度度可空可空 约束约束缺省缺省值值备注备注是RECORD_ID记录编号INT(6)6RECORD_MER_ID商品编号INT(6)6是RECORD_MER_NUM商品数量INT(3)3是RECORD_ORDER_ID 定单编号INT(6)6是返回表名表名:TYPES 解
25、释解释:类别表TYPES(types)是否主是否主键键字段名字段名字段描述字段描述数据类型数据类型长长度度可空可空 约束约束缺省缺省值值备注备注是TYPE_ID类别编号INT(3)3TYPE_NAME类别名称VARCHAR(30) 30是TYPE_DESC类别描述VARCHAR(100)100是返回 数据库概念设计将抽象的需求转为数据库概念结构,即概念模式。FK_MERCHANTABLE_TYPE_IDFK_EVALUATE_MEN_IDFK_EVALUATE_MER_IDFK_CART_IDFK_CART_MER_IDFK_ORDER_MEM_IDFK_RECORD_MER_IDFK_REC
26、ORD_ORDER_ID后台管理员表管理员编号管理员名管理员密码管理员种类CONSTRAINT Serial (2)Variable characters (50)Variable characters (20)IntegerPK_ADMIN_IDKey_1 会员表会员编号会员名会员密码联系电话联系地址注册日期邮编EMAIL购物车编号CONSTRAINT Serial (5)Variable characters (50)Variable characters (20)Variable characters (15)Variable characters (50)Variable charac
27、ters (10)Variable characters (10)Variable characters (20)IntegerPK_MEMBER_IDKey_1 类别表类别编号类别名称类别描述CONSTRAINT Serial (3)Variable characters (30)Variable characters (100)PK_TYPES_IDKey_1 商品表商品编号商品名称出产地价格折扣图片描述厂家添加时间销售数量出厂时间CONSTRAINT Serial (6)Variable characters (50)Variable characters (50)Decimal (8,
28、2)Decimal (2,1)Variable characters (50)Variable characters (50)Variable characters (60)Variable characters (10)IntegerVariable characters (10)PK_MERCHANTABLE_IDKey_1 商品评价表评价编号评价日期评价内容CONSTRAINT Serial (3)Variable characters (20)Variable characters (200)PK_EVALUATE_IDKey_1 购物车表购物车编号商品数量CONSTRAINT Ser
29、ial (5)IntegerPK_CART_IDKey_1 定单表定单编号定单日期定单状态发送时间定单备注价钱总和CONSTRAINT Serial (6)Variable characters (20)IntegerVariable characters (60)Variable characters (100)Decimal (8,2)PK_ORDER_IDKey_1 记录表记录编号商品数量CONSTRAINT Serial (6)IntegerPK_RECORD_IDKey_1 图 3-10 概念图 数据库物理设计依据所用的数据库由概念模型生成相应的物理模型,如下图所示。FK_MERCH
30、ANTABLE_TYPE_IDFK_EVALUATE_MEN_IDFK_EVALUATE_MER_IDFK_CART_IDFK_CART_MER_IDFK_ORDER_MEM_IDFK_RECORD_MER_IDFK_RECORD_ORDER_ID后台管理员表管理员编号管理员名管理员密码管理员种类CONSTRAINTINT(2)VARCHAR(50)VARCHAR(20)INT(1)PK_ADMIN_ID会员表会员编号会员名会员密码联系电话联系地址注册日期邮编EMAIL购物车编号CONSTRAINTINT(5)VARCHAR(50)VARCHAR(20)VARCHAR(15)VARCHAR(5
31、0)VARCHAR(10)VARCHAR(10)VARCHAR(20)INT(5)PK_MEMBER_ID类别表类别编号类别名称类别描述CONSTRAINTINT(3)VARCHAR(30)VARCHAR(100)PK_TYPES_ID商品表商品编号商品名称商品种类出产地价格折扣图片描述厂家添加时间销售数量出厂时间CONSTRAINTINT(6)VARCHAR(50)INT(3)VARCHAR(50)DECIMAL(8,2)DECIMAL(2,1)VARCHAR(50)VARCHAR(50)VARCHAR(60)varchar(10)intVARCHAR(10)PK_MERCHANTABLE_
32、ID商品评价表评价编号会员编号商品编号评价日期评价内容CONSTRAINTINT(3)INT(5)INT(6)VARCHAR(20)VARCHAR(200)PK_EVALUATE_ID购物车表购物车编号会员编号商品编号商品数量CONSTRAINTINT(5)INT(5)INT(6)INT(3)PK_CART_ID定单表定单编号定单日期会员编号定单状态发送时间定单备注价钱总和CONSTRAINTINT(6)VARCHAR(20)INT(5)INT(1)varchar(60)varchar(100)DECIMAL(8,2)PK_ORDER_ID记录表记录编号商品编号商品数量定单编号CONSTRAI
33、NTint(6)int(6)int(3)int(6)PK_RECORD_ID图 3-11 物理图3.3.2 系统开发规范及说明系统开发规范及说明1. 系统目录及说明如下图系统目录及说明如下图依据架构思想,将开发类主要分为 action、bean、dao、service 几大包。action 包包含所有的控制层类,bean 包包含所有领域对象及相应的 ORM 映射文件,dao 包包含所有的持久层抽象类,service 包包含所有业务层类。另一方面根据系统开发所需建立 filter(过滤器)包、listener(监听器)包、tool(工具)包。具体如下图所示。图 3-12 系统目录图2. Stru
34、ts 配置文件配置文件图 3-13 Struts 配置文件图3.3.2 具体模块设计具体模块设计整个系统主要包括商品信息模块、会员模块、购物车模块、订单模块、商品类别、后台管理员模块。商品信息模块商品信息模块: :本模块主要用来显示、查询和商品评论的功能。主要涉及的类和方法如下类图。其中 PageServiceImpl 为分页实现类,在整个系统中属于一个公共组件,故在各模块中不再重复介绍。另一方面各模块各层之间类的关系也大致相同,都可以参考以下类图。图 3-14 商品模块类图类名含义MerchantableAction作为其控制层内容,调用相应的业务方法HeadService业务层抽象类,其实
35、现类中包含相应的业务方法MerchantableDAO包含相应的持久层方法类名:MerchantableAction方法含义showByType()调用业务层方法按类别显示商品showById()调用业务层方法显示某种商品research()调用业务层方法查询商品showAllMer()调用业务层方法显示所有商品deleteMer()调用业务层方法删除商品updateMer()调用业务层方法修改商品信息saveMer()调用业务层方法保存商品信息类名:HeadService方法含义findById()调用持久层方法按商品编号查询商品findByType()调用持久层方法按种类查询商品resea
36、rchMer()按条件查询商品deleteMer()删除商品updateMer()修改商品saveMer()保存商品类名:MerchantableDAO方法含义findAllByKeyword()按关键字查询所有商品findByTypes()按各类查询商品findById()按商品编号查询商品delete()删除商品findAll()查询所有商品saveOrUpdate()保存或修改商品findByNum()依据数量查询findPartByTyps()依据种类查询部分商品会员模块:会员模块:在本模快中用到了两控制层类 LoginAction 和 LoginJsonAction,前者用于普通的控
37、制调用业务层方法,同时返回相应的业务逻辑视图。后者则是用Struts 和 Json 相结合应用的,首先是能过 Ajax 提交数据当相应的 action,然后调用业务层方法处理完成返回并不是返回某个逻辑视图,而是将返回的信息通过 Json 进行数据转换,前台通过 Ajax 接收数据。类名含义LoginAction普通形式的控制器,调用相应的业务层方法LoginJsonActionAjax 提交时使用的控制器UserService业务层类,包含各种相应的业务处理方法MemberDAO包含相应的持久层方法LoginActionLoginAction 类类: :方法含义modifyPwd()调用业务层
38、方法修改会员密码modifyAddress()调用业务层方法修改会员地址等信息regist()调用业务层方法注册showMem()调用业务层方法后台显示所有会员delMem()调用业务层方法删除会员LoginJsonActionLoginJsonAction 类:类:方法含义execute()调用业务层方法会员登录校验UserServiceUserService 类类: :方法含义modifyPwd()修改会员密码modifyAddress()修改会员地址等信息save()保存会员delMem()删除会员MemberDAOMemberDAO 类:类:方法含义findByNameAndPwd()
39、按用户名和密码查询用户saveOrUpdate()保存或修改会员信息findAll()查询所有会员delete()删除会员购物车模块购物车模块: :同上面的会员模板,在此模块中也有两个控制类 CartAction 和CartJsonAction。类名含义CartAction普通形式的控制器,调用相应的业务层方法CartJsonActionAjax 提交时使用的控制器HeadService业务层类,包含各种相应的业务处理方法CartDAO包含相应的持久层方法CartActionCartAction 类类: :方法含义execute()调用业务层方法查询会员相应的购物车update()调用业务层方
40、法修改购物车delete()调用业务层方法删除购物车CartJsonActionCartJsonAction 类类: :方法含义add()添加商品到购物车HeadServiceHeadService 类:类:方法含义findCartByMember()依据会员查询相应的购物车updateCart()修改购物车deleteCart()删除购物车中的商品addMerToCart()将商品加入购物车CartDAOCartDAO 类:类:方法含义findByMember()依据会员查询相应的购物车updateCart()修改购物车delete()删除购物车中的商品saveCart()将商品加入购物车订
41、单模块订单模块类名含义OrderAction控制器调用相应的业务层方法HeadService业务层类,包含各种相应的业务处理方法OrderDAO包含相应的持久层方法OrderActionOrderAction 类类: :方法含义execute()调用业务层方法显示订单addOrder()调用业务层方法添加historyOrder()调用业务层方查看历史订单modifyOrder()调用业务层方法进入修改订单deleteOrder()调用业务层方法删除订单showOrders()调用业务层方法显示所有订单submit()调用业务层方法确认定单、发货HeadServiceHeadService 类
42、:类:方法含义addOrder()添加订单findHistoryOrder()查寻历史订单deleteOrde删除订单updateOrders()修改订单OrderDAOOrderDAO 类类: :方法含义findById()据编号查询订单findHistoryOrder()查寻历史订单delete()删除订单saveOrUpdate()保存或修改订单商品类别模板商品类别模板: :类名含义TypesAction控制器调用相应的业务层方法HeadService业务层类,包含各种相应的业务处理方法TypesDAO包含相应的持久层方法TypesActionTypesAction 类类: :方法含义g
43、etAllType()调用业务层方法获取类别deleteType()调用业务层方法删除addType()调用业务层方法添加种类updateType()调用业务层方法修改种类recommend()调用业务层方法推荐某类商品到首页cancelRecommend()调用业务层方法取消推荐HeadServiceHeadService 类类: :方法含义findByReCommend查询推荐的商品findAllTypes()查询所有类别deleteType()删除类别saveType()保存类别updateType()修改类别TypesDAOTypesDAO 类:类:方法含义findByRecommen
44、d()查询被推荐的类别findById()据编号查询所有类别findAll()查询所有类别saveOrUpdate()保存或修改类别delete()删除类别后台管理员模块后台管理员模块: :类名含义AdminAction控制器调用相应的业务层方法UserService业务层类,包含各种相应的业务处理方法AdminDAO包含相应的持久层方法AdminActionAdminAction 类类: :方法含义valAdmin()调用业务层方法校验用户save()调用业务层保存管理员update()调用业务层方法修改管理员权限delete()调用业务层方法删除管理员modifyPwd()调用业务层修改管
45、理员密码exit()注销UserServiceUserService 类类: :方法含义validateAdmin()校验用户saveAdmin()保存管理员updateAdmin()修改管理员delAdmin()删除管理员AdminDAOAdminDAO 类类: :方法含义findAdminByNameAndPwd据用户名与密码查询用户saveOrUpdate()保存或保存管理员Delete()删除管理员findById()依据编号查询管理员时序图通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,时序图中的每条消息对应了一个类操作或
46、状态机中引起转换的触发事件。以下列出了本商城中的登录时序图与购物时序图,其它功能时序图与其两者基本相似,只是处理的对象不同,故此不在赘述。业 业 : MemberLoginJsonActionUserServiceMemberDAO业 业 业1: 业 业 业 业2: execute()3: validateMem()4: 业 业5: 业 业 业 业 业 业6: 业 业 业 业7: 业 业 业 业 业 业8: 业 业 业 业 业 业图 3-15 登录时序图 : MemberCartJsonActionHeadServiceCartDAO业 业 业1: 业 业 业 业2: 业 业 业 业 业 业
47、业3: 业 业 业 业 业 业 业4: 业 业 业 业5: 业 业 业 业6: 业 业 业 业7: 业 业 业 业图 3-16 购物时序图4程序清单程序清单4.1 数据库脚本数据库脚本具体实现脚本:#管理员表CREATE TABLE admin(admin_id INT(2) AUTO_INCREMENT,admin_name VARCHAR(50) NOT NULL,admin_pwd VARCHAR(30) NOT NULL,admin_type INT(1) NOT NULL,CONSTRAINT PK_ADMIN_ID PRIMARY KEY (admin_id) );#会员表CREA
48、TE TABLE member(mem_id INT(5) AUTO_INCREMENT,mem_name VARCHAR(50) NOT NULL,mem_pwd VARCHAR(30) NOT NULL,mem_tel VARCHAR(15),mem_address VARCHAR(50),mem_regist_date VARCHAR(10),mem_post VARCHAR(10),mem_email VARCHAR(20),mem_cart_id INT(5),CONSTRAINT PK_MEMBER_ID PRIMARY KEY (mem_id);#商品种类CREATE TABLE
49、 types(type_id INT(3) AUTO_INCREMENT,type_name VARCHAR(30),type_desc VARCHAR(100),type_recommend int default 0,CONSTRAINT PK_TYPES_ID PRIMARY KEY (type_id);#商品信息表CREATE TABLE merchantable(mer_id INT(6) AUTO_INCREMENT,mer_name VARCHAR(50) NOT NULL,mer_type_id INT(3),mer_place VARCHAR(50),mer_price DE
50、CIMAL(8,2) NOT NULL,mer_discount DECIMAL(2,1),mer_picture VARCHAR(50),mer_desc VARCHAR(50),mer_producter VARCHAR(60),mer_leave_date VARCHAR(10),mer_add_date VARCHAR(10),mer_num int default 0,CONSTRAINT PK_MERCHANTABLE_ID PRIMARY KEY(mer_id),CONSTRAINT FK_MERCHANTABLE_TYPE_ID FOREIGN KEY (mer_type_id
51、) REFERENCES types(type_id);#商品评价表CREATE TABLE evaluate(eval_id INT(3) AUTO_INCREMENT,eval_mem_id INT(5),eval_mer_id INT(6),eval_date VARCHAR(20),eval_content VARCHAR(200),CONSTRAINT PK_EVALUATE_ID PRIMARY KEY (eval_id),CONSTRAINT FK_EVALUATE_MEN_ID FOREIGN KEY (eval_mem_id) REFERENCES member (mem_i
52、d),CONSTRAINT FK_EVALUATE_MER_ID FOREIGN KEY (eval_mer_id) REFERENCES merchantable(mer_id);#购物车 购物车号即为会员编号CREATE TABLE cart(cart_id INT(5) AUTO_INCREMENT,cart_mem_id INT(5),cart_mer_id INT(6) unique,cart_num INT(3),CONSTRAINT PK_CART_ID PRIMARY KEY (cart_id),CONSTRAINT FK_CART_ID FOREIGN KEY (cart_m
53、em_id) REFERENCES member(mem_id),CONSTRAINT FK_CART_MER_ID FOREIGN KEY (cart_mer_id) REFERENCES merchantable (mer_id);#订单表CREATE TABLE orders (order_id INT(6) AUTO_INCREMENT,order_date VARCHAR(20),order_mem_id INT(5),order_status INT(1),order_send_time varchar(60),order_remark varchar(100),order_sum
54、 DECIMAL(8,2),CONSTRAINT PK_ORDER_ID PRIMARY KEY (order_id),CONSTRAINT FK_ORDER_MEM_ID FOREIGN KEY (order_mem_id) REFERENCES member(mem_id);#购物记录CREATE TABLE record(record_id int(6) AUTO_INCREMENT,record_mer_id int(6),record_mer_num int(3),record_order_id int(6),CONSTRAINT PK_RECORD_ID PRIMARY KEY (
55、record_id),CONSTRAINT FK_RECORD_MER_ID FOREIGN KEY (record_mer_id) REFERENCES merchantable (mer_id),CONSTRAINT FK_RECORD_ORDER_ID FOREIGN KEY (record_order_id) REFERENCES orders (order_id);4.2 项目实现部分代码项目实现部分代码1. applicationContext.xml 配置文件配置文件org.hibernate.dialect.MySQLDialectupdatetrue truecom/esho
56、p/bean/Admin.hbm.xmlcom/eshop/bean/Cart.hbm.xmlcom/eshop/bean/Evaluate.hbm.xmlcom/eshop/bean/Member.hbm.xmlcom/eshop/bean/Merchantable.hbm.xmlcom/eshop/bean/Orders.hbm.xmlcom/eshop/bean/Record.hbm.xmlcom/eshop/bean/Types.hbm.xml 2. daoContext.xml 配置文件配置文件3. struts.xml 配置文件配置文件index.jspindex.actionin
57、dex.jspmember/modifyPwd.jspmember/modifyAddress.jspregistSucc.jspmember/modifyPwd.jspshowByType.jspshowById.jspresult.jspshowById.jsp1.jsp/head/login.jspmycart.jspaccount.jspfinish.jsphistoryOrder.jspmodifyOrder.jspmodifyOrder.jsp1.jspjsp/index.jsplogin.jsplogin.jsp1.jspimage/bmp,image/png,image/gif
58、,image/jpeg30000/imagemerInfo.jspsaveMerInfo.jspmer!showAllMer?page=1modifyMer.jspmodifyResult.jspuploadError.jsp1.jsptypeInfo.jsptypeInfo.jsptypeInfo.jsporderInfo.jsporderInfo.jspmemInfo.jspmemInfo.jspadminInfo.jspadminInfo.jspmodifyAdminResult.jspmodifyPwd.jsp/back/login.jsp/back/login.jsp1.jsp 4.
59、 业务层业务层 HeadServiceImpl 类类package com.eshop.service.impl;import java.util.ArrayList;import java.util.List;import java.util.Random;import com.eshop.bean.Cart;import com.eshop.bean.Evaluate;import com.eshop.bean.Member;import com.eshop.bean.Merchantable;import com.eshop.bean.Orders;import com.eshop.be
60、an.Record;import com.eshop.bean.Types;import com.eshop.dao.CartDAO;import com.eshop.dao.EvaluateDAO;import com.eshop.dao.MerchantableDAO;import com.eshop.dao.OrdersDAO;import com.eshop.dao.RecordDAO;import com.eshop.dao.TypesDAO;import com.eshop.service.HeadService;import com.eshop.tool.DateTime;pub
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【模块二名篇名句默写】【高分攻略】高考语文一轮复习学案(含答案解析)
- 农业园规划设计
- 石河子大学《数字媒体设计与制作》2023-2024学年第一学期期末试卷
- 石河子大学《工程水文学》2022-2023学年第一学期期末试卷
- 石河子大学《编译原理》2023-2024学年第一学期期末试卷
- 沈阳理工大学《数学提高》2022-2023学年第一学期期末试卷
- 沈阳理工大学《理论力学》2021-2022学年第一学期期末试卷
- 沈阳理工大学《电子测量技术》2022-2023学年期末试卷
- 沈阳理工大学《场地设计》2022-2023学年第一学期期末试卷
- 贵州省贵阳市云岩区房屋租赁合同编号
- 2024年海南省高考历史试卷(含答案解析)
- 24秋国家开放大学《当代中国政治制度》形考任务1-4参考答案
- 医院检验科实验室生物安全程序文件SOP
- “以德育心,以心育德”
- 干部履历表请用开纸双面打印
- 小学语文作文生活化教学实践研究
- 反射反应及反射发育的评定
- M7.5浆砌石砌筑
- 制浆洗漂详细过程工艺
- 吉林省义务教育阶段新课程计划表(新)
- 35kV配电系统调试试验方案
评论
0/150
提交评论