精华内容
下载资源
问答
  • FilterMapping  1.在我们设置FilterMapping的时候不但是可以设置url-pattern 还可以设置对一个serlvet进行拦截,但是url-pattern 和serlvet只能够是二选一 loginFilter /admin/servletFilter.do 2....

    FilterMapping 

    1.在我们设置FilterMapping的时候不但是可以设置url-pattern 还可以设置对一个serlvet进行拦截,但是url-pattern 和serlvet只能够是二选一
    	<filter-mapping>
     		<filter-name>loginFilter</filter-name>
     		<servlet-name>/admin/servletFilter.do</servlet-name>
     	</filter-mapping>

    2.我们还可以设置请求的"分配器"
    比如我们有一下DD的配置
     
    	<filter-mapping>
    		<filter-name>loginFilter</filter-name>
    		<url-pattern>/admin/*</url-pattern>
    		<dispatcher>REQUEST</dispatcher>
    		<dispatcher>FORWARD</dispatcher>
    		<dispatcher>ERROR</dispatcher>
    		<dispatcher>INCLUDE</dispatcher>
     	</filter-mapping>
    request:说明不管是redirect 还是直接,直接在浏览器访问的情况都是会经过这个拦截器的
    forward:说明如果是通过response对象通过,重定向的方式,那么也是会经过这个拦截器的
    include:说明如果是在页面包含的请求,拦截器处理。
    error: 说明如果是错误处理器调用的资源,拦截器处理。

    通常看要求来设置dispatcher,默认的情况是request。

    Filter栈


    当我们设置了多个Filter的时候,filter的拦截是按照从上到下的顺序去执行拦截器的。如下图



    如果都同时满足了过滤器1,7,3。那么他会按照在DD中定义的顺序去进行拦截。

    在Filter中我们一般都是有这样的一个方法的调用

    filterChain.doFilter(serlvetRequest, serlvetResponse);

    这个方法会自动的去找接来下处理的filter,如果没有filter那么就是servlet了。而所有的filter都是放在一个栈当中的,处理模式如下图




    Filter栈的处理顺序

    我们在设置filter-mapping的时候,可以设置url-pattern,和serlvet 那种方式的mapping,如果我们在DD中都配置了这些,并且一个url请求过来的时候都是满足所有的映射,那么执行的顺序应该遵循以下规则
       1.先执行url-pattern 匹配的,然后执行serlvet匹配的,如果两者都有那么url-pattern优先级高。
    2.如果同时有多个url-pattern ,那么按照他们在DD中的顺序来执行。



    展开全文
  • adminOperateLogFilter /* adminOperateLogFilter com.berheley.exam.web.filter.AdminOperateLogFilter ...这样写启动服务器时报错 Filter mapping specifies an unknown filter n

     <filter-mapping>
            <filter-name>adminOperateLogFilter</filter-name>
            <url-pattern>/*</url-pattern>
       </filter-mapping>
       <filter>
            <filter-name>adminOperateLogFilter</filter-name>
            <filter-class>com.berheley.exam.web.filter.AdminOperateLogFilter</filter-class>
        </filter>


    这样写启动服务器时报错 Filter mapping specifies an unknown filter name adminOperateLogFilter

    将这两块换个顺序就没问题了,web.xml信息的加载是有顺序的,filter在mapping之前必须要让服务器找到其定义。

     <filter>
            <filter-name>adminOperateLogFilter</filter-name>
            <filter-class>com.berheley.exam.web.filter.AdminOperateLogFilter</filter-class>
        </filter>
       <filter-mapping>
            <filter-name>adminOperateLogFilter</filter-name>
            <url-pattern>/*</url-pattern>
       </filter-mapping>







    展开全文
  • java.lang.IllegalArgumentException: Filter mapping specifies an unknown filter name struts2  非法参数 ,struts2的过滤器有问题,还有就是看看struts2的jar全吗?  参考:       

    http://www.iteye.com/problems/49534

    java.lang.IllegalArgumentException: Filter mapping specifies an unknown filter name struts2 


    非法参数 ,struts2的过滤器有问题,还有就是看看struts2的jar全吗? 

    参考: 
    <!-- 配置Struts2 --> 
        <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>
    展开全文
  • Caused by: java.lang.IllegalArgumentException: Filter mapping must specify either a <url-pattern> or a <servlet-name>

    Filter中的 <url-pattern>

    1>异常信息如下

    九月 25, 2017 4:11:25 下午 org.apache.catalina.startup.ContextConfig applicationWebConfig
    严重: Parse error in application web.xml file at jndi:/localhost/yinhang/WEB-INF/web.xml
    org.xml.sax.SAXParseException; systemId: jndi:/localhost/yinhang/WEB-INF/web.xml; lineNumber: 35; columnNumber: 19; Error at (35, 19: Filter mapping must specify either a <url-pattern> or a <servlet-name>
    	at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2726)
    	at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2752)
    	at org.apache.tomcat.util.digester.Digester.endElement(Digester.java:1061)
    	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:609)
    	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1789)
    	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2965)
    	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
    	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
    	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
    	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
    	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
    	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
    	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:649)
    	at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1562)
    	at org.apache.catalina.startup.ContextConfig.applicationWebConfig(ContextConfig.java:369)
    	at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:1062)
    	at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:261)
    	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
    	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4236)
    	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
    	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
    	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
    	at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
    	at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
    	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
    	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
    	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
    	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
    	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
    	at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
    	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
    	at org.apache.catalina.core.StandardService.start(StandardService.java:516)
    	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    	at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:606)
    	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
    	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
    Caused by: java.lang.IllegalArgumentException: Filter mapping must specify either a <url-pattern> or a <servlet-name>
    	at org.apache.catalina.core.StandardContext.addFilterMap(StandardContext.java:2157)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    2>错误出在web.xml的lineNumber: 35; columnNumber: 19;

    3>问题就出在filter-mapping的url-pattern的配置这里;

    说明:

    url-pattern有三种编写规则

    • 精确匹配:就是配置全路径,详细路径。如/WEB-INF/jsp/main.jsp,会匹配这个唯一的main.jsp文件
    • 路径匹配:按照路径进行匹配。如/com/*;/*/reg/*;这种存在指定的路径及通配符,会匹配遵循该路径规则的所有文件
    • 后缀匹配:按照文件后缀名进行匹配。如*.action,会匹配所有以action为后缀的文件

    常见的错误配置:

    • /*/
    • /*.action
    • */reg
    • ...

    解决:

    按照规范制定url-pattern即可。我这里把'*'换成'/*'即可.




    展开全文
  • Invalid /*.action in filter mapping错误以及(Servlet和Filter的url匹配url-p) servlet  Servlet和filter是J2EE开发中常用的技术,使用方便,配置简单,老少皆宜。  估计大多数朋友都是直接配置用...
  • Caused by: java.lang.IllegalArgumentException: Filter mapping specifies an unknown filter name encodingFilter at org.apache.catalina.core.StandardContext.addFilterMap(StandardContext.java:2275) ...
  • Servlet和filter是J2EE开发中常用的技术,使用方便,配置简单。servlet和filter中的url-pattern有一些文章在里面的,总结了一些东西,以免遇到问题又要浪费时间。 一、先精确匹配,再路径匹配 (路径匹配的时候,先...
  • <filter-mapping> </filter-mapping> 写到 <filter> </filter> 前 2、可能是 <filter-mapping> </filter-mapping> 与 <filter> </filter> 中的 <filter-name> 不一致或者根本没有 3、我的错误: 修改后...
  • 前几天有同事写了个过滤器,希望能在过滤器中forward转向一个action,结果怎么都是404,后面才...filter-mapping&gt;&lt;filter-name&gt;struts2Filter&lt;/filter-name&gt;&lt;url-patter...
  • filter-mapping顺序

    千次阅读 2010-12-30 14:43:00
    今天跟项目组做集成的时候发现一个很奇怪的乱码问题,web.xml的filter... <filter-mapping>   <filter-name>SecurityFilter</filter-name>   *.do</url-pattern><br />   </filter-mappin
  • Filter,过滤器,顾名思义,即是对数据等的过滤,预处理过程。 举两个例子: 第一个就是有的网站,用户未登陆不能回答问题,这就是过滤器的工作 。 第二个就是在平常访问网站的时候,有时候发一些敏感的信息,...
  • 2.4版本的servlet规范在部属描述符中新增加了一个&...filter-mapping&gt;元素中加入任意数目的&lt;dispatcher&gt;,使得filter将会作用于直接从客户端过来的request、通过forward过来的request、通...
  • Mapping

    千次阅读 2019-09-04 18:48:24
    什么是Mapping? 字段的数据类型 Dynamic Mapping 类型的自动识别 更改Mapping的字段类型 新增加字段 已有字段 原因 实例 Dynamic为true Dynamic为false Dynamic设为strict 显式定义Mapping 自定义...
  • Idea中出现Filter should have a mapping

    千次阅读 2018-08-11 18:12:50
    结果发现报错:Filter should have a mapping。   解决方法如下:  File--&gt;Project Structure   如图所示,点击右侧"+"号   选中出现的"web.xml"     点击"ok...
  • <filter-mapping>  <filter-name>aaa</filter-name>  <url-pattern>/a/b  </filter-mapping>  <servlet-mapping>  <servlet-name>sss  <url-pattern>/a/b  </servlet-mapping>  <servlet-...
  • xml里filter-mapping中的dispatcher的使
  • 欢迎大家关注本博,同时欢迎大家评论交流,...servlet-mapping>进行分析解释。   XSD地址   可以从官方获取web.xml的XSD约束web-app_2_5.xsd,同时web-app_2_5.xsd依赖javaee_5.xsd、jsp_2_1.xsd、javaee_web_.
  • 在配置web.xml的servlet-mapping 的 url-pattern 碰到问题, 上网查, 查到servelt2_2-spec.pdf才得到答案.  结论:  • '/XXX/*'  • '*.html'  • '/'  • 其他都是精确映射   例: '/XXX/Y*....
  • web.xml中的filter-mapping

    2010-12-17 15:13:37
    2.4版本的servlet规范在部属描述符中新增加了一个&...filter-mapping&gt;元素中加入任意数目的&lt;dispatcher&gt;,使得filter将会作用于直接从客户端过来的request,通过forward过来的request,...
  • 所以我第一时间想到的是排除验证码,但是很遗憾,filter-mapping中并没有提供这种功能,不知道是什么原因. 这就麻烦了,我看一下框架,并没有分级的路径,比如:/a/xxx.do这种,而是通篇的/xxx.do本着把问题留给自己的原则,...
  • web.xml里的filter-mapping 中的dispatcher

    千次阅读 2010-05-18 17:51:00
    关键字: xml里中的作用 2.4版本的servlet规范在部属描述符中新增加了一个元素,这个元素有四个可能的值:即REQUEST,FORWARD,INCLUDE和ERROR,可以在一个元素中加入任意数目的,使得filter将会作用于直接从客户端过来...
  •  根据servlet2.3规范filter执行是按照web.xml配置的filter-mapping先后顺序进行执行,所以上面的配置会导致遇见*.do的url请求,先进行SecurityFilter的过滤器处理,这时候没有做编码处理,已经是乱码,到下面的...
  • NAT Addressing and Port Mapping and Filter Behavior (2013-07-13 15:46:13) 转载▼ 标签: 杂谈 分类: 笔记 1.NAT Addressing and Port Mapping 1. Endpoint-...
  • wildcard in servlet/filter url-pattern mapping

    千次阅读 2014-03-05 11:30:36
    Instead, defining two url-pattern for the filter mapping solves the problem.     < filter-mapping >     < filter-name >   BasicAuthFilter filter-name   >     < url-...
  • <filter-mapping> <filter-name>shiroFilter</filter-name> *.jsp <dispatcher>REQUEST <dispatcher>FORWARD </filter-mapping> <filter-mapping> <filter-name>shiroFilter</filter-name> *.mvc ...
  • SSH web.xml里<filter-mapping>中的意思

    千次阅读 2012-03-02 08:51:34
    2.4版本的servlet规范在部属描述符中新增加了一个元素,这个元素有四个可能的值:即REQUEST,FORWARD,INCLUDE和ERROR,可以在一个元素中加入任意数目的,使得filter将会作用于直接从客户端过来的request,通过forward...
  • ES mapping 详解

    万次阅读 2018-10-12 15:41:21
    1 mapping type 映射(mapping) 映射是定义一个文档以及其所包含的字段如何被存储和索引的方法。 例如,用映射来定义以下内容: 哪些 string 类型的 field 应当被当成当成 full-text 字段 哪些字段应该是数值...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 164,842
精华内容 65,936
关键字:

filtermapping