当前位置:文档之家› 基于JavaEE的通用商城系统设计毕业论文设计

基于JavaEE的通用商城系统设计毕业论文设计

毕业论文(设计)题目:基于Java EE的通用商城系统设计

毕业论文(设计)原创性声明

本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果。据我所知,除文中已经注明引用的内容外,本论文(设计)不包含其他个人已经发表或撰写过的研究成果。对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。

作者签名:日期:

毕业论文(设计)授权使用说明

本论文(设计)作者完全了解**学院有关保留、使用毕业论文(设计)的规定,学校有权保留论文(设计)并向相关部门送交论文(设计)的电子版和纸质版。有权将论文(设计)用于非赢利目的的少量复制并允许论文(设计)进入学校图书馆被查阅。学校可以公布论文(设计)的全部或部分内容。保密的论文(设计)在解密后适用本规定。

作者签名:指导教师签名:

日期:日期:

注意事项

1.设计(论文)的内容包括:

1)封面(按教务处制定的标准封面格式制作)

2)原创性声明

3)中文摘要(300字左右)、关键词

4)外文摘要、关键词

5)目次页(附件不统一编入)

6)论文主体部分:引言(或绪论)、正文、结论

7)参考文献

8)致谢

9)附录(对论文支持必要时)

2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。

3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。

4.文字、图表要求:

1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写

2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画

3)毕业论文须用A4单面打印,论文50页以上的双面打印

4)图表应绘制于无格子的页面上

5)软件工程类课题应有程序清单,并提供电子文档

5.装订顺序

1)设计(论文)

2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订

3)其它

基于Java EE的通用商城系统设计

摘要:Java EE体系结构是目前建立电子商务及其它基于Web的企业应用程序的首选技术之一。本文对基于Java EE的通用商城系统进行了研究与设计,对基础知识、需求分析、业务范围、系统需求、概要设计方案进行了详细阐述。本设计基于B/S结构体系,采用MVC模式。系统采用Eclipse开发软件,软件环境采用Oracle数据库,Tomcat服务器。整个系统的六大模块保持高度的可重用性,各个模块之间的耦合程度非常低,保证了系统的高可扩展性、高可维护性。该系统可使销售者和消费者之间信息的交流更高效,更便捷,为人们提供方便的选购途径。

关键词:Java EE;MVC模式;Oracle数据库;B/S结构体系

A Common Commercial System Designed Based

on the Java EE

Abstract:Java EE architecture is one of the preferred techniques for setting up electronic commerce systems and other enterprises which are based on Web. This paper researches and designs General shopping system founded on Java EE, and describes rudiments, demand analysis, system requirements and general design proposal in detail. This design based on B/S structure system, using MVC mode. The system adopts Eclipse developing software while the software environment employs Oracle database and Tomcat server. Six modules of the whole system maintain high reusability and have low degree of coupling among them. In this case, the system has high expansibility and maintainability. This system can enable the communication between dealers and consumers more efficient, more convenient, and provides convenience for people to choose and buy.

Keywords:Java EE; MVC model; Oracle database; B/S structural system

目录

第一章前言 (1)

1.1 研究背景 (1)

1.2 研究现状与意义 (2)

1.2.1 现状 (2)

1.2.2 意义 (2)

第二章Java EE相关技术的研究与系统配置 (3)

2.1 Java语言概述 (3)

2.2 Java EE体系结构的研究 (3)

2.2.1 Java EE体系结构 (3)

2.2.2 Java EE多层体系结构的应用意义 (3)

2.3 Java EE设计模式研究 (4)

2.3.1 设计模式概述 (4)

2.3.2 MVC设计模式 (4)

2.4 MVC设计模式的实现技术 (5)

2.4.1 Struts2技术 (5)

2.4.2 Spring技术 (6)

2.4.3 Hibernate技术 (6)

2.4.4 SSH(Spring+Struts2+Hibernate)整合 (7)

2.4.5 Ajax技术 (7)

2.4.6 JQuery技术 (8)

2.4.7 JDBC 技术 (8)

2.5 开发环境配置 (8)

2.5.1 配置Java运行环境 (8)

2.5.2 配置Tomcat6.0 (9)

2.5.3 安装Oracle数据库 (10)

第三章系统分析 (11)

3.1 系统可行性分析 (11)

3.2 系统总体规划 (11)

3.2.1 系统总体需求 (11)

3.2.2 系统总体结构图 (11)

3.2.3 系统设计目标与原则 (12)

3.2.4 商城工作区域功能分析 (12)

3.2.5 商城管理区域功能分析 (13)

3.2.6 Jsp页面及相关业务 (14)

3.3 系统数据持久化分析 (15)

第四章系统数据库的设计 (16)

4.1 表、关系模型、数据库的概述 (16)

4.2 数据库的详细建立 (16)

4.2.1 系统总表(System) (16)

4.2.2 新闻表(News) (17)

4.2.3 系统表(Setting) (18)

4.2.4 公告表(Announment) (18)

4.2.5 评论信息表(CommentItem) (18)

4.2.6 禁止评论用户信息表(UserBlockList) (18)

4.2.7 禁止评论商品信息表(GoodsBlockList) (19)

4.2.8 商品表(Goods) (19)

4.2.9 商品库存表(GoodsStock) (19)

4.2.10 商品入库表(StockInRecord) (20)

4.2.11商品出库表(StockOutRecord) (20)

4.2.12 用户表(BCUser) (20)

4.2.13 订单表(Order) (21)

4.2.14 订单明细表(OrderItem) (21)

第五章系统的整体实现 (22)

5.1 功能模块设计 (22)

5.2 客户端 (23)

5.2.1 系统首页 (23)

5.2.2前台新闻详细设计 (23)

5.3 后台管理 (25)

5.3.1 后台新闻详细设计 (25)

5.4 系统中的关键问题 (31)

5.5 运行工程 (31)

第六章总结与展望 (37)

6.1 总结 (37)

6.2 展望 (37)

致谢 (39)

参考文献 (40)

第一章前言

随着Java Web应用的发展,虽然Servlet和JSP非常有用,但它们处理很多常见的任务都需要大量的繁琐的编程工作,于是我们采用框架的机制,简化开发任务,提高开发效率。Java EE 开发一般分为三层结构,分为表现层,业务逻辑层和数据访问层。每一层都可以选择相应的开发框架进行开发,结合当今世界最流行的开发框架,经过我们仔细的研究与分析,表现层采用Struts2结构,业务逻辑层采用Spring,数据访问层采用Hibernate。目前所谓熟悉的SSH整合方案就是这三者的结合,这种方案的有点事帮助文档齐全,源代码可读性好,而且项目架构清晰、分明,耦合性低。SSH中每个框架的特点如下:

Struts2框架是Struts1.x的升级版,继承了Webwork框架的优良设计,提供了更为强大的功能。Struts2的taglib标签库能避免JSP页面编写大量业务逻辑,使开发者逐渐掌握MVC架构的精髓。

Spring 框架具有IoC解耦合和AOP面向方向编程的特点,在项目中更多的作为其他框架的“粘合剂”。

Hibernate框架是目前最流行的ORM(对象-关系映射)框架。Hibernate框架对JDBC进行了轻量级的对象封装,以便开发者使用对象编程的思想来控制数据库。

1.1研究背景

Web2.0的时代,互联网的发展,网络已成为继报刊,电视,广播等传媒体系的一大新媒质,网络宣传的力度已成为重中之重,当今的企业,纷纷建立自己的网站,借助信息的快速传递来加速发展。而现今,通过各式各样的网站如淘宝网,当当网,网上购物已成为家喻户晓的购物手段,浏览一个网店,既省时又省力,足不出户就可以购买自己喜欢的东西,大大加快整个社会的运作过程,提高整个社会的发展速度。当今社会是一个竞争激烈的社会,网上通用商城的大力发展更加激起了消费者的欲望,更加刺激了网上购物的发展,是一个很好的研究方向。

1.2 研究现状与意义

1.2.1 现状

现在流行的一条不成文的惯例是:判断一个网上商店的经营是否成功的标志是是否盈利。如果一家网上商店有了盈利期,就是成功的。在我国,网上购物的环境日益成熟,整个市场日益显现,而目前几乎所有的网上商店都还没有得到资金方面的支持,这样一个高风险的行业,要走一条平稳发展的道路几乎是不可能的,不进则退,网上商店非常需要资金后盾。但是,随着内、外部环境的逐步改善,网上购物正在朝着积极的方向发展。我国各级政府和有关部门对信息技术的关注和扶植力度是非常大的,经过了一番艰苦的努力,网上购物的繁荣已经越来越近,

但是目前网上购物尚未成气候,难道是因为这种形式没有生命力?

在过去的三个月在JUPITER COMMUNICATIONS的一份关于电子商务网站的调查中,出现了一些值得人们注意的数据:网上购物的障碍还比较多。在过去的三个月中,已经有2250万的成年网民在网上进行了购物行为,然而只有11%的人真正购买到了产品;儿童网站并不容乐观。虽然在Internet上有很多针对青年和儿童的网站,但是在所调查的600多个网站中,只有不到10%能够真正按照网站产品的分类进行购买;顾客在最终结算时存在疑虑。购物顾客中有四分之一的人在结算之前取消了定单……但是,这并不能阻碍网上购物的快速发展。近来,在媒体上抄了一年多的电子商务,终于有了一些实在的动静,一些网上通用商城陆续推出。因此我想做一个网上通用商城系统,以实现自己的网上销售愿望。

1.2.2 意义

1、投资少,见效快。

2、销售规模不受店面空间的限制。

3、不受地理位置影响,消费群体突破了地域的限制,变得无限广阔。

当代社会是信息化的社会,速度投资与高级回报已经成了社会的主题,以更少的投资获取更多的回报应该是我们所向往的,网上开店已经为我们解决了很多客观上的难题,所以我们就应该细心的去经营这种很惬意的通用的网上购物系统。

第二章Java EE相关技术的研究与系统配置

2.1 Java语言概述

自1995年5月Sun Microsystems公司正式发布Java语言,它是Java程序设计语言跟Java平台的总称。跨平台、动态web计算模式从此让Java广泛被接受并且推动了Web的迅速发展。Java是新一代面向对象和面向网络的程序设计语言,特别适合于Internet上的应用软件开发,因此也把Java语言称为新一代网络程序设计语言。Java 语言是一种很优秀的语言,具有面向对象,与平台无关、安全、稳定和多线程等优良特性,是目前软件设计中极为健壮的编程语言。它彻底改变了应用软件的开发模式,为迅速发展的信息世界增添了新的活力。现在Java已经是甲骨文公司的一部分,虽然Sun被收购了,但是我相信Java的发展不会停止,它的魅力将会永存于人们的心中。

2.2 Java EE体系结构的研究

2.2.1 Java EE体系结构

Java Enterprise Edition-JA V A 企业版,基于Java SE基础之上,包含Java WEB 技术(Servlet、JSP技术、JSF视图技术),包含组件技术(EJB技术),包含WEB 服务技术,其他企业环境下的技术,如XML支持等[1]。它是一套设计、开发、编译和部署企业级应用程序的规范,基于多层结构的WEB应用,支持分布式计算应用模型,以服务端计算为核心,基于主键开发、松耦合,支持统一的安全事务、负载均衡、并发处理等。通常分为四层体系架构(客户层,表示层,业务逻辑层,数据层)。

2.2.2 Java EE多层体系结构的应用意义

Java EE的多层模型,解决了二层化结构的缺陷[2]。

表示层为第一层。它的主要功能是实现用户的交互和数据表示,为以后的处理收集数据,向第二层的业务逻辑请示调用核心服务处理,并显示处理结果。

业务逻辑层为中间层。这些组件由中间件管理,实现核心业务逻辑服务并将这些服务按名字广播,管理并接受客户的服务请求,向数据永久层提交数据操

作,并将处理结果返回给请求者—即客户或其他服务器。

数据持久化层构成模型的第三层。如关系型数据库,负责管理应用系统的数据资源,完成数据操作。服务器组件在完成服务的过程中通过资源管理器存取它管理的数据,或者说请求资源管理器的数据服务。应用服务架构在提供了大型机系统稳定、安全和处理能力的同时,拥有可扩展性强、开发周期短等优点。

事实上,多层方式可以使企业级应用具有很强的伸缩性,它允许每层专注于特定的角色。例如,让WEB服务器负责提供页面,应用服务器处理应用逻辑,而数据库服务器提供数据库服务。各逻辑层既相互独立又有机的紧密联系,任何一层的改动都不会影响到其它逻辑层的工作,利于系统的扩充。由于采用了中间件封装的技术,业务逻辑和表示逻辑的分离,使系统更安全、可伸缩性更强、响应时间更快速、数据分布更合理、更易使用。

2.3 Java EE设计模式研究

2.3.1 设计模式概述

人们都把关于“重复发生的问题的描述和解决办法”统称为设计模式。“模式”几乎无处不在,其实它就是一种经验的积累。因为GOF的《设计模式:可复用面向对象软件的基础》一书描述的23种经典设计模式,奠定了模式在软件行业的地位,从此人们提到“设计模式”就是默认指的是“面向对象设计模式”,但是模式绝对不局限于软件行业,即使在软件行业,也不局限于GOF描述的23种设计模式,例如最著名的Martin Flower的《企业架构模式》,还有我们常用的MVC、IOC等。通常Java有创建型模式,结构型模式,行为模式3大类模式[3]。

2.3.2 MVC设计模式

MVC即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层:模型层、视图层、控制层[4]。

视图(View)代表用户交互界面,对于Web应用可以概括为HTML界面,但也有可能为XHTML、XML和Applet。随着应用的复杂性和规模性,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求。业务流程的处理交予模型(Model)处理。

模型(Model):是业务流程/状态的处理以及业务规则的制定。其模型接受视图请求的数据,并返回最终的处理结果。MVC并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。

控制(Controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求,控制层不做任何的数据处理。

系统采用MVC的优点有[5]:

1、最重要的是有多个视图对应一个模型的能力。按MVC设计模式,一个订单模型以及多个视图即可解决问题。这样减少了代码的维护量,一旦模型发生改变,也易于维护。

2、由于模型返回的数据不带任何显示格式,因而这些模型也可直接应用于接口的使用。

3、由于一个应用被分离为三层,因此有时改变其中的一层就能满足应用的改变。一个应用的业务流程或者业务规则的改变只需改动MVC的模型层。

2.4 MVC设计模式的实现技术

2.4.1 Struts2技术

Struts2是在WebWork基础上发展起来的框架,Struts2 的Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去实现常用的接口。Struts2 使用"ValueStack"技术,使taglib能够访问值而不需要把你的页面和对象绑定起来。Struts2 使用OGNL 进行类型转换,提供基本和常用对象的转换器。

下面简单介绍Struts2技术的大致处理流程[6]:

1、浏览器发送请求,例如请求/form.action、/news/news.do等。

2、核心控制器FilterDispatcher根据请求决定调用合适的Action。

3、WebWork的拦截器链自动对请求应用通用功能。

4、回调Action的execute方法,该方法先获取用户请求参数,然后执行某种数据库操作,既可以是将数据保存到数据库,也可以从数据库中检索信息。

5、Action的execute方法处理结果信息将被输出到浏览器中,可以是Jsp、HTML页面、图像,也可以是PDF文档或者其他文档。

2.4.2 Spring技术

Spring是轻量级的管理Bean的容器,包括生成实例、装配、销毁实例等;Bean定义及相互关系可通过XML文件进行配置[7]。Spring是应用框架,提供完整的MVC框架,很容易与其他前端技术集成,可以将简单的组件配置、组合成为复杂的应用。Spring的核心—IOC,控制反转(IOC-Inverse Of Control),也称为依赖注入(DI-Dependency Injection),通过IoC促进了松耦合,应用IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象[8]。Spring是AOP,它提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务,应用对象只实现它们应该做的,完成业务逻辑,仅此而已。此外,Spring是非侵入式的、典型地,Spring应用中的对象不依赖于Spring的特定类。

Spring三个核心接口:BeanFactory、ApplicationContext、BeanWrapper[9]。

(1)BeanFactory接口:负责依据配置文件生成并管理Bean实例;

(2)ApplicationContext接口:扩展了BeanFactory,提供程序框架性的功能,主要有:资源访问,事件传播,加载多个上下文,国际化支持;

(3)BeanWrapper接口:利用Java反射机制,定义了一组操作bean的接口方法。

2.4.3 Hibernate技术

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以使用对象编程思维来操纵数据库[10]。

Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration[11]。这5个核心接口在任何开发中都会用到,通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。

(1)Session接口:Session接口负责执行被持久化对象的CRUD操作。

(2)SessionFactory接口:SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象,这里用到了工厂模式。

(3)Configuration接口:Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。

(4)Transaction接口:Transaction接口负责事务相关的操作。

(5)Query和Criteria接口:Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。

2.4.4 SSH(Spring+Struts2+Hibernate)整合

1、Spring+Hibernate整合:

Spring可以完成Hibernate的所有工作,所以去掉hibernate.cfg.xml文件,将工作交给了Spring来处理。首先在applicationContext.xml文件中配置数据连接类和SessionFactory类,SessionFactory类可用基于回调的HibernateTemplate类实现,或者使用非回调的HibernateDaoSupport实现。HibernateTemplate可用扩展HibernateDaoSupport 自行创建或在方法setSessionFactory()中创建,然后可使用HibernateTemplate类来进行数据持久化操作。

2、Spring+Struts2整合:

(1)在web.xml文件中配置Spring的上下文监听器。

(2)在web.xml文件中配置Struts2的过滤器。

(3)设置Struts.xml文件,就可以使用Spring的IOC来管理struts的Action。

(4)在struts.xml 文件中配置一个action时,它的class就不是一个类了,而是在applicationContext.xml文件中定义过的类的ID,在struts.xml文件中就只需要引用定义好的id 就可以了。

3、SSH整合开发:

同时引入用1、2步再加入相应的jar包。进行组合开发时的一般过程如下:

(1)先从最底层开发POJO类和Hibernate映射文件。

(2)再开发DAO层,使用DAO工厂模式,以保证和上层没有任何的联系,并且可以方便类与接口的扩展。

(3)第三是开发业务逻辑层,专门处理各种业务逻辑,实现系统的业务处理功能。并且它隔离事务,使与下层的数据持久和上层的数据操作没有任何的联系。

(4)最后是开发表示层,处理action的接收与回复,所有action由spring管理。

2.4.5 Ajax技术

Ajax全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术,可实现局部刷新。Ajax依赖浏览器的JavaScript和XML,开发人员必须理解传统的MVC架构。Ajax前景非常

乐观,可以提高系统性能,优化用户界面。Ajax是近年来Web开发领域最大的突破性技术之一[12]。

2.4.6 JQuery技术

jQuery是继prototype之后又一个优秀的Javascrīpt框架,用来获取异步数据。其宗旨是—写更少的代码,做更多的事情。它是轻量级的js库(压缩后只有21k) ,兼容CSS3和各种浏览器。jQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供Ajax交互。jQuery能够使用户的HTML页保持代码和HTML内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。在其核心,jQuery重点放在从HTML页面里获取元素并对其进行操作。有了jQuery,就能够利用现有知识去发挥选择器的威力,简化了Ajax的开发程度,在很大程度上简化JavaScript代码[13]。

2.4.7 JDBC 技术

JDBC(Java Database Connectivity)是常用的Web数据库连接技术,最大优势是它为所有数据库管理系统提供一种标准接口,可以为多种关系数据库提供统一访问,大致可以分为以下三个部分[14]:

JDBC API的主要特点之一是简单且容易掌握。它主要由接口组成而不是集成类,被包含在java.sql和javax.sql两个包中。

JDBC驱动管理器的作用是在JDBC运行结构上,提供最基础的指引功能,即当一个JDBC API程序进行数据库调用时,它会选择一个正确的JDBC驱动程序进行连接。

JDBC驱动的作用是当JDBC API制作的程序进行数据调用时,实际连接数据库并进行相应的处理。

2.5 开发环境配置

2.5.1 配置Java运行环境

1.安装jdk1.6.0_06:拷贝必要的工具Jar包,放在lib目录下。

2.配置电脑属性:方法是右键单击我的电脑->属性->高级选项卡->环境变量->其效果图如图2-1所示。

相关主题
文本预览
相关文档 最新文档