filter-mapping中的dispatcher使用
aaarticlea/png;base64,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" alt="" />
web.xml里<filter-mapping>中的<dispatcher>作用
2.4版本的servlet规范在部属描述符中新增加了一个<dispatcher>元素,这个元素有四个可能的值:即 REQUEST,FORWARD,INCLUDE和ERROR
可以在一个<filter-mapping>元素中加入任意数目的<dispatcher>,使得filter将会作用于直接从 客户端过来的request,通过forward过来的request,通过 include过来的request和通过<error-page>过来的request。如果没有指定任何< dispatcher >元素,默认值是REQUEST。可以通过下面几个例子来辅助理解。
REQUEST ---直接从客户端传递过来的,则必须经过这个过滤器
FORWARD---通过request dispatcher的forward方法传递过来,则必须经过这个过滤器
INCLUDE---通过request dispatcher的include方法传递过来,则必须经过这个过滤器
ERROR---通过<error-page>过来的,则必须经过这个过滤器
延伸:
<filter-mapping>
<filter-name>Logging Filter</filter-name>
<servlet-name>ProductServlet</servlet-name>
<dispatcher>INCLUDE</dispatcher>
</filter-mapping>
指定filter的匹配方式有两种方法:直接指定url-pattern和指定servlet,后者相当于把指定的servlet对应的url-pattern作为filter的匹配模式
filter的路径匹配和servlet是一样的
filter-mapping中的dispatcher使用的更多相关文章
- 两种include方式及filter中的dispatcher解析
两种include方式 我自己写了一个original.jsp,另外有一个includedPage.jsp,我想在original.jsp中把includedPage.jsp引进来有两种方式: 1.& ...
- filter中的dispatcher解析
两种include方式 我自己写了一个original.jsp,另外有一个includedPage.jsp,我想在original.jsp中把includedPage.jsp引进来有两种方式: 1.& ...
- Invalid /admin/*.jsp in filter mapping
完成错误信息 严重: A child container failed during start java.util.concurrent.ExecutionException: org.apache ...
- Eclipse Dynamic Web Module 3.0 requires Java 1.6 or newer && Filter mapping specifies an unknown filter name characterEncodingFilter
一直在宇宙最强的 IDE 下生长的,自然很难习惯 eclipse 这种开源且免费且各种版本且各种定制的 IDE 下没有少吃苦头. 最近用 maven 搭建了一个 springmvc/mybatis 的 ...
- 通常Struts框架会自动地从action mapping中创建action对象
开发者不必在Spring中去注册action,尽管可以这么去做,通常Struts框架会自动地从action mapping中创建action对象 struts2-spring-plugin-x-x-x ...
- Solidity中如何判断mapping中某个键是否为空呢?
Solidity中如何判断mapping中某个键是否为空呢? 一.比较标准的做法是建立一个专门和value相关的结构体,用一个布尔型变量来看是否这个key所对应的value被赋过值 代码如下: pra ...
- JAVA WEB 过滤器(Filter)中向容器 Spring 注入 bean
如果直接使用 @Autoware 获取 bean 会直接使该 bean 为 null,这是因为这种配置过滤器的方法无法在过滤器中使用 Spring bean,因为 Filter 比 bean 先加载, ...
- mybaties mapping中if
mapping中 if的简单使用 <insert id="addPassenger" resultMap="EmpResultMap" parameter ...
- WPF 的 Application.Current.Dispatcher 中,Dispatcher 属性一定不会为 null
原文:WPF 的 Application.Current.Dispatcher 中,Dispatcher 属性一定不会为 null 在 WPF 程序中,可能会存在 Application.Curren ...
随机推荐
- C++ error C2064:
error C2064: term does not evaluate to a function 错误原因,非函数,当成函数使用了
- C语言赋初始值
- Django:学习笔记(6)——模型
Django:学习笔记(6)——模型 快速上手 模型到底是什么呢?我们可以想,如果一张数据表的各个字段可以自动映射到一个类的各个属性,则每条记录对应这个类的一个对象.那我们通过类方法来操作对象(即表记 ...
- 62. Unique Paths (走棋盘多少种不同的走法 动态规划)
A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below). The ...
- javascript 理解对象--- 属性类型
ECMA-262 把对象定义为:无序属性的集合,其属性可以包含基本值.对象或者函数: var Person = { name:"wsc", age :"25", ...
- Linux ./configure --prefix 命令是什么意思?
源码的安装一般由3个步骤组成:配置(configure).编译(make).安装(makeinstall). Configure是一个可执行脚本,它有很多选项,在待安装的源码路径下使用命令./conf ...
- 20145316许心远《Java学习笔记》第三周总结
20145316许心远<Java程序设计>第3周学习总结 教材学习内容总结 一.定义类: 类定义时使用class关键字 如果要将x绑定到新建的对象上,可以使用"="制定 ...
- sqlite常用的命令-增删改查
一.查看版本信息: #sqlite3 -version 二.sqlite3常用命令 1.当前目录下建立或打开test.db数据库文件,并进入sqlite命令终端,以sqlite>前缀标识: 2. ...
- python、pip、whl安装和使用
1 python的安装 首先,从python的官方网站 www.python.org下载需要的python版本,地址是这个: http://www.python.org/ftp/python/2.7. ...
- PHP联接MySQL
<?php echo "This is a test</br>"; echo "asdfasdfadsf"; $mysql_server_na ...