Struts2 是基于WebWork 的款框架技术,它的工作原理如图:
上图来源于Struts2官方站点,是Struts 2 的整体结构。
一个请求在Struts2框架中的处理大概分为以下几个步骤
1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求。
2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin)
3 接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action
4 如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy
5 ActionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action类
6 ActionProxy创建一个ActionInvocation的实例。
7 ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。
8 一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是(但不总是,也可 能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。在表示的过程中可以使用Struts2 框架中继承的标签。在这个过程中需要涉及到ActionMapper在上述过程中所有的对象(Action,Results,Interceptors,等)都是通过ObjectFactory来创建的。
相关推荐
Struts2是一个强大的Java web开发框架,用于构建和...通过这个项目,开发者可以深入理解Struts2框架的工作原理,提高Java web开发技能。同时,这也为学习其他MVC框架,如Spring MVC或Play Framework,打下坚实基础。
《Struts2+Hibernate+MySQL开发图书管理系统详解》 在当今的信息化社会,图书管理系统作为信息资源管理的重要工具,其开发技术也在不断发展。本系统采用经典的Java Web开发框架——Struts2、持久层框架Hibernate...
Struts 是一个基于 Model-View-...虽然现在有许多更新的框架(如Spring MVC、Struts 2等)替代了Struts 1,但其基本原理仍被许多现代框架所继承和借鉴,因此对Struts的理解对于理解Web开发的历史和现状都有重要的价值。
接下来,我们谈谈Struts2的配置文件——struts.xml。这是整个系统的核心配置,定义了Action类、结果页面、拦截器等。例如,为了实现员工删除功能,struts.xml文件中可能有如下配置: ```xml ...
首先,理解Struts2文件上传的基本原理。Struts2提供了`org.apache.struts2.interceptor.FileUploadInterceptor`拦截器来处理文件上传。这个拦截器会自动解析请求中的multipart/form-data类型的数据,将文件内容转换...
讨论Struts框架在性能方面的表现,包括其高效性背后的设计原理和技术实现。 **2.6 Struts的长处和弱点** **2.6.1 弱点** 这部分可能会列出Struts的一些局限性或不足之处,如配置繁琐、学习曲线较陡峭等。 **...
这部分内容通过分析logon应用的各个组成部分,帮助读者深入了解Struts框架的工作原理。 ##### 3.3.1 欢迎屏幕的浏览器代码 这部分内容展示了欢迎屏幕的HTML代码,以及如何使用Struts标签库来增强页面的功能性。 #...
Struts和Ant是Java开发中两个非常重要的工具。Struts是一个开源的MVC(Model-View-Controller)...通过实践这个示例,你可以深入理解Struts框架的工作原理,掌握Ant的使用方法,为后续的Java Web开发打下坚实的基础。
《Struts In Action》是一本面向Web应用开发者的专业书籍,旨在帮助读者更好地掌握和利用Struts Web应用框架进行开发工作。该书由Ted Husted撰写,Eric Liu(铁手)翻译,并于2005年10月14日进行了最新修订。 #### ...
通过这些代码,你可以更好地理解ActionForm的工作原理和标签的实际运用。 总结来说,Struts视图组件的学习涵盖了ActionForm的使用、生命周期理解,以及一系列用于构建视图的标签。熟练掌握这些知识点,将有助于你在...
1.1. Hibernate工作原理 2 1.2. 什么是Hibernate的并发机制?怎么处理并发问题? 2 1.3. Hibernate自带的分页机制是什么?如果不使用Hibernate自带的分页,则采用什么方式分页? 3 1.4. hibernate的对象的三种持久化...
DWR的工作原理如下: - **Reverse AJAX**:DWR 使用反向AJAX技术,使得服务器可以主动推送数据到客户端,而不仅仅是响应客户端的请求。 - **JavaScript API**:DWR 提供了一系列JavaScript库,让开发者能够方便地...
xwork-2.2.1是Struts2框架的核心组成部分,它提供了Action处理、类型转换、数据校验、国际化等功能,是理解Struts2工作原理的关键。源代码的开放使得开发者能够深入理解其内部机制,提升开发效率和代码质量。 首先...
2、那说说数据库连接池的原理 3、Java的内存管理机制是什么 4、Javascript中怎么实现继承?有几种方式? 5、spring底层用什么实现? 6、hibernate和Jdbc的区别 7、Hibernate与Ibatis的区别 8、Struts2和1的...