struts 实例详解 2007

struts 实例详解 2007

ID:42770261

大小:32.00 KB

页数:7页

时间:2019-09-20

struts 实例详解 2007_第1页
struts 实例详解 2007_第2页
struts 实例详解 2007_第3页
struts 实例详解 2007_第4页
struts 实例详解 2007_第5页
资源描述:

《struts 实例详解 2007》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、struts实例详解2007-04-27来自:java060515  [收藏到我的网摘]作为基于MVC模式的Web应用最经典框架,Struts已经正式推出了1.1版本,该版本在以往版本的基础上,提供了许多激动人心的新功能。本文就将带你走进Struts1.1去深入地了解这些功能。    说明:希望本文的读者能有一定的Struts使用基础。    1、Model2Struts是基于Model2之上的,而Model2是经典的MVC(模型-视图-控制器)模型的Web应用变体,这个改变主要是由于网络应用的特性--HTTP协议的无状态性引起的。    Model2的目的和MVC

2、一样,也是利用控制器来分离模型和视图,达到一种层间松散耦合的效果,提高系统灵活性、复用性和可维护性。在多数情况下,你可以将Model2与MVC等同起来。    在利用Model2之前,我们是把所有的表示逻辑和业务逻辑都集中在一起(比如大杂烩似的JSP),有时也称这种应用模式为Model1,Model1的主要缺点就是紧耦合,复用性差以及维护成本高。    2、Struts1.1和Model2    既然Struts1.1是基于Model2之上,那它的底层机制也就是MVC,首先,控制器(ActionServlet)进行初始化工作,读取配置文件(struts-config

3、.xml),为不同的Struts模块初始化相应的ModuleConfig对象。比如配置文件中的Action映射定义都保存在ActionConfig集合中。相应地有ControlConfig集合、FormBeanConfig集合、ForwardConfig集合和MessageResourcesConfig集合等。    提示:模块是在Struts1.1中新提出的概念,在稍后的内容中我们将详细介绍,你现在可以简单地把模块看作是一个子系统,它们共同组成整个应用,同时又各自独立。Struts1.1中所有的处理都是在特定模块环境中进行的。模块的提出主要是为了解决Struts1

4、.0中单配置文件的问题。    控制器接收HTTP请求,并从ActionConfig中找出对应于该请求的Action子类,如果没有对应的Action,控制器直接将请求转发给JSP或者静态页面。否则控制器将请求分发至具体Action类进行处理。    在控制器调用具体Action的execute方法之前,ActionForm对象将利用HTTP请求中的参数来填充自己(可选步骤,需要在配置文件中指定)。具体的ActionForm对象应该是ActionForm的子类对象,它其实就是一个JavaBean。    此外,还可以在ActionForm类中调用validate方法来

5、检查请求参数的合法性,并且可以返回一个包含所有错误信息的ActionErrors对象。如果执行成功,ActionForm自动将这些参数信息以JavaBean(一般称之为formbean)的方式保存在ServletContext中,这样它们就可以被其它Action对象或者JSP调用。    Struts将这些ActionForm的配置信息都放在FormBeanConfig集合中,通过它们Struts能够知道针对某个客户请求是否需要创建相应的ActionForm实例。    Action很简单,一般只包含一个execute方法,它负责执行相应的业务逻辑,如果需要,它也进

6、行相应的数据检查。执行完成之后,返回一个ActionForward对象,控制器通过该ActionForward对象来进行转发工作。    我们主张将获取数据和执行业务逻辑的功能放到具体的JavaBean当中,而Action只负责完成与控制有关的功能。遵循该原则,所以在上图中我将Action对象归为控制器部分。    提示:其实在Struts1.1中,ActionMapping的作用完全可以由ActionConfig来替代,只不过由于它是公共API的一部分以及兼容性的问题得以保留。ActionMapping通过继承ActionConfig来获得与其一致的功能,你可以等

7、同地看待它们。同理,其它例如ActionForward与ForwardConfig的关系也是如此。    3、模块    我们知道,在Struts1.0中,我们只能在web.xml中为ActionServlet指定一个配置文件,这对于我们这些网上的教学例子来说当然没什么问题,但是在实际的应用开发过程中,可能会有些麻烦。因为许多开发人员都可能同时需要修改配置文件,但是配置文件只能同时被一个人修改,这样肯定会造成一定程度上的资源争夺,势必会影响开发效率和引起开发人员的抱怨。Struts1.1在Struts1.1中,为了解决这个并行开发的问题,提出了两种解决方案:  

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。