FilterDispatcher处理流程「建议收藏」

FilterDispatcher处理流程「建议收藏」org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter前身是:org.apache.struts2.dispatcher.FilterDispatcher请求被web.xml中定义的过滤器拦截。3层过滤器处理:ActionContextCleanUp,其他过滤器(OtherFilters,SiteM…

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

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

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()方法。

 

转载于:https://www.cnblogs.com/lsx1993/p/4841520.html

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

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

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


相关推荐

  • Java虚拟机:深入详细分析Java ClassLoader原理与源码

    Java虚拟机:深入详细分析Java ClassLoader原理与源码

    2021年10月5日
    39
  • vim不能复制粘贴_在筛选状态下怎么复制粘贴

    vim不能复制粘贴_在筛选状态下怎么复制粘贴前言这是一则记录贴,防止小技巧遗忘。不知道大家是否会有这种困扰,例如在AndroidStudio有一段缩进优美的代码实现,例如:publicvoidsayHello(){Stringmsg=”HelloVimPasteMode”;System.out.println(msg);}当你把这段缩进优美的代码直接ctrl+c,ctrl+v到Vim的时候,就会出现如

    2022年9月15日
    0
  • 更新pip版本的命令(更新pip命令)

    使用如下指令更新pip,可能会出错pipinstall–upgradepip使用如下指令即可完美更新pippython-mpipinstall–upgradepip

    2022年4月15日
    305
  • 内存映射文件「建议收藏」

    内存映射文件「建议收藏」在做科研,实现一些大数据的算法的时候,经常要调用一些文件的I/O函数,在数据量很大的时候,除了设计的算法和数据结构的耗时以外,其实主要的耗时还是文件的I/O。因为一般常规的方法就是先读出磁盘文件的内容到内存中,然后修改,最后写回到磁盘上。读磁盘文件是要经过一次系统调用,先将文件的内容从磁盘拷贝到内核空间的一个缓冲区,然后再将这些数据拷贝到用户空间,实际上是两次数据拷贝。写回同样也需要经过两次数据拷

    2022年6月17日
    52
  • android 定时器

    android 定时器在Android开发中,定时器一般有以下3种实现方法:一、采用Handler与线程的sleep(long)方法二、采用Handler的postDelayed(Runnable,long)方法三、采用Handler与timer及TimerTask结合的方法下面逐一介绍:一、采用Handle与线程的sleep(long)方法Handler主要用来处理接受到的消

    2022年7月25日
    7
  • Android严苛模式StrictMode使用详解「建议收藏」

    Android严苛模式StrictMode使用详解「建议收藏」StrictMode类是Android2.3(API9)引入的一个工具类,可以用来帮助开发者发现代码中的一些不规范的问题,以达到提升应用响应能力的目的。举个例子来说,如果开发者在UI线程中进行了网络操作或者文件系统的操作,而这些缓慢的操作会严重影响应用的响应能力,甚至出现ANR对话框。为了在开发中发现这些容易忽略的问题,我们使用StrictMode,系统检测出主线程违例的情况并做出相应的反应,

    2022年6月3日
    52

发表回复

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

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