`
endual
  • 浏览: 3567227 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

struts2的执行机制

 
阅读更多

struts2是web应用中一个常用的mvc框架,下面探讨一下其内部运行机制:

1.从客服端浏览器输入的url后,客服端通过http协议发送一个请求到服务器(tomcat),Tomcat收到这个请求之后,它会查看你请求的是哪一个web  application(一般是一个项目),接着将请求交给对应的web application处理;

2.web application的处理过程:首先读取web.xml文件,通过filter过滤url,然后调用filter-class对应的类StrutsPrepareAndExecuteFilter;

3 接着StrutsPrepareAndExecuteFilter被调用,StrutsPrepareAndExecuteFilter询问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 框架中继承的标签。

分享到:
评论

相关推荐

    struts2运行机制

    ### Struts2运行机制详解 #### 一、Struts2框架概述 Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web应用框架,它为开发者提供了构建可扩展、易于维护的Web应用程序的工具。Struts2不仅继承了...

    Struts2工作机制

    Struts2并不是Struts1.x的直接升级,而是结合了WebWork框架的核心机制,因此它具有更稳定、高性能和成熟的设计。 Struts2的工作机制主要包括以下几个关键部分: 1. **过滤器Dispatcher**: Struts2的核心是`...

    struts2运行原理

    struts2 的运行机制可以分为以下几个步骤: 1. 客户端在浏览器中输入一个 url 地址。 2. 这个 url 请求通过 http 协议发送给 Tomcat。 3. Tomcat 根据 url 找到对应项目里面的 web.xml 文件。 4. 在 web.xml 里面会...

    Struts2的工作机制及分析

    Struts2是Struts1.x和WebWork两个社区合作的结果,可以认为是WebWork的一个进化版本,继承了WebWork的核心机制并在此基础上进行了优化和封装。 在Struts2的工作机制中,FilterDispatcher是一个关键组件,它是一个...

    Struts2异常处理机制

    Struts2作为一款流行的Java Web框架,其异常处理机制是其核心功能之一,它使得开发者能够优雅地管理和处理应用程序中的异常情况,提供了一种统一的错误处理方式,从而提高用户体验并增强程序的健壮性。 在Struts2...

    Struts2漏洞检查工具Struts2.2019.V2.3

    3. 类加载器问题:Struts2使用了自定义的类加载机制,这为攻击者提供了利用的机会。通过特定的请求,攻击者可能可以加载并执行恶意类,进一步执行RCE。 4. 漏洞利用库:攻击者通常会利用已知的Struts2漏洞库,如CVE...

    struts2的令牌机制

    Struts2的令牌机制是其防止重复提交和CSRF(跨站请求伪造)攻击的一种重要安全策略。在Web开发中,尤其是使用MVC框架如Struts2时,确保用户请求的唯一性和安全性至关重要。令牌机制就是这样的一个工具,它通过在表单...

    struts2jar包

    2. **xwork-core.jar**:XWork是Struts2的基础,它提供了一些基础功能,如类型转换、Ognl表达式支持、拦截器机制等。很多Struts2的功能都是基于XWork实现的。 3. **ognl.jar**:OGNL(Object-Graph Navigation ...

    Struts2视频教程

    - **Hello Struts2**:通过创建一个简单的“Hello World”示例,帮助开发者快速上手Struts2的基本配置和运行流程。 - **Action类详解**:Action类是Struts2的核心组件之一,负责处理用户的请求并返回相应的结果。...

    struts2小程序 struts2代码

    Struts2是一个强大的Java web应用程序框架,用于...通过分析源代码,可以深入理解Struts2的工作原理、配置机制以及MVC模式在实际项目中的应用。对于初学者,这是一个很好的实践平台,能帮助他们掌握Web开发的基本技能。

    Struts2接口文档

    Struts2是一个强大的Java web应用程序开发框架,它基于Model-View-Controller...通过仔细研读这份文档,开发者不仅可以掌握框架的基本用法,还能对Struts2的底层机制有深入的认识,从而更好地优化自己的代码和设计。

    struts1和struts2的区别

    ### Struts1与Struts2的主要区别 #### 概述 Apache Struts 是一个用于构建企业级Java Web应用的开源框架。它分为两个版本:Struts1 和 Struts2。虽然两者都基于模型-视图-控制器(MVC)设计模式,但它们之间存在...

    Struts2教学视频

    Struts2的主要作用是协调前端视图、后端业务逻辑和模型数据,它通过拦截器(Interceptor)机制实现了请求处理的分层架构,使得代码更加模块化和易于管理。此外,Struts2还支持多种视图技术如JSP、FreeMarker、...

    struts2jar.zip

    10. **异常处理**:Struts2提供了一套完整的异常处理机制,可以自定义错误页面和异常处理器。 总的来说,"struts2jar.zip"压缩包是一个实用的学习资源,涵盖了从基础到进阶的Struts2知识,通过阅读提供的说明和实践...

    struts2的各种jar包

    2. **核心库**:`struts2-core.jar`是框架的核心,包含Action、Result、Interceptor、Freemarker模板引擎等相关类,它是Struts2运行的基石。 3. **拦截器库**:`struts2-convention-plugin.jar`和`struts2-...

    struts2技术内幕+struts2权威指南

    《Struts2技术内幕:深入解析Struts2架构设计与实现原理》由国内极为资深的...运行主线篇首先对Struts2的两大运行主线——初始化主线和HTTP请求处理主线进行了深入的剖析,然后对Struts2的扩展机制进行了解读和抽象

    struts2 ,struts2 demo

    在提供的“struts2 demo”压缩包中,你可以找到这些概念的具体实现,包括Action类、视图页面、配置文件等,通过分析和运行这些示例,你可以深入理解Struts2的工作原理和用法。这个压缩包对于初学者来说是一个很好的...

    Struts2主要Lib

    在提供的"Struts2主要Lib"压缩包中,包含了运行Struts2框架所必需的基础库文件。以下将详细讲解Struts2框架的关键知识点以及压缩包中的重要文件。 1. **MVC架构**:MVC模式是软件设计的一种模式,它将业务逻辑、...

    Struts2的视频学习代码

    10. **异常处理**:Struts2提供了全局的异常处理机制,通过`<global-exception-mappings>`标签定义异常映射,可以统一处理各类运行时异常。 "Struts2-part01"可能包含的是该系列学习的第一部分内容,可能涵盖了...

Global site tag (gtag.js) - Google Analytics