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