基于SSH2架构的电子商务系统(2)

2019-01-10 14:47

JAVA EE架构与应用课程设计

2.1企业级应用架构的发展

随着计算机技术在企业应用软件领域的迅速发展,作为跨越整个企业业务之间的桥梁,企业级应用与当前的计算机技术更完美的融合到企业应用程序,是体系结构的必然发展。

在软件系统中,软件体系结构提供了一个包括行为、结构和属性的高级抽象, 它是由元素描述、元素间相互作用、元素集成的模式和模式的约束组成。系统的拓扑结构和组织结构也由软件体系结构指定,构成系统和系统需求中的元素也由其显示出来,由此给供了关于设计决策的一些基本原理.

设计好体系结构,决定着系统开发的成败。近几年来,互联网技术发展迅猛, 特别是基子web的相关技术,如检索技术、信息发布技术、 Java相关技术和网络分布式技术的发展,使系统体系结构由 C/S结构向 B/S结約、再到多层分布式结构演交,从而使软件系统中的网络体系结构进入了一个新的阶段。

从 C/S架构到 B/S架构: (1) c/s架构:

即Client/servet (客户加服务器)架构.c/s架构中数括库内容被存放在远程的服务器上,使得客户机上必须安装相应的软件。 C/S架构分两部分构成:一部分是前端客户机,用于接受用户请示,请求数据库服务;另一部分是后台服务器, 客户端接收数据管理(Serye,)发出的数据,最后由客户端将将计算结果发送给用户。

C/S架构是相对很成熟的一种架构,其优点是交互性强、存取模式安全、便于处理大量的数据、响应速度快。然而这是一种针对性的架构开发程序,不够灵活多变,难以维护和管理。 扩展性差,适合用于小型局域网。

(2)B/S架构:

即 Browser/Server (测览器/展务器)架构,就是只安装、维护一个服务器(server),而用测览器在客户端(Browser)运行软件。它是对c/S架构变革

和改进,主要使用了相对成熟的web浏览器技术,是软件系统构造技术的一种创新。在B/S架构体系中,服务器处理浏览器的请示,然后返回用户所需的信息到浏览器。 Web Server来处理其余工作。早期开发的B/S架构,把所有的控制逻辑、数据持久化、业务逻辑混在一起,使得企业级应用技术使用混乱,由页面脚本来实现处理逻辑,所以致使早期的B/s架构应用到后期面临着维护难度大、不易扩充的等同题。

Java企业级应用分层:

在现在企业级应用中,我们的应用软件一般分为三层,分别是客户层,业务逻辑层,企业信息系统层(或数据库层).客户层一般在客户端的PC机上,是直接与使用者交互的软件:业务逻辑层,也叫中间层,所有业务理辑处理都在这一 层完成;企业信息系统层,也在服务器端,主要用于保存数据。 sun的 javaEE规范中采用

5

JAVA EE架构与应用课程设计

4层体系,可以扩展到 n层,最简单情况会分为4层,即将业务逻辑层(中间层)分为Web层与业务层.

Web层(Wleb Tier):由Servlets和 JSP组件组成 web组件, JanBeaas组件用于管理用户输入的信息,然后业务层的Enterprise JavaBeam 来处理这些输入发送。

业务层(BusinessTier):实现业务逻辑,在基于 JavaEE规范构建的企业级信息系统中,业务层中的 Enterprise JavaBeans (EJB)由一些逻辑规则代码构建而成, 这些代码为特定业务领域的代码。EJB 组件用于完成从客户端相应功能,如在应用程序中接收数据、发送处理结果给客户端、处理符合业务规则的数据等功能, Web 层构和业务层形成了此多层体系的中间层, JavaEE 4层应用体系结构如图2-1所示。

通常情况下, 一个商业系统被划分为4个层次,分别为表示层、持久层、业务层和域模型层同,

表示层:在Web应用开发中需要关注的一个焦点即是表示层。 Struts2所应该提供的功能包括:

(1)管理用户的请求和相应。

(2)提供一个控制器负责调用业务逻辑的处理方法以及其他处理。

(3)处理其他层次抛出到Struts Action的异常。

6

JAVA EE架构与应用课程设计

(4)组装一个可以被呈现在视图(View)中的模型(Mode1)。 (5)执行表示层技验,

持久层:在web应用开发中的另一个关键点就是持久层,持久层的具体功能如下所示:

(1) 査询相关的信息并保存到 java对象中 。

(2)保存、更新和删除存储在数据庫中的信息。

业务层:典型的 Web应用的中间层就是业务层。通常业务层应该包括以下功能:

(1) 业务判断和业务逻辑处理。 (2)事物管理。

(3)通过使用相应接口和其他层交互。 (4)管理业务层对象的依赖性。

(5)可以増加持久层和表示层的灵活性,以便使他们之间不会有交互。

(6)是想一个业务的上下文,方便表示层调用业务层的服务。 (7)管理持久层的实现,

域模型层:域模型层包括真实世界中的业务对象,例如,订単,订单条目和商品等。

在 Web应用中使用域模型层可以省去开发人员创建和维护数据传输对象所带来的麻频.这个模型允许java开发人员直接使用目前流行的面向对象的软件的开发工具,而不是需要任何额外代码。

2.2 Struts2技术架构分析

Struts2技术架构是2007年才推出的一种全新的框架。它不是Struts1的升级版 本, 实际上它是在 WebWork的基础上发展而来的。

MVC英文即 Mode1-view-controller,它是目前非常流行的一种软件设计模式, MvC的设计思想是将应用的输入、处理和输出流程进行强制的分离。这样一个应用被分成为: Model(模型)、 View(视图)、 Controller(控制)这三个层同,这三个层以低耦合协同工作,由此提高应用的可结护性和可扩展性.此MVC模式结构的整体效果可如图24所示。

7

JAVA EE架构与应用课程设计

图2.4MVC结构

视图(View):用户交互的界面,具有代表性的视图技术包括: JSP技术, htm1静态页面技术,动态页面 flex框架技术和报表页面技术等等,常用的视图技术用于负责数据信息的输入和输出 。

模型(Mode1):用子处理业务流程和业务状态,制定业务规则。 MvC的核心设计即为业务模型。它还有一个很关键的模型为数据模型,此数据模型是指用子数据保存的实体对象(持久化)。

控制(controller) 业务流程由控制层进行控制,然后实現Model与view 的协同工作。并不在控制层进行数据处理。由此,形成了 Strusts+Spring+hibernate+flex 的整合框架视图, 一个视图可能对应多个模型。

随着 Web技术的不断发展和 web应用的不断扩大, struts1的诸多缺陷和局限性也逐步表现出来四,如下所示:

Struts1所支持的表现层技术比较単一 , Sln1ts1与servletAPI耦合严重,难于测试, Struts1属于入侵式设计, Struts1的Action中包含了大量的StrutslAPl,这种入侵式的设计影响了代码重用, 一旦系统需要重构,这种入侵式的设计将会带来很多间题· 由于 Stmts1存在诸多问題缺陷,而WebWork框架具有优秀的设计理念,于是基于 Struts1和 WebWork 的Struts2就诞生了。

Struts2 的关键技术突出表现在它的组件功能作用上。 Struts2的 MVC组件分为三个部分:控制器组件(核心控制器、业务控制器)模型组件、视图组件。

拦截器: 拦截器(]1aterceptolr)是动态的Action调用,类似于Slevlet中的过港器,在执行Action的execute()方法之前,Struts2

8

JAVA EE架构与应用课程设计

会首先执行在struts.xml 中引用的拦截器·拦裁器可以说是Struts2中的一个非常重要的组件.由于拦截器的存在, 才使得 Struts2的框架变得非常简単.

类型转换:在web应用程序中,用户在视图层输入的数据都是字符串,业务控制层在处理时,必须对从视图层传递过来的字符串进行类型转换。 Struts2 作为一个完善的、优秀的Mvc框架,提供了简单易用的数据类型转换机制。

Struts2框架提供了丰富的数据类型转换功能,它本身内部的类型转换器可以自动完成数据类型转换,开发者一般不需要实现自定义的类型转换器。Struts2提供如下类型转换。

(1)简単类型例如int、 boolean和double类型等,即 Struts2可以把客户端的字符串数据自动转换成int、 boolean 和 double等数据格式.

(2)日期类型Struts2会采用当前区域(Locale)的短日期格式转换客户端字符串格式的日期数据。

(3)集合类型例如 Co11egtion、 List和Set等, Struts2会将客户端的字符串使用request.getParameterValues()方法返回的字符串数据转换成集合类型 。

信息校验:每一个项目开发都会遇到信息校验的问題.当 JSP页面被用户输入数据时, 一般不可能完全按照设计人员的意图来录入正确的数据信息,比如用户在向页面输入年龄、时间等信息时可能会输入汉字,这就需要我们验证用户输入形式是否是使用合法。信息校验通常采用 Javascript 来形式来完成, Javascript是运行在客户端的程序,速度较快。

OGNL: OGNL是 Object-Graph Navigation Language的缩写,这种表达式语言功能很强大(Expression Language,简称为EL)間,其语法表达式简单, 对象属性任意存取,对象的方法调用,字段类型转化实现等功能。

标签库: Struts2的标签库使页面输出更加简单,并且支持更加复杂而丰富的功能, Strusts框架中的标签分类为三种;非用户界面标签、用户界面标签(UI标签) 和AJAx标签,其中 HTML 标签由用户界面标签生:逻辑控制和数据访问由非用户界面标签完成;AJAx 技术来支持AJAX 标签等.

文件的上传与下载:文件的上传与下载功能在很多WEB应用都会使用,Struts

框架中内置了用于文件上传的组件, 使得实现文件上传下载功能相对方便 。 Struts2是通过 CommonsFileup1oad 文件上传。 HTTP 的数据由CommonsFileUp1oad 保存到临时文件夹,然后在

Action的实例中, fileUp1oad拦截器进行文件绑定。从而,实现以本地文件方式的向浏览器上传文件操作。

9


基于SSH2架构的电子商务系统(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:小学二年级上册数学口算题(10以内乘法100以内混合运算)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: