Filter拦截路径配置 [Servlet][JavaWeb]

Filter拦截路径配置

FIlter可以根据需要来配置不同的拦截资源路径
  1. 拦截具体的资源(或者也可以称之为: 精确拦截):
/index.jsp
  • 这个时候只有访问index.jsp资源的时候才会被拦截
  • 注意: 这个时候不是访问任意一个index.jsp资源都是可以的, 而是只能是访问本项目之下的index.jsp资源, 这时候我们配置的拦截路径是"/index.jsp", 此时的/是有服务器进行解析的, 对于@WebServlet注解和@WebFilter注解配置的路径都是由服务器进行解析的
    • 比如配置的@WebServlet(“/demo”) 就是告诉服务器我的这个Servlet类的访问路径是/demo, 那么如果我们的客户端浏览器访问服务中的本项目中的访问路径为/demo的资源的时候服务器就会将我们对应的资源展示给我们的客户端
      • "/“如果是服务器进行解析的时候就会解析为: http://ip:port/项目访问路径, 所以此时我们配置为”/demo"之后其实就是http://ip:port/项目访问路径
  1. 目录拦截(或者也可以称之为: 文件夹拦截)
/user/*
  • 这个时候只要是访问user文件夹之中的任意资源的时候都会被拦截
  1. 后缀名拦截
*.jsp
  • 只要是访问后缀名为jsp的资源的时候都会被拦截
    • 注意: 后缀名拦截的时候前面是不加/的
  1. 拦截所有(也可以称之为: 统配拦截)
/*
  • 访问任何资源的时候都会被拦截

补充:

通过后缀名拦截的时候我们前面是不加/的, 其实我们可以发现配置@WebFilter的拦截路径的时候和配置@WebServlet的访问路径是一样的

补充二:

使用配置文件的方式配置过滤器拦截路径:

使用配置文件的方式配置过滤器的拦截路径是和在web.xml文件中配置Servlet访问路径是几乎相同的:

  • 通过filter标签以及filte-mapping标签来完成

    • filter标签中有filter-name标签和filter-class标签, filter-mapping标签之下有filter-name和url-pattern标签
  • 注意: 使用xml配置文件配置的过滤器的执行顺序是根据在xml文件中的配置的先后顺序来决定的, 如果web.xml中多个配置的过滤器拦截了同一个请求, 这个时候拦截顺序就是根据在xml配置文件中的配置的上下文顺序来决定的
    • 而使用注解的方式的过滤器执行的顺序是根据过滤器的全类名的字符串形式大小比较的顺序确定的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值