美文网首页
Struts2工作原理

Struts2工作原理

作者: MVBin | 来源:发表于2017-05-23 11:14 被阅读53次

看一下Struts2官方给出的体系结构图

Struts2体系结构.png

解释

  • 客户端发出一个HttpServletRequest请求(action或jsp)。
  • 请求经过一系列的过滤器链(过滤器链包括可选的 ActionContextCleanUp 过滤器,用于系统整合技术,如 SiteMesh 插件)。
  • FilterDispather是struts2的核心控制器,此过滤器须在web.xml中进行配置,通常为过滤器链中的最后一个过滤器。
<!-- 配置struts2的核心过滤器 -->
<filter>
    <!-- 过滤器名称 -->
    <filter-name>struts2</filter-name>
    <!-- 过滤器类 -->
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<!-- 过滤器映射 -->
<filter-mapping>
    <filter-name>struts2</filter-name>
    <!-- /*表示所有的请求都需要经过这个过滤器过滤 -->
    <url-pattern>/*</url-pattern>
</filter-mapping>
  • 通过FilterDispatcher查找ActionMapper,以确定这个请求是否需要调用某个 Action。
  • 如果ActionMapper确定需要调用某个Action,FilterDispatcher 将控制权交给ActionProxy。
  • ActionProxy依照框架的配置文件(struts.xml),找到需要调用的Action类
  • ActionProxy会创建一个ActionInvocation的实例。
  • ActionInvocation会先调用相关的拦截器(Action 调用之前),最后调用 Action。
  • Action调用返回结果Result,根据之前的配置文件(struts.xml),查找响应的转发路径(此路径可以是一个jsp文件或者FreeMarker的模版技术的网页呈现,也可以是一个Action类等)。
  • 按照相反的方向调用相关的拦截器链(Action调用之后),返回一个HttpServletResponse,然后再通过过滤器链返回给客户端进行呈现。

相关文章

  • SpringMVC原理

    SpringMVC和Struts2的区别: SpringMVC的工作原理:

  • Struts2 Demo

    下面两张图,用 viso 画了1个小时~ viso 很强大啊! 工作原理 Struts2的工作原理(图解)详解St...

  • Struts2系列之-----入门

    主要内容 Struts2简介 环境搭建 Struts2的执行过程及原理 Struts2的基本配置 Struts2的...

  • 笔记之Struts2工作原理

    Struts2工作原理 struts2框架是SSH框架集中的框架之一,是一个基于MVC设计模式的Web应用框架,它...

  • Struts2工作原理

    看一下Struts2官方给出的体系结构图 解释 客户端发出一个HttpServletRequest请求(actio...

  • Struts2工作原理

    struts2请求响应流程: 在struts2的应用中,从用户请求到服务器返回相应响应给用户端的过程中,包含了许多...

  • Struts2工作原理

    客户端--请求--->FilterDispatcher-->ActionMapper-----拦截器-->Acti...

  • Struts2工作原理

    Struts2请求响应流程: 在struts2的应用中,从用户请求到服务器返回相应响应给用户端的过程中,包含了许多...

  • struts2 工作原理

    1、在浏览器中输入http://localhost:8080/Struts2Demo/hello,就会向服务器端(...

  • Java学习阶段五【web主流框架技术】

    struts2x; struts2框架的工作原理和架构分析,struts-defaultxml与defaultpr...

网友评论

      本文标题:Struts2工作原理

      本文链接:https://www.haomeiwen.com/subject/nlvwxxtx.html