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