1、目录摘 要 .- 1 -ABSTRACT.- 2 -1. 引 言 .- 3 -2. 设计目的与任务 .- 4 -3. 需求分析 .- 4 -4. 系统设计 .- 5 -4.1 分层模式 .- 5 -4.2 开发技术与工具 .- 5 -4.3 总体设计 .- 10 -4.3.1 系统总体结构 .- 10 -4.3.2 流程图 .- 12 -4.4 详细设计 .- 13 -4.4.1 数据库设计 .- 13 -4.4.2 系统开发规范及说明 .- 17 -4.4.3 具体模块设计 .- 19 -5. 程序清单 .- 26 -5.1 数据库脚本 .- 26 -5.2 项目实现部分代码 .- 29 -
2、6. 程序调试与体会 .- 45 -7. 运行结果 .- 46 -8. 结 论 .- 54 -9. 致 谢 .- 54 -10. 参考文献 .- 54 - 1 -摘 要随着信息化网络的发展,网络对人们的生活影响越来越大,网上购物也逐渐成为一种趋势,这对电子商场的发展起到了很好的推进作用。本文主要通过对电子商城的应用环境和主要实现功能进行分析,叙述了本电子商城的设计与实现过程。该系统是基于多层企业级应用标准 JAVA EE 技术开发的WEB 应用,以典型的 MVC 模式架构为基础。采用 JaveEE5 轻量级框架SSH 与前台 Ajax 技术相结合来实现,在设计过程中全方位的应用软件工程的开发思
3、想,对项目进行 UML 建模包括各模块的类图、时序图等。系统基于 B/S 分布式结构,适应范围广阔。关键词:电子商城;SSH;Ajax ;框架- 2 -AbstractWith the development of information networks, the network plays an increasing role in peoples lives, and online shopping is becoming a trend, which wonderfully facilitates the development of electronic store. This ar
4、ticle is focused on the analysis of the applied environment of electronic mall and the main achievement function, for the purpose of describing the design and implement process of E-mall.The system is based on the web application developed with multi-standard enterprise application standard JAVA EE,
5、framed with classical MVC model architecture,and realized through the combination of lightweight framework SSH and front desk Ajax technology. In the design process a full range of application development software engineering development ideas was used in theUML modeling of the project,which include
6、d class diagrams, sequence diagrams. The system is based on B / S distributed architecture to meet a broad range of requirements.Key words: Electronic Mall, SSH, Ajax, Framework- 3 -1. 引 言随着网上购物的迅猛发展,电子商城大量涌现,而电子商城的出现不仅改变了人们传统的购物方式,也逐渐的影响着人们的消费观,一个好的电子商城不仅能给客户带来方便,更能给企业带来巨大的财富。本商城主要利用JavaEE 与 Ajax 技
7、术进行开发,具有很强的安全性、可靠性和可扩展性。其前台实现了从商品选购到订单提交整个业务流程,后台实现了对整个系统的管理,就整体功能而言,能满足基本的网上购物需求,能让用户感到便捷、快速,让企业管理、维护更简单。 - 4 -2. 设计目的与任务随着信息化技术在生活中的应用越来越广泛,网上购物也逐渐成为人们的一种生活方式。本系统正是基于这样一种环境下应运而生。本电子商城分为前、后台两部分,前台主要实现会员的网上购物业务流程,后台则由各种管理员对商城会员、商品、定单等内容进行管理。3. 需求分析本电子商城分为前后台两部分,前台主要包括非会员和会员用户,后台分为商品管理员、订单管理员、会员管理员和系
8、统管理员。在系统中依据用户的权限执行相应的功能。系统用例图如下所示:业业业业业业业业业业业业业业业业业业 业业业业业业业 业业 业业业业业业业业业业业业业业业业业业业业业业业业业业业业业业业业业图 3-1 系统用例图- 5 -4. 系统设计4.1 分层模式本系统是基于 B/S 模式开发的 JAVA EE 多层体系结构 WEB 应用。系统开发主要分为以下几层:表示层、业务层、DAO 层、持久层。业务层和 DAO层都通过接口与其它层进行连接从而减小了各层之间的耦合度,实现高内聚、低耦的思想。分层结构图如下所示:图 4-1 系统分层结构4.2 开发技术与工具主要开发工具为:MyEclipse8.6、
9、Mysql6.0、Tomcat6.0、PowerDesigner12。主要技术包括:JavaEE 轻量级框架 S2SH、MD5 算法、- 6 -Log4j、Ajax、JSON。S2SH 集成框架是 Struts、Spring 和 Hibernate 三种技术的有机融合, 是目前应用最广泛的 Java EE 架构。在 S2SH 集成框架中,Struts 的作用是提供 MVC 模型, 将界面、业务逻辑和数据分离, 并提供一个高可扩展的架构。Spring 作为核心,向上整合 MVC 框架,向下整合 ORM 框架,使用 Spring的 IoC 容器来管理各组件之间之间的依赖关系,Spring 的声明事
10、务将负责逻辑层组件的事务管理。而 Hibernate 提供了一个抽象的数据服务视图,将用户对数据库的访问进行高度抽象。 Struts 是目前创建Web 应用最常用的表现层MVC 框架实现,是Jakarta Apache 的一个开源项目。基于Model2 的Struts 框架利用控制器和定制标签库将应用中的模型和视图分离,达到了层间松散耦合的效果,同时提高系统的灵活性、重用性和维护性。作为开源项目,Struts 经受了大量实践的检验,功能越来越强大,体系也日臻完善,并且对其他技术和框架显示出良好的融合性。- 7 -图4-2 Struts2.0 MVC结构图Spring 由Rod Johnson
11、创建,它是为了解决企业应用开发的复杂性而创建的。Spring 使用基本的JavaBean 来完成以前只可能由EJB 完成的事情。然而,Spring 的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java 应用都可以从Spring 中受益。简单来说,Spring 是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。图4-3 Spring功能图Hibernate 是一个开放源代码的对象关系映射框架,它对JDBC 进行了非常轻量级的对象封装,使得Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate 可以应用在任何使用JDBC 的场合,
12、既可以在Java 的客户端程序使用, 也可以在Servlet/JSP 的Web 应用中使用。- 8 -图4-4 Hibernate运行图AJAX 是 Asynchronout JavaScript and XML 的缩写,它并不是一门新的语言或技术,实际上是几项技术按一定的方式组合在一起,在共同的协作中发挥各自的作用,它包括:使用 XHTML 和 CSS 标准化呈现;使用 DOM 实现动态显示和交互;使用 XML 和 XSLT 进行数据交换和处理;使用XMLHttpRequest 进行异步数据读取;最后用 JavaScript 绑定和处理所有数据。AJAX 的一个最大的特点是无需刷新页面便可向
13、服务器传输或读写数据(又称无刷新页面) ,这一特点要得益于 XMLHTTP 组件 XMLHttpRequest 对象。这样就可以像再发桌面应用程序只同服务器进行数据层面的交换,而不用每次都刷新界面,也不用每次将数据处理的工作提交给服务器来做,这样即减轻了服务器的负担又加快了响应速度、缩短了用户等候时间。- 9 -图4-5 Ajax模型JSON(JavaScript Object Notation,JavaScript 对象标记)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于 JavaScript(Standard ECMA-262 3rd Edition-Dec
14、ember 1999)的一个子集。JSON 采用与编程语言无关的文本格式,但是也使用了类 C 语言的习惯,这些特性使 JSON 成为理想的数据交换格式。而 AJAX 可以利用 JSON 更加有效地接收数据,因为 JSON 特殊的属性。在 Struts 2 的 showcase 中的AJAX 部分,JSON 的结果输出是通过 Freemaker 模板实现。这种方法在简易性和灵活性上都比不上 JSON 插件。Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。当用户登录的时候,系统把用户输入的密码进行 MD5 Hash 运算,然后再去和保存在文件系统中的 MD5 值进行比较,进而确定输入的密码是否正确。通过这样的