`

浅谈struts2请求处理过程

阅读更多
当一个页面请求过来时, FilterDisptcher通过Dispatcher进行一些初始化工作,并且注入ActionMapper。 FilterDispatcher对请求进行过滤,如果请求符合要求,则返回相应的action配置信息(比如是否URL以.action结尾等),FilterDispatcher调用getMapping方法获得ActionMapping(action的配置信息)。 FilterDispatcher调用serviceAction(request,response,servletContext,mapping),serviceAction通过Dispatcher在一个Map中创建Context对象,并且置入request对象、response对象、session对象、application对象。Dispatcher然后创建一个ActionProxy对象。ActionProxy创建ActionInvoction对象,ActionInvocation首先创建ValueStack,并拷贝Map的内容到Valuestack的context中,随后ActionInvocation创建Action对象,并把Action对象放入valuestack的root中,最后创建ActionContext对象,并把Map的内容也拷贝进入ActionContext对象。ActionContext对象是我们跟request/session/application这些scope对象交互的接口,可以通过ActionContext在这些对象里面存取值。ActionInvocation创建一系列拦截器。至此创建对象完成。 FilterDispatcher执行excute方法,导致ActionProxy调用invoke方法,导致ActionInvocation执行系列拦截器,以及Action方法,ActionInvocation根据配置创建Result对象(能支持不同结果类型的Result对象),ActionInvocation执行excute方法执行呈现操作。 FilterDispatcher将ValueStack放入request Scope中是为了在标签里能获得ValueStack。
分享到:
评论

相关推荐

    浅谈struts2安全

    然而,Struts2的安全性是开发者必须关注的重要议题,因为它涉及到用户数据的接收、处理和展示,而这正是黑客可能发起攻击的关键环节。 在Struts2的安全问题中,主要包括以下几个方面: 1. **参数注入**:由于...

    浅谈Struts2拦截器的原理与实现.docx

    Struts2 拦截器是Struts2框架的核心组件之一,它允许开发者在Action执行前后插入自定义的处理逻辑,实现对请求的预处理和后处理,从而增强应用程序的功能和控制流程。以下是对Struts2拦截器原理与实现的详细解析: ...

    浅谈Struts框架技术.

    Struts框架在JSP Model2架构上建立,实现了MVC模式,使得业务逻辑、数据显示和用户交互得以有效分离。 **MVC模式详解** MVC模式由模型(Model)、视图(View)和控制器(Controller)三部分组成。模型负责处理业务...

    浅谈Strut2如何对请求参数的封装

    拦截器是Struts2处理请求的关键组件,它们可以预处理请求,执行业务逻辑,或者进行其他操作。其中,params拦截器负责从请求中提取参数并将其设置到ValueStack中对应的属性上。此外,还有staticParams拦截器,它用来...

    浅谈基于Struts和Hibernate的J2EE应用

    1. **ActionServlet**:这是Struts框架的前端控制器,它是Servlet的一个子类,负责拦截所有请求并进行处理。 2. **Action**:实现业务逻辑,它接收ActionForm中的数据,执行相应的操作,并返回ActionForward。 3. **...

    浅谈Struts2与Webwork的不同和相同点

    拦截器链使得请求处理更加模块化,控制器与Servlet API解耦,这使得Struts2在处理请求时更加灵活,允许开发者自定义拦截器来实现特定的功能。 其次,Struts2在命名和API上很大程度上沿用了WebWork的风格。许多...

    浅谈SSH学习要点

    Action是业务逻辑处理的主要类,ActionForm用于封装用户输入的数据,而配置文件(通常为struts-config.xml)则定义了请求和处理动作之间的映射关系。进阶学习时,你需要关注的是ActionServlet的扩展,比如自定义拦截...

    浅谈struts1 & jquery form 文件异步上传

    尽管Struts1已经较为陈旧,但理解这个过程有助于我们更好地理解和应用现代的MVC框架,如Spring MVC或前后端分离架构中的RESTful API。同时,jQuery Form插件的概念也可以迁移到其他前端库,如React或Vue,它们同样...

    Struts2 技术内幕读书笔记(1)

    在Struts2框架中,这个问题是通过配置Action映射来解决的,这样就可以根据不同的URL来调用不同的Java类来处理业务逻辑并返回处理结果。这种机制不仅提高了程序的灵活性,还使得Web应用能够更好地响应用户的需求。

    浅谈java!

    - **Ajax与XML**:学习异步请求处理与XML数据交换技术。 #### 四、工具与数据库 除了上述技术之外,学习者还需要掌握一定的工具和数据库知识。 - **开发工具**:熟练使用Eclipse、IntelliJ IDEA等IDE进行项目开发...

    jsp入门 jsp登陆源代码.jsp安全浅谈

    **JSP安全浅谈**,安全性是任何Web应用都需要重视的问题。对于JSP来说,主要的威胁包括跨站脚本攻击(XSS)、SQL注入、跨站请求伪造(CSRF)等。为了防御这些攻击,开发者应遵循最佳实践,例如:对用户输入进行严格...

    浅谈J2EE框架和分布式网络管理.pdf

    3. 高性能:J2EE应用部署在经过优化的服务器上,能够处理高并发的请求。利用J2EE容器内建的资源管理和负载均衡机制,可以确保高性能和高可用性。 4. 独立于平台:J2EE应用可以在遵循Java EE标准的任何平台上运行,...

    浅析webwork

    首先,WebWork的核心思想是通过Action类来处理用户请求,并将业务逻辑与表现层分离。Action类是WebWork中的关键组件,它接收HTTP请求,执行相应的业务逻辑,然后将结果传递给视图进行渲染。这种设计模式极大地提高了...

    mock

    5. `如何进行Struts测试.html`和`浅谈Mock和基于Spring容器管理事务的测试.html`:这些文件可能讨论了Struts2的测试策略,包括如何在测试中结合Mock技术和Spring的事务管理。 在Struts2中,Mocking可以帮助我们分离...

    浅谈Java三大框架与应用

    Struts的配置文件(struts-config.xml)定义了请求与处理逻辑之间的映射,大大提高了开发效率。 接下来是Hibernate,这是一个流行的ORM(对象关系映射)框架。Hibernate消除了Java对象和数据库表之间的转换难题,...

    浅谈JAVA 责任链模式

    例如,在红楼梦中的"击鼓传花"、JS 中的事件冒泡、JAVA WEB 中 Apache Tomcat 对 Encoding 的处理、Struts2 的拦截器、jsp servlet 的 Filter 等都可以使用责任链模式。 如何解决 责任链模式的解决方法是拦截的类都...

Global site tag (gtag.js) - Google Analytics