filter dispatcher_EncodingFilter

filter dispatcher_EncodingFilterFilterDispatcher的作用1.用来装载配置和设置静态资源的package publicvoidinit(FilterConfigfilterConfig)throwsServletException{               init();              Stringparam=filterConfig.getInitPa


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

FilterDispatcher的作用

1.用来装载配置和设置静态资源的package

  public void init(FilterConfig filterConfig) throws ServletException {       

         init();      

         String param = filterConfig.getInitParameter(“packages”);

         String packages = “org.apache.struts2.static template org.apache.struts2.interceptor.debugging”;

        if (param != null) {

             packages = param + ” ” + packages;

         }

        this.pathPrefixes = parse(packages);

     }

  public void init() {

        if (configurationManager == null) {

             configurationManager = new ConfigurationManager(BeanSelectionProvider.DEFAULT_BEAN_NAME);//用来初始化ConfigurationManager

         }

         init_DefaultProperties(); // org.apache.struts2.default.properties配置的provider初始化

         init_TraditionalXmlConfigurations(); // struts-default.xml,struts-plugin.xml,struts.xml配置的provider初始化

         init_LegacyStrutsProperties(); //

         init_ZeroConfiguration(); //

         init_CustomConfigurationProviders(); //

         init_MethodConfigurationProvider();

         init_FilterInitParameters() ; //

         init_AliasStandardObjects() ; //

         Container container = init_PreloadConfiguration();

         init_CheckConfigurationReloading(container);

         init_CheckWebLogicWorkaround(container);

     }

2.包装转换请求

1     public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {

2

3        

4          HttpServletRequest request = (HttpServletRequest) req;

5          HttpServletResponse response = (HttpServletResponse) res;

6          ServletContext servletContext = getServletContext();

7 ………………………………

8              request = prepareDispatcherAndWrapRequest(request, response);//作些编码准备和为了上传文件作包装

9              ActionMapping mapping= actionMapper.getMapping(request, getConfigurationManager()); // 把请求和配置文件挂勾            

10

11         

12 ……………………………………

13           serviceAction(request, response, servletContext, mapping);//创建Action上下文,根据给定的mapping装载ActionProxy,然后指定的Action方法被执行,输出进入response

14

15            ActionContextCleanUp.cleanUp(req);//

16       ………………

17      }

18

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

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

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


相关推荐

  • Oracle与Sql Server复制表结构和数据

    Oracle与Sql Server复制表结构和数据

    2022年1月10日
  • js全局变量在其他方法中赋值后无法影响到该方法外的全局变量的值(奇葩问题)

    js全局变量在其他方法中赋值后无法影响到该方法外的全局变量的值(奇葩问题)做个笔记,以防忘记遇到一个奇葩问题(书写规范不会遇到此问题)问题描述:$(document).ready(function(){varstrCookie=document.cookie;username=”1″;if(strCookie){cookieVariables=strCookie.split(“;”);

    2022年5月5日
  • Javascript到底有几种数据类型 ?

    Javascript到底有几种数据类型 ?Javascript的六种数据类型ECMAScript的5种简单数据类型(基本数据类型)UndefinedNullBooleanNumberString一种复杂数据类型ObjectPHP八大数据类型Boolean布尔类型Int…

    2022年9月6日
  • 修改mysql的密码_sql数据库修改密码

    修改mysql的密码_sql数据库修改密码MySQL是一个关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软件之一。搭配PHP和Apache可组成良好的开发环境。因此用的很广泛。很多人都会遇到MySQL需要修改密码的情况,比如密码太简单、忘记密码等等。这里我就教大家几种修改MySQL密码的方法。这里以修改root密码为例,操作系统为windows。注意:修改MySQL是需要有mysql里的root权限的,

    2022年8月12日
  • Mongo分库方案选型

    Mongo分库方案选型 Mongo分库方案两种形式分析: 1. mongo sharding方式:1.1. 深翻页的问题举例:当mongo的分片是5片时,分页查询(如果按照创建时间倒叙查询)第一页,每页50条数据,则mongo sharding在每个分片上取50条数据,一共50*5条数据,然后进行汇总,计算出前50条正确数据作为返回结果。如果是翻页到1000页,那么mongo sharding需要从…

    2022年6月24日
  • phpstorm 2021激活码3月最新在线激活

    phpstorm 2021激活码3月最新在线激活,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日

发表回复

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

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