Struts新手详解【1】_Struts实现流程

上传人:豆浆 文档编号:8149601 上传时间:2017-09-26 格式:DOC 页数:6 大小:326.50KB
返回 下载 相关 举报
Struts新手详解【1】_Struts实现流程_第1页
第1页 / 共6页
Struts新手详解【1】_Struts实现流程_第2页
第2页 / 共6页
Struts新手详解【1】_Struts实现流程_第3页
第3页 / 共6页
Struts新手详解【1】_Struts实现流程_第4页
第4页 / 共6页
Struts新手详解【1】_Struts实现流程_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《Struts新手详解【1】_Struts实现流程》由会员分享,可在线阅读,更多相关《Struts新手详解【1】_Struts实现流程(6页珍藏版)》请在金锄头文库上搜索。

1、 Struts 旅程(一)Struts 简介和原理struts 简介Struts 是 Apache 软件基金会( ASF)赞助的一个开源项目。它最初是 jakarta 项目中的一个子项目,并在 2004 年 3 月成为 ASF 的顶级项目。它通过采用 JavaServlet/JSP 技术,实现了基于 JavaEEWeb 应用的 MVC设计模式的应用框架,是 MVC 经典设计模式中的一个经典产品。Struts 发展历史Struts 是作为 ApacheJakarta 项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高 JavaServerPages、servlet、标签库以及面向对象

2、的技术水准。Struts 这个名字的来源于在建筑和旧式飞机中使用的支持金属架。之所以这个框架叫做“struts”,是为了提醒我们记住那些支撑我们房屋,建筑,桥梁,甚至我们踩高跷的基础支撑。这也是解释 struts 在开发 web 应用程序中所扮演的角色的精彩描述。Struts 的含义是 ”支柱,枝干”,它的目的是为了减少程序开发的时间,项目的创建者认为 JSP,servlet 的存在虽然可以帮助用户解决大部分问题,但是由于它们的编码对项目的开发带来了许多的不方便,可重用性也差,所以 struts 应运而生,帮助用户在最短的时间内解决这些问题。Struts 框架提供如下服务:(1)作为控制器的

3、Servlet。(2)提供大量的标签库。(3)提供了用于国际化的框架,利用不同的配置文件,可以帮助用户选择合适自己的语言。(4)提供了 JDBC 的实现,来定义数据源和数据库连接池。(5)XML 语法分析工具。(6)文件下载机制。Struts 原理Struts 是对 JSPModel2 设计标准的一种实现,下面分别从模型(Model)、视图(view)和控制器 3 个部分介绍 Struts 的体系结构和工作原理。调用流程如下所示(图 1.1)。图 1.1(1)视图(view )在 Struts 中,视图层包含两个部分,JSP 页面和 ActionForm。ActionForm 封装了用户提交的

4、表单信息,其实 ActonForm 本质上就是 JavaBean,这些 JavaBean 中没有业务逻辑,只提供了所有属性的 getter和 setter 方法,这些属性和用户表单中的输入项是一一对应的。在 Struts中就是通过 ActionForm 把用户表单信息提交给控制器。JSP 页面是经典 MVC 中主要的视图组件,主要是信息显示和控制器处理结果显示的功能。除了以上,struts 还提供了一个强大的 struts 标签库,来帮助用户解决显示逻辑,并且利用 ActonForm 组件将信息传递到控制层。(2)控制器(Controller)在控制层,struts 提供了一个控制器组件 Ac

5、tionServlet,它继承自HttpServlet,并重载了 HttpServlet 的 doGet(), doPost()方法,可以接受 HTTP 的响应,并进行转发,同时还提供了使用 XML 进行转发Mapping(映射)的功能。(3)模型(Model)模型表示状态和业务逻辑的处理,在一般的 web 应用程序中,用JavaBean 或者 EJB 来实现系统的业务逻辑。在 Struts 中,struts 提供Action 对象,来管理业务逻辑的调用,帮助用户分离业务逻辑,也就是说 struts 本身不实现业务逻辑,但可以调用已完成的业务逻辑。Struts 工作流程Struts 工作流程如

6、下(图 1.2)所示。图 1.2ActionServlet 是 struts 中核心的控制器,所有的用户请求都必须通过ActionServlet 的处理,而 struts-config.xml 是 struts 中核心的配置文件,在这个文件中配置了用户请求 URL 和控制器 Action 的映射关系,ActionServlet 通过这个配置文件把用户的请求发送到对应的控制器中。在 struts web 应用程序中,当 web 应用程序启动的时候,就会初始化ActionServlet 在初始化 ActionServlet 的时候会加载 struts-config.xml 配置文件,在加载成功后会

7、把这些 URL 和控制器映射关系存放在ActionMapping 对象或者其他对象中。当 ActionServlet 接收到用户请求的时候,就会按照下面的流程对用户请求进行处理。(1)ActionServlet 接收到用户的请求后,会根据请求 URL 寻找匹配的 ActionMapping 对象,如果匹配失败,说明用户请求的 URL 路径信息有误,所以返回请求路径无效的信息,当找到匹配的 ActionMapping 的时候,进入到下一步。(2)当 ActionServlet 找到匹配的 ActionMapping 对象的时候,会根据 ActionMapping 中的映射信息判断对应的 Acti

8、onForm 对象是否存在,如果不存在对应的 ActionForm 对象就创建一个新的 ActionForm 对应,并把用户提交的表单信息保存到这个 ActionForm 对象中。(3)在 struts-config.xml 中这个配置文件,可以配置表单是否需要验证,如果需要验证,就调用 ActionForm 中的 validate()方法对用户输入的表单进行验证。(4)如果 ActionForm 的 validate()方法返回了 ActionErrors 对象,则表明验证失败,ActionServlet 把这个页面返回到用户输入的界面,提示用户重新输入。如果方法的返回值为 null,就表明

9、验证已经通过,可以进入下一步处理。(5)ActionServlet 可以根据 ActionMapping 对象查找用户请求转发给哪个控制器 Action,如果对应的 Action 对象不存在,就创建这个对象,并调用这个 Action 的 excute()方法。(6)业务逻辑控制器 Action 的 execute()方法就会返回一个ActionForward 对象,ActionServlet 把控制器处理的结果转发到ActionForward 对象指定的 JSP 页面。(7)ActionForward 对象指定的 JSP 页面根据返回的处理结果,用合适形式把服务器处理的结果展示给用户,到这里为止,一个客户请求的整个过程完毕。以上初步 struts 框架进行了介绍,和对原理进行了简单的分析。至于 struts 是如何实现 MVC 的,ActionServlet 属于 Controller 部分,Action 和 ActionForm 属于 Model 层,还是 Action 属于 Controller 层,不同的人对 struts 有不同的理解。接下来真正的运用到实践中,在实践中深刻去体会,原理固然重要,重要的是运用,是能驾驭和使用这个框架。就像学习开车一样,不是一蹴而就的。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号