springboot拦截器:

public class Interceptor implements HandlerInterceptor{private Logger logger = LoggerFactory.getLogger(Interceptor.class);public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)throws Exception {// TODO Auto-generated method stub
}public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)throws Exception {// TODO Auto-generated method stub
}public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object arg2) throws Exception {String flag = null;flag = request.getParameter("auth");if(StringUtils.isEmpty(flag) || !flag.equals("php")){/*logger.error("error-auth:{}", flag);response.getWriter().append("error-auth");return false;*/} else {logger.info("通过校验!");return true;}return true;}
}

spring boot过滤器:

/** 如果是一个过滤器,在MyFilter类上加上@WebFilter(filterName = "myFilter",urlPatterns = {"/*"}) ,入口类加上@ServletComponentScan即可*/
public class MyFilter implements Filter{@Overridepublic void init(FilterConfig filterConfig) throws ServletException {}@Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {System.out.println(request.getParameter("name"));HttpServletRequest hrequest = (HttpServletRequest)request;HttpServletResponseWrapper wrapper = new HttpServletResponseWrapper((HttpServletResponse) response);if(hrequest.getRequestURI().indexOf("/index") != -1 ||hrequest.getRequestURI().indexOf("/asd") != -1 ||hrequest.getRequestURI().indexOf("/online") != -1 ||hrequest.getRequestURI().indexOf("/login") != -1) {chain.doFilter(request, response);}else {
//            wrapper.sendRedirect("/login");
            chain.doFilter(request, response);}}@Overridepublic void destroy() {}
}

springboot监听器:

/*** @date: 2019/4/1* @description:  ServletRequestListener、 HttpSessionListener 、ServletContextListener ......* 可直接在MyListener类上使用@WebListener注解,入口类加上@ServletComponentScan即可*/
public class MyListener implements HttpSessionListener {private Logger logger = LoggerFactory.getLogger(this.getClass());//用户this.getClass(), 粘贴不容易出错public static int online = 0;@Overridepublic void sessionCreated(HttpSessionEvent se) {online ++;logger.info("online在线人数为:" + online);}@Overridepublic void sessionDestroyed(HttpSessionEvent se) {}
}

向spring注册拦截器、过滤器、监听器:

@Configuration
public class MyWebAppConfigurer implements WebMvcConfigurer {//    @Bean/* public HandlerInterceptor getMyInterceptor(){return new Interceptor();}*//*** 注册拦截器* @param registry*/@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new Interceptor()).addPathPatterns("/**");
//        super.addInterceptors(registry);
    }/*** 注册监听器* @return*/@SuppressWarnings({ "rawtypes", "unchecked" })@Beanpublic ServletListenerRegistrationBean listenerRegist() {ServletListenerRegistrationBean srb = new ServletListenerRegistrationBean();srb.setListener(new MyListener());System.out.println("listener");return srb;}/*** 注册过滤器* @return*/@SuppressWarnings({ "rawtypes", "unchecked" })@Beanpublic FilterRegistrationBean filterRegist() {FilterRegistrationBean frBean = new FilterRegistrationBean();frBean.setFilter(new MyFilter());
//        frBean.setOrder(1);//多个过滤器时指定过滤器的执行顺序frBean.addUrlPatterns("/*");System.out.println("filter");return frBean;}/*@Overridepublic void addViewControllers(ViewControllerRegistry registry) {registry.addViewController("/zxc/foo").setViewName("foo");}*/}

转载于:https://www.cnblogs.com/heqiyoujing/p/11106824.html

springboot的Interceptor、Filter、Listener及注册相关推荐

  1. SpringBoot的Web开发入门案例5—注册Servlets, Filter, Listener

    SpringBoot的Web开发入门案例5-注册Servlets, Filter, Listener 注册Servlet 创建MyServlet类 package com.blu.conf;impor ...

  2. springmvc整合redis_111 SpringBoot整合Servlet JSP Filter Listener

    1. SpringBoot介绍 (1) 什么是Spring Boot? (2) Spring Boot有哪些特点? Spring Boot 设计目的是用来简化新 Spring 应用的初始搭建以及开发过 ...

  3. servlet/filter/listener/interceptor区别与联系

    2019独角兽企业重金招聘Python工程师标准>>> servlet/filter/listener/interceptor区别与联系 博客分类: java 由于最近两个月工作比较 ...

  4. Spring Boot整合Servlet,Filter,Listener,访问静态资源

    目录 Spring Boot整合Servlet(两种方式) 第一种方式(通过注解扫描方式完成Servlet组件的注册): 第二种方式(通过方法完成Servlet组件的注册) Springboot整合F ...

  5. servlet,filter,listener区别

    时间的朋友 随笔 - 2314, 文章 - 3, 评论 - 101, 引用 - 0 servlet/filter/listener/interceptor区别与联系 一.概念: 1.servlet:s ...

  6. SpringBoot mybatis Interceptor分页实现

    环境准备 什么是拦截器 为什么要这样写 具体实现 什么是拦截器 SpringBoot mybatis interceptor拦截器是你在执行SQL语句之前对执行的SQL语句进行修改 分页的原理是通过拦 ...

  7. 玩转 SpringBoot 2 快速整合 Listener

    前言 本文主要介绍如何在SpringBoot 2 中使用 Listener 的快速搭建教程,阅读前需要你必须了解 Listener 的基础使用以及如何搭建 SpringBoot 项目. 快速演示操作 ...

  8. JavaWeb笔记:第07章 MVC |EL |JST |Filter |Listener |JQuery |AJAX |Maven |JSON |Redis |Linux |Nginx

    JavaWeb笔记:第07章 MVC |EL |JST |Filter |Listener |JQuery |AJAX |Maven |JSON |Redis |Linux |Nginx 1. MVC ...

  9. JavaWeb-Servlet+Filter+Listener+Session

    JavaWeb 一.Servlet Servlet 是 JavaEE 规范之一.规范就是接口. Servlet 是 JavaWeb三大组件之一.三大组件分别是:Servlet程序.Filter过滤器. ...

  10. JavaWeb三大组件(Servlet,Filter,Listener 自己整理,初学者可以借鉴一下)

    JavaWeb三大组件(Servlet,Filter,Listener 自己整理,初学者可以借鉴一下) Reference 转载于:https://www.cnblogs.com/Jeremy2001 ...

最新文章

  1. 死磕Java并发:J.U.C之Condition
  2. IDEA mybatis 在service无法使用@Autowired , could not autowire
  3. c语言构造插值多项式,拉格朗日多项式插值(C语言).docx
  4. C# Socket编程(3)编码和解码
  5. 二进制蚁群算法【源码实现】
  6. Span元素的 width属性 无效果原因及解决方案
  7. excel排名_Excel案例:比赛中,如何实时显示排名
  8. [转][SVN] Hook scripts的使用方法
  9. scrapy shell 用法(慢慢更新...)
  10. 地市级地铁数据管理信息系统解决方案
  11. stm32程序flash下载和sram运行
  12. 以太网未识别的网络win10_Win10以太网未识别的网络怎么办
  13. php活动倒计时代码,JavaScript实现活动倒计时效果的代码分享
  14. tree | 分类回归树模型
  15. linux启用dcb步骤,Linux内核DCB子系统
  16. 怎么批量删除 Word、PDF、PPT 以及 Excel 文档中的空白页?
  17. 信号处理中的低通、高通和带通滤波器
  18. 宝塔linux开启缓存,宝塔面板缓存在哪里
  19. 教程:如何利用Google AIY做一个自动撵猫神器?
  20. (解决)虚拟机黑屏,界面显示:/dev/sda1: clean, xxxxx/yyyyyy files, aaaaaa/bbbbbbb blocks....

热门文章

  1. c语言闰年题目程序,浙大版《C语言程序设计(第3版)》题目集 练习3-5 输出闰年...
  2. mysql 命令查看sql文件大小_用SQL命令查看Mysql数据库大小
  3. python散点图数据怎么输入_python 散点图添加标签
  4. 以太坊 ERC EIP是什么
  5. latex 图片缩小指定比例
  6. 10个python数据可视化库_这10个python数据可视化库,通吃任何领域
  7. Leetcode之回文数
  8. js获取后端传过来的数据
  9. java super.参数,Java super和this的对比及使用
  10. Commons Collections4 简单使用