过滤器(Filter)在web.xml中配置Filter相关问题

 <!--配置filter-->
   
<filter>
        <filter-name>filter1</filter-name>
        <filter-class>项目中对应的Filter1位置</filter-class>
    </filter>
    <filter>
        <filter-name>filter2</filter-name>
        <filter-class>项目中对应的Filter2位置</filter-class>
    </filter>
    <!--配置过滤器的拦截映射 这里的配置顺序决定了过滤器的过滤顺序-->
   
<filter-mapping>
        <filter-name>filter1</filter-name>
        <!--通过servlet那么确定拦截的资源-->
       <!-- <servlet-name>mycontroller1</servlet-name>-->
        <!--
通过请求的映射路径匹配拦截的资源-->
       
<url-pattern>/mycontroller1</url-pattern>

        <!--<servlet-name>servlet1</servlet-name>-->
    </filter-mapping>

    <filter-mapping>
        <filter-name>filter2</filter-name>
        <url-pattern>/mycontroller1</url-pattern>
    </filter-mapping>
</web-app>

注意:如果在<filter-mapping>中都使用的是<url-pattern>那么配置顺序就是过滤器的过滤顺序

           如果在<filter-mapping>中filter1使用的是<servlet-name>,filter2使用的是<url-pattern>那么过滤器的过滤顺序由于匹配流程的差异就会变为filter2>>>filter1

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Java Web,除了使用注解方式配置过滤器外,还可以使用web.xml文件进行配置。下面是一个web.xml文件配置全局过滤器的示例: ``` <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>WebFilterDemo</display-name> <!-- 配置全局过滤器 --> <filter> <filter-name>ShopFilter</filter-name> <filter-class>com.example.ShopFilter</filter-class> </filter> <filter-mapping> <filter-name>ShopFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- 配置Servlet --> <servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>com.example.HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping> </web-app> ``` 在以上示例,通过filter标签配置了一个名为ShopFilter过滤器,并将其应用于所有URL路径。filter-class标签指定了过滤器的实现类。 通过filter-mapping标签将过滤器与URL路径进行映射,这里将ShopFilter过滤器映射到所有URL路径。 需要注意的是,在web.xml文件配置过滤器时,需要在web.xml文件添加`<web-app>`标签的metadata-complete属性,将其设置为true,以确保Web容器能够正确扫描和加载过滤器。 以上示例也包含了一个Servlet配置和映射,可以在web.xml文件一起配置。通过以上配置,Web容器启动后,所有HTTP请求都会被ShopFilter过滤器拦截并处理,只有URL路径为/hello的请求才会被HelloServlet处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值