基于SSH2的商务网站的设计毕业设计论文.docx

上传人:b****3 文档编号:12885462 上传时间:2023-04-22 格式:DOCX 页数:65 大小:445.33KB
下载 相关 举报
基于SSH2的商务网站的设计毕业设计论文.docx_第1页
第1页 / 共65页
基于SSH2的商务网站的设计毕业设计论文.docx_第2页
第2页 / 共65页
基于SSH2的商务网站的设计毕业设计论文.docx_第3页
第3页 / 共65页
基于SSH2的商务网站的设计毕业设计论文.docx_第4页
第4页 / 共65页
基于SSH2的商务网站的设计毕业设计论文.docx_第5页
第5页 / 共65页
点击查看更多>>
下载资源
资源描述

基于SSH2的商务网站的设计毕业设计论文.docx

《基于SSH2的商务网站的设计毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于SSH2的商务网站的设计毕业设计论文.docx(65页珍藏版)》请在冰豆网上搜索。

基于SSH2的商务网站的设计毕业设计论文.docx

基于SSH2的商务网站的设计毕业设计论文

 

毕业论文(设计)

题目:

基于SSH2的电子商务网站设计

基于SSH2的电子商务网站设计

摘要

在我国,电子商务目前处于打基础的阶段,企业对电子商务从概念转向务实。

有条件的企业在关注电子商务发展动态的同时,还用电子商务相关的现代供应链的理念打造企业的框架。

企业在建设电子商务系统的时候,往往会受到以下条件的制约:

技术集成性的限制;没有统一的数据交换的标准;缺少有效的决策支持;缺少网络安全保障体系。

针对以上的问题,在对Internet的相关技术积累的大量经验的基础上,考虑到近年来Java技术的快速发展和J2EE框架的不断完善,并充分利用Java的可跨平台性,以及SSH2框架提供的可建设多层系统的优势,提出了建立基于SSH2电子商务网站的设计思想,从技术和应用角度提供了解决方案。

本文以基于SSH2体系的Web开发方法为探讨的基线。

首先,根据Web应用的经典分层理论,对持久层的设计进行了分析,引入了Hibernate框架技术;然后,应用Struts2作为表示层实现,应用Hibernate作为持久层实现,并结合Spring技术作为业务层实现,进行框架整合,从而设计出了一套足够灵活、松散耦合、可扩展且高效率的Web开发框架,最后,详细论述了该框架在电子商务系统中的应用。

通过实践表明,应用这种系统框架可以提高系统开发的效率,同时满足系统扩展性和可维护性的要求。

 

关键词:

Struts2,Spring,Hibernate,架构,电子商务;

Abstract

InChina,itisinthefundamentalphasefore-Business,andtheenterprises’attitudetoe-Businessarechangingfromconcepttopractice.Whenconcerningthedevelopmentofe-Business,somewell-runningenterprisesareestablishingtheirframeworkwiththeconceptofmodernsupplychainassociatedwithe-Business.Asaindispensableimportantnodeofsupplychain,thepurchasebusinesshasbeenalsobroughtintothecategoryofe-Business.

Itislimitedbysomeconditionsforenterprisestoestablishthee-Businesssystem,suchasthelimitoftechnicalintegration,onuniformstandardfordataexchange,shortofeffectivedecision-makingsupportandthenetworksecurityensuringsystem.

BasedontheabundantexperienceofInternettechnology,andconsideringthefastdevelopmentofJavatechnologyandcontinuousconsummationofSSH2architecture,theauthorraisesthedesignthoughtofestablishingBTCe-Businessonlinesystemwiththecross-platformabilityofJavaandtheadvantageofSSH2architecture,whichsupportingtoestablishmultiplelayersystem.Italsoprovidesthetechnicalandapplicativesolutionfortheaboveproblemsinthisthesis.

ThepaperisbasedonthewebdevelopmentmethodsofSSH2architecture.Firstly,IappliedtheStruts2tothepresentationlayer,appliedtheHibernatetopersistencelayer,appliedtheSpringtothebusinesslayer,conformedinframeworkandconstructedaflexible,looselycoupled,extensibleandhighperformancedevelopingarchitecture.Finally,anexamplebasedonE-CommerceSystemisintroducedtoillustratetheprocesstobuildanmulti-tierssystemwiththehelpofthearchitecture.Resultsshowthatthisnewframeworkhelpstoincreaseworkefficiencyinexploration.Meanwhile,expansibilityandmaintainabilityofthesystemwithinthisframeworkarealsosatisfactory.

Keywords:

Struts2,Spring,Hibernate,architecture,E-Commerce

1绪论

1.1系统开发的背景

框架是可重用的、半完成的应用程序,可以用来产生专门的定创程序。

框架运行在相同的机器上,期望从相同的设备输入信息然后再输出到相同的显示设备,并且存储数据到相同的硬盘设备。

作为开发人员都习惯使用这些可以覆盖应用开发同一性的工具包和开发环境架构,再这些公共基础上的应用架构可以为开发人员提供能为产品提供可重用服务的基础架构。

架构可以提供一系列具有以下特征的骨架组件:

首先,它们已经很好的应用在它程序上;其次,它们随时可在下一个项目中使用;最后,它们可被开发组织的其它团队使用。

如果构建框架,在完成时就要理解它,但是在开发人员被融入之前将花费很长的时间。

若要购买,还得学习它,在开发人员可以用它工作之前也要花费很长时间。

因为对于使用框架时构建还是购买没有所谓正确的答案。

但许多开发者都会同意这一些,像Struts2这样的框架能提供比从头开始开发更显著的投资回报,特别是对于大型项目来说。

Struts2是MVC架构技术的一种具体实现,它是一种符合MVC范例的JSP开发技术,是对JSP开发技术的继承和发展,包含了丰富的标记库和独立于该框架工作的使用程序类。

由于Struts2给Web应用带来了良好的层次划分,现在Struts2已经成为用Java创建Web应用的一个最流行的框架工具,目前一些大型厂家也开始在J2EE集成开发工具中嵌入Struts2的支持。

Struts2的目标是为了减少在运用MVC设计模式来开发Web应用的时间,它将可以完成其中一些繁重的工作。

若想混合Servlet和JSP的优点建立可扩展的应用,Struts2是以个不错的选择。

Hibernate作为一种开源大妈的对象关系映射框架,实现了对JDBC的轻量级对象封装,切好满足了这个时代潮流的需求。

Hibernate是按照LGPL许可证发布的开源式源代码应用程序,它是“用于Java的超高性能的对象/关系持久性和查询服务”。

应用Hibernate可以使得Java程序员可以方便的用对象编程的思想将持久对象映射到关系数据库,而不必花费大量的开发时间去更新和维护复杂的数据持久层,降低了J2EE架构应用软件开发的难度和复杂度,提高Java应用软件的开发效率,进而使Java的企业级应用开发更加容易、灵活、强大。

Spring是以个解决了许多在J2EE开发中常见问题的强大开源框架。

它提供了管理业务对象的一致方法并且鼓励对接口编程而小时对类编程的良好习惯。

Spring通过IoC依赖注入、AOP应用、面向接口编程,来降低业务组件之间的耦合度,增强系统扩展性。

Spring有一系列模块组成,比如反转控制容器,面向切面,MVC模型,持久层,数据访问对象和远程调用。

这一系列的模块之间相互关切很少,很多模块都可以独立使用。

开发人员选择一个模块,一些模块,或者更多的Spring模块进行开发。

1.2系统开发的目的

网上购物时在Internet开放的网络环境下,基于浏览器/服务器应用方式,实现消费者的网上交易和在线电子支付的一种新型的商业运营模式。

网上购物将传统的购物流程电子化、数字化,一方面以电子代替了实物流,可以大量减少人力、物力;另一方面突破了时间和空间的限制,使得交易活动可以在任何时间、任何地点进行,极大地方便了最终消费者,是您的购物过程变得轻松、快捷、方便,从而大大提高了效率。

目前大多数网上购物系统是基于两层体系结构来进行设计和开发的。

随着Internet的飞速发展,传统的两层体系结构面临着严峻的挑战,其中最为突出的问题是开发负担重、维护难等。

面对着这些问题,基于J2EE框架,采用框架技术及设计模式,可以开发出高可靠性、可扩展性和可重用性的特点。

1.3系统提出的意义

在项目开发过程中,我们选择Struts2、Spring和Hibernate这三种开源框架来搭建系统架构。

其意义在于,首先,提供免费、开源、有丰富的文档和稳定的开发背景。

其次,便于实现系统的大规模开发和管理。

由于层次之间松散耦合,在开发过程中,层与层之间的工作几乎是完全独立的,而不同的业务逻辑基础模块进行开发,所以便于团队开发。

再者,利于系统业务的重用和改动。

基于这种架构的Web医用是基于模块的,表现层和业务逻辑分离,所以不至于“牵一发而动全身”。

同时,这样也便于业务逻辑的重用。

第四,良好的设计思想。

Struts2是基于MVC的框架,很好地把业务逻辑和表现层分离;Hibernate是以个小巧的实现对象关系映射的工具,把面向对象的设计开发与关系数据库联系起来了;Spring将J2EE层次架构中的业务分离为业务逻辑层和数据持久层,降低了业务组件之间的耦合度,增强系统扩展性。

当然,基于这三种框架也有各自的缺点,如:

在Struts2中,Action映射非常复杂;Hibernate的对象、关系之间的映射工作量很大;三者的配置文件都很复杂等等。

其实,这正是其灵活之处。

应为把各层够完全分离了所以才易于重用和可扩展,因而其灵活映射的配置文件才会很复杂。

基于这三个框架的J2EE架构开发简洁、结构清晰,有很好的可扩展性和可维护性,非常适于面向对象和远程信息服务系统的设计与开发。

尤其随着Internet及全球信息网应用的快速发展,对Web的应用不再仅仅要求其有发布静态信息的简单功能,同时要求具有实时动态处理交互信息的能力,而且这些要求还在不断的变化和提高,即使利用最先进的软件平台J2EE,开发这样的应用仍然是个难题。

在多层Web体系结构的设计中,还普遍存在着程序可复用程度低,维护工作繁琐,应变能力较弱等不足。

而Struts2、Spring和Hibernate这三种开源框架的出现很好地解决了这些问题,利用此框架可以方便、快捷地开发具有高效率、灵活和可扩展的Web应用系统。

2系统技术应用及介绍

2.1JSP技术概述及其原理

2.1.1JSP技术概述

JSP(javaserverpages)是由SUN公司在servlet基础上开发出来的一种动态网页制作技术,其可是您可以将网页中的动态部分和静态的HTML相分离。

您可以使用平常得心应手的工具并按照平常的方式来写HTML句子。

然后,将动态部分用特殊的标记嵌入即可,这些标记常常以“<%”开始并以”%>”结束。

通常,您要将文件以”.jsp”为扩展名,并将它放置到任何您可以放置普通WEB页面的路径下。

尽管JSP文件看起来更像是HTML文件而不是servlet文件,但,事实上,他恰恰将装换为Servlet文件。

其中的静态HTML仅仅用来输出Servlet服务方法返回的信息。

如果JSPPages已经被转换为Servlet且Servlet被编译进而被转载(在第一次被Request时),但您再次Request此JSP页面时,将察觉不到一瞬的延迟。

JSP有4个关键成分:

指令、动作、scriptlet和标签库。

指令是指那些发送给JSP容器的消息,他是程序能够指定页面的设置、包含其他资源中的内容和指定JSP中使用的定制标签库。

动作将功能封装在预定义的标志中,然后程序员可以将他们(预定义标志)嵌入JSP中。

通常根据发送给服务器的特定客户请求中的信息来执行动作。

他们可以创建在JSPscriptlet中使用Java对象。

Scriptlet,及脚本元素,使程序员能够插入与JSP中的组件(和其他Web应用程序组件)进行交互的Java代码,已处理请求。

标记库是标志扩展机制的一部分,它使程序员能够创建定制的标志,这是标记使得程序员能够操作JSP能容。

2.1.2JSP的工作原理

当用户第一次请求或者刷新一个JSP页面时,JSP容器首先是要找到这个JSP页面的源代码文件,然后开始处理,把这个JSP源文件翻译成java代码文件。

当用户请求这个文件时,需要JSP容器来处理这个文件。

JSP的执行原理图

2.1.3JSP与ASP的比较

一般说来,Sun公司的JavaServerPages(JSP)和Microsoft的ActiveServerPages(ASP)在技术方面有许多相似之处。

两者都为动态网页的技术,并且双方面都能够替代CGI技术,是网站的开发时逞能大大缩短,在性能上也有较高的表现,更重要的一点是,两者都能够为程序员提供组件设计的功能,通过组件设计,见网页中逻辑处理部分交由负责处理(ASP使用COM组件、JSP则使用JavaBean组件),而和网页上的排版、美工分离。

尽管JavaServerPages技术和ActiveServerPages(ASP)在许多方面都很高相似,但仍然存在许多不同之处,其中本质上的区别在于:

两者是来源于不同的技术规范组织。

以下就来比较两大技术有哪些不同点,而又为各自带来哪些优势。

1).平台和服务器的弹性

ASP技术主要在微软公司的Windows平台上运行,并且搭配其WEB服务器IIS。

但是,在其他平台运行时,不是性能低落,就是根本不支持,因此,但在开发网站系统时,选择NT+IIS+ASP的体系结构时,未来当系统无法负荷时,也只能继续选择Windows平台的服务器,无法改写在性能表现相当优异的UNIX平台。

JSP技术主要运行在操作系统上的一个JavaVirtualMachine(JVM)虚拟机器上,因此,他能够越所有平台。

除了能在各式各样的操作系统上执行,并且能搭配想在的WEB服务器:

Apach、IIS、NetscapeEnterpriseServer,等等,将静态的HTML网页交由执行速度较快的WebServer处理,而动态产生网页的部分,就交由JSPContainer来执行。

所以JSP技术在跨平台的表现比ASP来的更有弹性。

2)开放的开发环境

自从1995年,Sun公司已经开放技术与国际Java组织合作开发和修改Java技术与规范。

JSP应用程序接口毫无疑问已经取得成功,并随着Java组织不断扩大其应用的规范,目前全力发展Java技术的厂商不胜枚举,例如:

IBM公司强力推广的WebSpere家族,Oracle数据库,Amazon系统的提货商BEA公司的产品WebLogic也是完全支持JavaServerPages技术和J2EE规范的。

相反,ASP技术仅依靠微软本身的推动,启发展建立在独占、封闭的基础之上并且微软本身的技术有只允许在微软相关的平台的服务器上执行,因此,在标准方面显示得有点力不从心。

3)执行性能表现

ASP和JSP在执行性能的表现上,有一段显著的差距,JSP除了在一开始加载的时间会比较久外,之后的表现就远远比ASP的表现来得好。

原因在于:

JSP在一开始接受到请求时,会产生一份Servlet实体,他会先被暂时存在内存中,我们称之为持续,当再有相同的请求时,这实体会产生一个线程来服务他。

如果过了一段时间都不再用到此实体时,容器就会自动将其释放,至于时间的长短,通常都是可以在容器上自性设定的。

而ASP在每次接收到请求时,都必须要重编译,因此,JSP的执行比每次都要编译执行的ASP要快,尤其是程序中存在的循环操作时,JSP的速度要快上1到2倍。

不过,ASP在这部分的缺陷,将随ASP+的出现有所改变,在新的ASP+技术中,性能表现上有很大的突破。

2.2JDBC介绍

JDBC,是用于执行SQL语句的Java应用程序接口,是一套API集合,在这个集合中设置了许多允许Java程序连接数据库的框架。

JDBC有一组用Java语言写成的类和接口组成,是一种连接不同数据库的规范,其宗旨是让个数据库开发商为Java程序提供标准的数据库访问类和接口。

JDBC与Java结合,是用户可以很容易的把SQL语句传送到任何关系数据库中,程序员用他编写的数据库应用程序,可以在各种数据库系统上运行。

这是真正的可移植性的软件所必须具备的一个特点。

JDBC已经被业界普遍采用,而且是Java在服务器成功的主要因素。

JDBC驱动程序是依靠独立的软件公司开发的。

JDBC驱动程序适合特定的数据库系统和数据访问模型,主要的那些数据库系统都有对应的驱动程序,例如:

Microsoft、oracle、Infomix、Sybase、Postgress、MySQL等等。

JDBC与java应用程序和数据库的关系如图:

2.3MVC模式的介绍

MVC是一种体系结构模式,代表Model-View-Controller,是应用于交互式系统的一种体系结构模式。

MVC产生于20世纪70年代Palo-Alto实验室的Smalltalk编程环境。

MVC模式指导模块的职责分配和模块之间的通信协议。

职责分配时面向对象分析和设计中最重要的工作,协议设计则是相当困难的工作。

MVC为这两项工作提供了指导,所以意义重大。

Model是应用程序对象,也就是包含应用程序数据和业务逻辑的对象。

Model对外表现为一个对象,实际上可以也应用是一组子对象的集合。

传统意义上的View是屏幕对象,负责向用户显示交互界面。

这个意义可以进行扩展,将View视为向外界展现应用程序状态的借口和界面。

所有的用户输入都由Controller负责处理。

在交互系统中,Controller是导致Model发生变化的唯一原因,是导致View发生变化的两个原因之一,因为是控制中心。

Controller将用户事件翻译成为请求,而不是命令。

如果机械地遵循MVC的规则,Controller的逻辑将十分复杂。

Controller通常需要查询View和Model才知道如何处理用户输入。

不要把所有逻辑写在Controller里。

View和Model都是有智能的对象。

可以通知他们,有他们自己决定应对的方式。

一个应用程序或者组件只能有一个Model,但是这个Model可以对应多个View。

View向Model注册,要求在Model的数据发生变化时获得通知消息。

View得到的通知消息之后,获取Model的相应数据,更新自己的显示。

View不向Model发送消息。

一个View对应一个Controller。

View负责创建和初始化Controller,这也是View和Controller关系密切的原因之一。

Controller接收用户输入,如果有与应用程序数据无关,而只涉及显示变化的用户的输入,Controller直接通知View。

Controller和View关系密切的另一个原因是现代应用程序界面复杂,灵活多变。

因此Controller需要大量了解View的情况,大量查询View的信息,距离太远不利于效率和灵活性,协议也很难设计,所以经常捆绑在一起。

例如,目前基于控件的图形界面,很多控件实际上市一个封装号得MVC实体,通过属性、事件和方法与外界协同工作,强行拆分反而适得其反。

应为一个Model对应多个View,一个View对应一个Controller,所以一个Model对应多个Controllers。

Controller接收外部输入,是导致Model发生变化的唯一原因。

同时,Model的变化可能导致Controller行为的变化。

MVC模式图

2.4Struts2

2.4.1Struts2技术概述

Struts2是Struts的下一代产品。

是在struts和WebWork的技术基础上进行了合并,全新的Struts2框架。

其全新的Struts2的体系结构与Struts1的体系结构的差别巨大。

Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts2可以理解为WebWork的更新产品。

因为Struts2和Struts1有着太大的变化,但是相对于WebWork,Struts2只有很小的变化。

2.4.2Struts2体系结构

Struts2的体系与Struts1体系的差别非常大,因为Struts2使用了WebWork的设计核心,而不是Struts1的设计核心。

Struts2中大量使用拦截器来处理用户的请求,从而允许用户的业务逻辑控制器与ServletAPI分离。

 Struts2框架的大概处理流程如下:

●加载类(FilterDispatcher)

●读取配置(struts配置文件中的Action)

●派发请求(客户端发送请求)

●调用Action(FilterDispatcher从struts配置文件中读取与之相对应的Action)

●启用拦截器(WebWork拦截器链自动对请求应用通用功能,如验证)

●处理业务(回调Action的execute()方法)

●返回响应(通过execute方法将信息返回到FilterDispatcher)

●查找响应(FilterDispatcher根据配置查找响应的是什么信息如:

SUCCESS、ERROER,将跳转到哪个jsp页面)

●响应用户(jsp--->客户浏览器端显示)

2.4.3Struts2的工作原理

一个请求在Struts2框架中的处理分为以下几个步骤:

●客户端发出一个指向servlet容器的请求(tomcat);

●这个请求会经过图中的几个过滤器,最后会到达FilterDispatcher过滤器。

●过滤器FilterDispatcher是struts2框架的心脏,在处理用户请求时,它和请求一起相互配合访问struts2的底层框架结构。

在web容器启动时,struts2框架会自动加载配置文件里相关参数,并转换成相应的类。

如:

ConfigurationManager、ActionMapper和ObjectFactory。

ConfigurationManager存有配置文件的一些基本信息,ActionMapper存有action的配置信息。

在请求过程中所有的对象

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 工作计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1