struts2中的action_servlet filter listener顺序

struts2中的action_servlet filter listener顺序【FilterDispatcher作用】核心控制器FilterDispatcher是STRUTS2框架的基础,包含了框架内部的控制流程和处理机制。业务控制器Action和业务逻辑组件是需要用户来自己实现的。用户在开发Action和业务逻辑组件的同时,还需要编写相关的配置文件,供核心控制器FilterDispatcher来使用。主要作用如下:1、执行action:过滤器根据请求的url判断是否需要

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

【FilterDispatcher作用】核心控制器FilterDispatcher是STRUTS 2框架的基础,包含了框架内部的控制流程和处理机制。业务控制器Action和业务逻辑组件是需要用户来自己实现的。用户在开发Action和业务逻辑组件的同时,还需要编写相关的配置文件,供核心控制器FilterDispatcher来使用。主要作用如下:
1、执行action:过滤器根据请求的url判断是否需要调用action(判断的依据是根据actionMapper)如果需要执行action那么处于过滤器链中的其他过滤器将终止,并且调用action.
这意味着其他一些一定要执行的过滤器必须放在FilterDispatcher前面.以保证他们的执行。
2、清空ActionContext上下文:FilterDispatcher讲自动的清除上下文,确保没有内存泄露.但是有时候将导致在集成其他产品时出现某些问题。
3、服务静态的内容:FilterDispatcher同时会加载常用的静态内容,例如javascript文件,css文件。FilterDispatcher会查找/struts/*这个目录,并且映射"/struts/"后面的的所有常用的包。

4、中断请求生命周期中的XWORKS拦截器

FilterDispatcher是struts2.0.x到2.1.2版本的核心过滤器. 从2.1.3版本开始, 就用StrutsPrepareAndExecuteFilter代替FilterDispatcher了.

如果是FilterDispatcher

<filter>
   <filter-name>struts2</filter-name>
   <filter-class>
     org.apache.struts2.dispatcher.FilterDispatcher
   </filter-class>
</filter>
 
<filter-mapping>
   <filter-name>struts2</filter-name>
   <url-pattern>/*</url-pattern>
</filter-mapping>

如果是StrutsPrepareAndExecuteFilter则为:

<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>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170661.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Axios跨域请求配置「建议收藏」

    Axios跨域请求配置「建议收藏」    React中用到的网络代理请求是axios,它在使用的过程中,会存在一些问题,今天就分享我遇到过的一些问题1、跨域请求后台配置:在SpringBoot项目中的,需要实现WebMvcConfigurer,并且重写addCrosMappings方法@ConfigurationpublicclassApplicationAutoConfigurationimplementsWebMvcConfigurer{ @Override public

    2025年10月26日
    4
  • linux安装mysql5.7 tar包(centos7搭建mysql)

    之前用的rpm安装的每次安装都是最新的,,,导致每次版本不统一。。。现在用tar包安装5.7.22和5.7.20一样的5.7.20之后的和之前的版本还是有点不一样的官网地址https://dev.mysql.com/downloads/mysql/https://dev.mysql.com/doc/refman/5.7/en/environment-variables.html…

    2022年4月13日
    77
  • 什么是GSLB,F5-BIG

    什么是GSLB,F5-BIGhttp://baike.baidu.com/view/1302459.htm#2http://wenku.baidu.com/view/871dbd2d7375a417866f8f2e.html转载于:https://www.cnblogs.com/hqbird/archive/2012/10/24/2737009.html

    2022年5月7日
    47
  • java核心技术 – 17个重要的知识点

    java核心技术 – 17个重要的知识点1.Java中没有多继承,而是用接口来代替多继承 2.运行一个已经编译的程序时,Java解释器总是从指定类的main方法中的代码开始执行,因此,执行代码中必须有一个main函数。 

    2022年8月2日
    7
  • 人工智能的发展,需要遵守的四个AI伦理原则

    人工智能的发展,需要遵守的四个AI伦理原则

    2021年6月21日
    89
  • android系统签名及修改

    android系统签名及修改系统签名文件目录:build/make/target/product/security主要签名文件media.pk8media.x509.pemnetworkstack.pk8networkstack.x509.pemplatform.pk8platform.x509.pemreleasekey.pk8releasekey.x509.pemshared.pk8shared.x509.pemtestkey.pk8testkey.x509.p…

    2022年6月21日
    166

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号