zoukankan      html  css  js  c++  java
  • FilterDispatcher处理流程

    org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

    前身是:org.apache.struts2.dispatcher.FilterDispatcher

    请求被web.xml中定义的过滤器拦截。

    3层过滤器处理:ActionContextCleanUp,其他过滤器(Other Filters, SiteMesh),FilterDispatcher

    ——FilterDispatcher中首先询问ActionMapper是否需要调用某个Action

    ——如果调用,把请求交给ActionProxy

    ——ActionProxy通过struts.xml找到Action类。

    ——ActionProxy创建一个ActionInvocation实例。并调用Action。调用之前ActionInvocation会加载Action的所有拦截器。

    执行完ActionInvocation负责根据struts.xml中的配置找到相应的返回结果result

    ==========================================================================

    Servlet中过滤器概念】【StrutsPrepareAndExecuteFilter 

    过滤器API包括3个简单的接口:FilterFilterChainFilterConfig

    Filter接口:

    ——init():容器实例化过滤器的时候调用。容器为这个方法传入FilterConfig,配置信息。

    ——doFilter():处理请求和响应请求。接受3个参数:ServletRequest,ServletResponse,FilterChain

            调用FilterChaindoFilter()方法。

    设置ValueStack。获取ActionMapping

    ——destroy()方法。

     

  • 相关阅读:
    C#读物
    那些健康手环真的值得买么?
    书籍推荐系列之一 -- 《凤凰项目:一个IT运维的传奇故事》
    测试
    HDU-2024 C语言合法标识符
    HDU-4548 美素数
    求最大流dinic算法模板
    最小费用最大流模板理解
    网络流初步——增广路代码的分析
    最短路的另外两种算法
  • 原文地址:https://www.cnblogs.com/lsx1993/p/4841520.html
Copyright © 2011-2022 走看看