springboot笔记-整合filter的两种方式
和整合servlet一样,spring项目中,我们需要在web.xml中通过如下方式整合filter。
*
*FirstFilter
*com.test.filter.FirstFilter
*
*
*
*FirstFilter
*/first
*
而在springboot中没有web.xml这个配置文件。
接下来记录springboot整合filter的两种方式。
一、通过注解整合filter(应该是最常用的一种方式)
参考示例代码:
@WebFilter(filterName="FirstFilter", urlPatterns="/first") //urlPatterns是一个数组,可以配置拦截多个。urlPatterns= {"*.do","*.jsp"}
public class FirstFilter implements Filter {@Override
public void destroy() {
// TODO Auto-generated method stub}@Override
public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2)
throws IOException, ServletException {
System.out.println("通过注解方式进入拦截器..............");
arg2.doFilter(arg0, arg1);
System.out.println("拦截器结束..............");
}@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub}}
??:WebFilter注解中urlPatterns是一个数组,可以配置拦截多个,如下:
urlPatterns= {"*.do","*.jsp"}
运用上一篇中的启动类,如下:
@SpringBootApplication
@ServletComponentScan //springboot启动时,扫描servlet并实例化。
public class App1 {public static void main(String[] args) {
SpringApplication.run(App1.class, args);
}}
启动访问:http://主机ip:端口/first请求。打印如下:
文章图片
参考结果 二、通过返回对象为FilterRegistrationBean的方法整合filter
【springboot笔记-整合filter的两种方式】这个就不记录了,想节省时间,感兴趣自己了解。
启动中需要实现的方法,参考如下:
@Bean
public FilterRegistrationBean getFilterRegistrationBean() {
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new FirstFilter());
//实例化拦截器
//filterRegistrationBean.addUrlPatterns(new String[] {"*.do","*.jsp"});
filterRegistrationBean.addUrlPatterns("/first");
return filterRegistrationBean;
}
推荐阅读
- EffectiveObjective-C2.0|EffectiveObjective-C2.0 笔记 - 第二部分
- Activiti(一)SpringBoot2集成Activiti6
- Android中的AES加密-下
- SpringBoot调用公共模块的自定义注解失效的解决
- 解决SpringBoot引用别的模块无法注入的问题
- 【读书笔记】贝叶斯原理
- 【韩语学习】(韩语随堂笔记整理)
- 人性的弱点-笔记
- 读书笔记:博登海默法理学|读书笔记:博登海默法理学 —— 正义的探索(1)
- D034+3组苏曼+《写作这回事》读书笔记