spring使用注解标注过滤器(Filter)
来源:互联网 发布:淘宝代刷远程单安全吗 编辑:程序博客网 时间:2024/04/29 01:49
Servlet3.0提供@WebFilter注解将一个实现了javax.servlet.Filter接口的类定义为过滤器,这样我们在web应用中使用过滤器时,也不再需要在web.xml文件中配置过滤器的相关描述信息了。
下面我们来创建一个过滤器,体验一下使用@WebFilter注解标注过滤器,如下所示:
过滤器的代码如下:
1 package me.gacl.web.filter; 2 import java.io.IOException; 3 import javax.servlet.Filter; 4 import javax.servlet.FilterChain; 5 import javax.servlet.FilterConfig; 6 import javax.servlet.ServletException; 7 import javax.servlet.ServletRequest; 8 import javax.servlet.ServletResponse; 9 import javax.servlet.annotation.WebFilter;10 11 /**12 * 使用注解标注过滤器13 * @WebFilter将一个实现了javax.servlet.Filte接口的类定义为过滤器14 * 属性filterName声明过滤器的名称,可选15 * 属性urlPatterns指定要过滤 的URL模式,也可使用属性value来声明.(指定要过滤的URL模式是必选属性)16 */17 @WebFilter(filterName="Servlet3Filter",urlPatterns="/*")18 public class Servlet3Filter implements Filter {19 20 @Override21 public void destroy() {22 System.out.println("过滤器销毁");23 }24 25 @Override26 public void doFilter(ServletRequest request, ServletResponse response,27 FilterChain chain) throws IOException, ServletException {28 System.out.println("执行过滤操作");29 chain.doFilter(request, response);30 }31 32 @Override33 public void init(FilterConfig config) throws ServletException {34 System.out.println("过滤器初始化");35 }36 }
过滤器中使用了@WebFilter(filterName="Servlet3Filter",urlPatterns="/*")进行配置,Filter的名字是Servlet3Filter,表示urlPatterns="/*"该Filter拦截所有的请求。
web服务器启动时就会初始化该Filter,如下图所示:
当有用户访问web应用中的资源时,该过滤器就会进行拦截,如下图所示:
可以看到,使用@WebFilter注解,我们可以将一个实现了javax.servlet.Filte接口的类定义为过滤器,用urlPatterns属性或者value属性指定要过滤的URL模式。
可以指定多种过滤模式@WebFilter(filterName="Servlet3Filter",urlPatterns={"/UserManagerServlet","/index.jsp"})
有了@WebFilter注解之后,我们的web.xml就无需任何配置了。
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app version="3.0" 3 xmlns="http://java.sun.com/xml/ns/javaee" 4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 5 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 6 http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> 7 <display-name></display-name> 8 <welcome-file-list> 9 <welcome-file>index.jsp</welcome-file>10 </welcome-file-list>11 </web-app>
这样我们的web.xml文件就非常干净了。可以说,Servlet3.0规范的出现,大大减少了开发Servlet和Filter配置方面的工作量。
0 0
- spring使用注解标注过滤器(Filter)
- Servlet3.0(二)--使用注解标注过滤器(Filter)@WebFilter
- Servlet3.0学习总结(二)——使用注解标注过滤器(Filter)
- Servlet3.0学习总结(二)——使用注解标注过滤器(Filter)
- Servlet3.0学习总结(二)——使用注解标注过滤器(Filter)
- Servlet3.0介绍~使用注解标注监听器(Listener)和过滤器(Filter)
- Servlet3.0介绍~使用注解标注监听器(Listener)和过滤器(Filter)
- Servlet3.0学习总结(二)——使用注解标注过滤器(Filter)
- Servlet3.0学习总结(二)——使用注解标注过滤器(Filter)
- 使用注释标注过滤器(Filter)
- Servlet3.0-使用注解定义过滤器(Filter)
- spring 注解 标注字段
- Servlet使用注解定义中英文过滤器(Filter)
- Spring filter 字符串过滤器
- 使用注解标注Servlet
- Filter过滤器的使用
- filter过滤器的使用
- filter过滤器的使用
- 自定义view以及事件处理
- 《Thinkinginjava》第17章-容器深入研究
- vue框架使用积累
- 代码校验工具 SublimeLinter 的安装与使用
- SSL/TLS原理详解
- spring使用注解标注过滤器(Filter)
- nyoj 1274 && 河南省第九届ACM竞赛C题
- HDOJ 1862 EXCEL排序 (结构体排序的构造)
- [POJ1987]Distance Statistics(点分治)
- Servlet Key Points
- iOS NSMutableDictionary 键值对中出现no summary
- hd 1803 The MAX(sort)
- php curl 请求302跳转页面
- 欢迎使用CSDN-markdown编辑器