struts2工作原理:
编程原理:
用户发送http请求---》Web服务器(tomcat)--》加载web.xml(web部署描述文件)文件-执行struts核心控制器(
StrutsPrepareAndExecuteFilter或者filterDispatcher)--> 加载struts.xml文件,通过请求action名字找到匹配的action -->在action中调用(execute)(业务层|数据层) -->执行result=“"--> 通过result 找到struts.xml与result名字匹配结果--》转发到
页面返回给调用者
程序调用:
struts内部原理图:
(1)用户发送http请求--》启动web服务器 ---》加载web.xml(web部署描述文件)配置文件 ---》执行web.xml中相应过滤器
ActionContextCleanUp:清除页面中的属性
other filter(SiteMesh:装饰过滤器)
SiteMesh作用:页面布局、装饰
FilterDispatcher:struts2核心控制器
注意:(a)使用SiteMesh(装饰过滤器),struts2容器 不在管理页面中属性,需要调用ActionContextCleanUp完成销毁
(b)过滤器执行是有顺序
ActionContextCleanUp-->SiteMesh-->FilterDispatcher
(2)中央控制器FilterDistpacher询问ActionMapper是否需要请求action
(3)如果需要请求action,FilterDispatcher就会调用它的代理(ActionProxy)加载配置文件
(4)ActionProxy会调用Configuration Manager读取strus.xml配置文件
注意:只加载一次
(5)根据请求名字,ActionProxy(action代理)调用 所有拦截器(Inertceptor),ActionProxy(action代理) 创建Action Invocation,去执行所对应action类, 根据Action类中名字找到匹配result页面 (jsp、freeMarker、Velocity)等技术,在此执行拦截器
注意:struts2拦截器和servlet过滤器功能相同, 并比filter强大 拦截器执行顺序:先进后出
(6)相应给用户(HttpServletResponse)
工作原理图:
- 大小: 125 KB
分享到:
相关推荐
### Struts2工作原理深度解析 #### 引言 Struts2框架,作为Java Web开发领域的一款重要工具,其设计理念源自于WebWork框架,并融合了Struts1的优点,旨在提供更为强大、灵活的MVC(Model-View-Controller)架构...
### Struts2工作原理 #### 一、Struts2简介 Struts2是Apache软件基金会的一个开源项目,它是Struts1的下一代版本,基于WebWork框架,并融合了Struts1的一些特性,形成了一个新的MVC(Model-View-Controller)框架...
Struts2 工作原理及拦截器和过滤器 Struts2 框架的工作原理可以分为以下几个步骤: 1. 客户端发出一个指向 Servlet 容器的请求(Tomcat); 2. 这个请求会经过几个过滤器,最后会到达 FilterDispatcher 过滤器。...
### 二、Struts2工作流程详解 #### 1. 请求初始化 一切始于客户端发起的HTTP请求,该请求通常包含用户提交的数据和请求的资源标识符。请求首先到达Web服务器的Servlet容器,如Apache Tomcat。 #### 2. 过滤器链 ...
理解Struts2的工作原理是深入学习和有效利用该框架的关键。下面将详细介绍Struts2的工作流程。 1. **请求接收**:当用户在浏览器中提交一个HTTP请求时,这个请求首先会被Web服务器(如Apache Tomcat)接收到。如果...
在本文中,我们将深入探讨Struts2的工作原理和源码分析,以帮助理解其内在机制。 1. **Struts2架构图**: 当一个HTTP请求到达服务器时,它首先通过一系列Filter(过滤器),包括ActionContextCleanUp,该过滤器...
总的来说,Struts2的工作原理是通过一系列的组件协作,实现了从用户请求到业务逻辑处理再到视图展示的完整流程。它通过拦截器机制提供了强大的扩展性,使得开发者可以轻松地插入自定义的行为,增强了应用程序的灵活...
下面将详细解释Struts2的工作原理,以便深入理解其核心流程。 1. **客户端请求**:当用户在浏览器中发起一个HTTP请求,该请求会被发送到服务器上的Servlet容器,例如Apache Tomcat。 2. **过滤器链**:请求首先会...
现在我们来详细解析Struts2的工作原理。 首先,当客户端发起一个HTTP请求到服务器,这个请求会到达Servlet容器,如Tomcat。在Struts2框架中,一系列的过滤器(Filter)会介入这个请求处理流程。其中,...
在Struts2的工作原理中,有几个核心概念和技术值得深入理解: 1. **前端控制器(Front Controller)模式**:Struts2框架基于Servlet API中的Filter设计模式实现前端控制器,即`StrutsPrepareAndExecuteFilter`。它...
理解Struts2的工作原理是提升Java web开发技能的关键。 **工作流程** 1. **请求接收**:当用户在浏览器中发起HTTP请求,请求到达应用服务器,Struts2拦截器会捕获这个请求。Struts2的核心是Front Controller,即`...
### Struts2配置与工作原理详解 #### 一、Struts2概述 Struts2是Apache Struts项目下的一个开源框架,它继承了Struts1的...对于希望进一步了解Struts2工作原理的开发者来说,掌握以上提到的关键知识点是非常重要的。