- 4
- 0
- 约1.09万字
- 约 20页
- 2016-11-27 发布于重庆
- 举报
基于Struts2框架的信息發布系统的设计与初步实现
第一章 Struts2的起源和发展
说到网络应用很难让人不联想到网络信息的浏览,自从Internet进入民用领域之后,上网成为了越来越多的人闲暇时光的消磨手法。于是网络系统的开发也变得越来越总要。
1.1 Web技术的发展
随着Internet技术的大面积应用和发展,传统的静态HTML页面由于缺乏足够的用户交互能力已经无法满足日益膨胀的网络需求。人们希望Web应用中能够包含更多的动态交互功能,于是为了应对拥有更广泛用户群的动态Web开发,软件开发商分别推出的ASP和JSP两款动态网站开发解决方案。但是当时的JSP开发并没有很科学的层次设计,最初的JSP开发中逻辑代码和前端代码杂合在一起。虽然在最初开发时这样的做法使得开发非常的容易,然而随着Web系统的使用越来越广泛,应用规模的日益增长,如果继续使用传统的简单的JSP + Servlet结构进行Web系统的开发,则会由于系统层次混乱而导致系统的开发难度和维护成本越来越大,最终使开发过程陷入困境。
1.2 MVC思想进入Web系统开发
面对开发过程中所出现的困难,开发者们试图寻找一种能够使得开发结构更加具有条理性的开发模式。根据以往面向对象系统设计的经验,开发者开始将MVC开发模式引入Web系统的开发。MVC模式将一个应用分为三个基本部分:Model(模型)、View(视图)、Controller(控制器)。在此模式中触发事件由控制器捕获,并根据事件的类型来改变模型和视图。这样既可将系统模型与视图分离,从而使各部分能够工作在最小的耦合状态下协同工作,从来提高系统的扩展性和可维护性。将其引入Web系统开发后,系统模式由传统的JSP完成用户请求和响应改变为由控制器捕获用户请求,JavaBean完成模型操作,而JSP专门负责响应用户需求。老一代的开发框架Struts1便是这时的产物。
1.3 Struts2开发框架的成型
随着Struts1框架在Web系统开发中的大量应用,越来越多的使用者发现Struts1有着许多不可避免的缺陷。首先,Struts1只支持JSP作为表现层,然而并不是所有的Web系统都必须使用JSP进行信息反馈。其次,Struts1编写业务逻辑控制器时,必须调用大量Servlet API,而这些接口都是依赖于Web服务器的。这样就造成了业务逻辑测试无法脱离Web容器,造成了测试的困难。最后,由于大量的Servlet API使用,使得系统结构混乱,使得这些业务逻辑在使用其他框架是需要大量重写,降低了代码使用效率。为了应对这些问题,Struts2去除了业务逻辑中对于Servlet API的耦合,使得业务逻辑类不需要继承任何Struts2基类,降低了测试难度,也加强了Action类的可移植性。
1.4 本章小结
本章从Web系统开发的发展历程入手,讲述了Web系统开发模式的变化,从而引出了Struts框架的起源,描述了Struts1的出现,以及所带来的问题。并由此解释了Struts2出现的目的,和解决的问题。
第二章 Struts2框架的基本原理
学习一个框架,我们首先要了解他的工作原理和基本工作方式,由此才能够进行后续的学习和使用,本章从基本的流程开始讲解Struts2的基本原理和相关配置。
2.1 Struts2的事务处理流程
相对于Struts1框架,Struts2为了使业务逻辑控制与Servlet容器的API分离而大量使用了拦截器来处理用户的请求。首先由Struts2的核心控制器拦截到用户在浏览器中发送的请求,然后核心控制器根据请求调用适当的Action进行处理。然后根据Action返回的参数选择对应处理方式将处理的结果返回给浏览器。
2.2 Struts2的基本配置
Struts2的基本配置主要包括三个部分:站点设置、核心设置控制器、业务控制器设置。
2.2.1 为站点添加Struts2框架支持
要使用Struts2框架开发就必须要将Struts2框架嵌入到当前的Web系统中,为Web系统提供相关支持。那么我们需要被指配置WEB-INF路径下的web.xml文件,将Struts2的核心控制器键入系统。该Web.xml文件在开发过程中该文件会存在与源代码目录中。
具体设置比较简单,只需要将web.xml中的filter标签配置为:
filter filter-name Struts2/filter-name filter-classorg.apache.struts2.dispatcher.FilterDispatcher/filter-class
/filter
filter-mapping
filter-nameStruts2/filter-name
url-pattern/*/url-pattern
/filter-mapping
这样设置之后系统将会调用str
您可能关注的文档
- 基于Solidworks的抓物機器车机构设计及运动仿真.docx
- 基于SolidWorks的注塑模具CAD系統.doc
- 基于Solidworks的零件參数化设计.doc
- 基于solidworks蝸轮齿面的三维仿真造型.doc
- 基于SolidWorks的錘片式饲料粉碎机的设计.doc
- 基于Solidworks齒轮精确建模.doc
- 基于solidworks的雙级圆柱齿轮减速器机械实体造型设计.doc
- 基于som網络灰关联分析BP网络预测模型.doc
- 基于Solr的搜索引擎研究與实现.doc
- 基于SOPC技術实现数字闹钟.doc
- 基于Struts2旅游信息管理系統的设计与实现.doc
- 基于Struts2標签的BigPipe技术实现.docx
- 基于Struts2物流信息流管理系統的设计与实现.doc
- 基于struts教學辅助系统的设计与实现.doc
- 基于Struts的在線教学管理系统(SQL数据库)_1401191946156385.doc
- 基于Struts構架的网上教学资源共享管理系统.doc
- 基于Super生涯發展理论的研究生就业指导展望.doc
- 基于SVAR模型的中國核心通货膨胀的估计与应用(统计研究0804028).doc
- 基于supermap的城市中小零售商選址系统设计与实现.docx
- 基于Struts的體育商城网站设计与实现.doc
原创力文档

文档评论(0)