springboot#interceptor
_
拦截器相对与过滤器Filter 而言,拦截器是spring中的概念。过滤器是servlet中的概念。在spring中肯定是优先使用拦截器Interceptor的。
public class My1Interceptor extends HandlerInterceptorAdapter {
/**
* 请求在处理之前时,调用这个方法
*/
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
System.err.println("==>preHandle........................");
// 因为是模拟,所以token就加在url后面
String token = request.getParameter("token");
if(token !=null && token.equals("true")) {
System.err.println("token is valid,procedue.");
return super.preHandle(request, response, handler);
}else {
System.err.println("token is invalid,redirect to login page.");
String url = request.getContextPath() + "/login";
System.err.println(url);
response.sendRedirect(url);
return false;
}
}
/**
* 请求在处理之后,调用这个方法
*/
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
System.err.println("==>postHandle........................");
super.postHandle(request, response, handler, modelAndView);
}
/**
* 请求在完成postHandle处理之后,调用这个方法
* 如果请求在preHandle时被return false,这个方法不会执行
*/
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
throws Exception {
System.err.println("==>afterCompletion........................");
super.afterCompletion(request, response, handler, ex);
}
}
@Configuration
public class MyWebMvcConfig extends WebMvcConfigurerAdapter {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new My1Interceptor()).addPathPatterns("/do*");
// 这里还可以注册别的拦截器
// 这里还可以注册别的拦截器
// 这里还可以注册别的拦截器
super.addInterceptors(registry);
}
}
https://www.cnblogs.com/panxuejun/p/7715917.html
springboot#interceptor的更多相关文章
- 【SpringBoot】SpringBoot拦截器实战和 Servlet3.0自定义Filter、Listener
=================6.SpringBoot拦截器实战和 Servlet3.0自定义Filter.Listener ============ 1.深入SpringBoot2.x过滤器Fi ...
- SpringBoot 2.x (7):拦截器
类似以前SpringMVC的拦截器,但也有一些区别 SpringBoot的拦截器有两种方式: 第一种方式:过时的方式,适用于SpringBoot1.x的方式 package org.dreamtech ...
- Springboot + shiro 整合之Url拦截设置(转)
shiro 整合到springboot 还是比较简单的,只需要新建一个spring-shiro.xml的配置文件: <span style="font-size:14px;" ...
- springboot中使用拦截器
5.1 回顾SpringMVC使用拦截器步骤 自定义拦截器类,实现HandlerInterceptor接口 注册拦截器类 5.2 Spring Boot使用拦截器步骤 5.2.1 按照S ...
- SpringBoot一统江湖
一 SpringBoot简介 SpringBoot是Spring框架的一个新子项目 用于创建Spring4.0项目 它的开发始于2013年 2014年4月发布1.0.0版本 它可以自动配置Spring ...
- Spring Boot实践——三种拦截器的创建
引用:https://blog.csdn.net/hongxingxiaonan/article/details/48090075 Spring中的拦截器 在web开发中,拦截器是经常用到的功能.它可 ...
- Guava-RateLimiter实现令牌桶控制接口限流方案
一.前言 对于一个应用系统来说,我们有时会遇到极限并发的情况,即有一个TPS/QPS阀值,如果超了阀值可能会导致服务器崩溃宕机,因此我们最好进行过载保护,防止大量请求涌入击垮系统.对服务接口进行限流可 ...
- springboot的拦截器Interceptor的性质
Interceptor在springboot2.x版本的快速入门 实现HandlerInterceptor的接口,并重载它的三个方法:preHandle.postHandle.afterComplet ...
- springboot的interceptor(拦截器)的应用
一.SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理.在web开发中,拦截器是经常用到的功能.它可以帮我们验证是否登陆.预先 ...
随机推荐
- 学习Java的书籍资料
对于程序员来说,编程技术至关重要,然而技术的提高不是一蹴而就的,它需要时间的积累和经验的沉淀.因此本文为大家推荐Java学习的书籍,学虽容易,学好不易,且学且珍惜. 基础类.<Java从入门到精 ...
- JS回弹原理-高级
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 查漏补缺之Go的Strings, bytes, runes和字符
字节遍历,字符遍历 https://play.golang.org/p/DeZcCN9aHXo package main import ( "fmt" "unicode/ ...
- Django线上部署代码修改失效问题
记一次django项目的线上部署维护问题,django+nginx 关于nginx反向代理服务器的介绍这里有一篇博客介绍的比较好:nginx的相关介绍 以及当一次客户端请求发出后,uwsig以及uWS ...
- MySQL更新时间
Mysql时间加减函数为date_add().date_sub()定义和用法DATE_ADD() 函数向日期添加指定的时间间隔.DATE_SUB() 函数向日期减少指定的时间间隔.语法DATE_ADD ...
- Linux centosVMware shell 管道符和作业控制、shell变量、环境变量配置文件
一.管道符和作业控制 管道符|,用于将前一个指令的输出作为后一个指令的输入 #cat /etc/passwd|wc -l 作业控制:当运行程序时,可以使它暂停(Ctrl+Z组合键),然后使用fg(f ...
- Linux centosVMware 磁盘格式化、磁盘挂载、手动增加swap空间
一.磁盘格式化 磁盘分区后不能直接使用,需要对每一个分区格式化,格式化其实就是安装系统文件. 命令mke2fs:不支持格式化成xfs系统文件 mkfs.ext4 == mke2fs -t ext4 ...
- 安装lnmp1.5到最后出现Error: MySQL install failed的解决方法
解决方法: mv /usr/bin/cmake /usr/bin/cmake.backup wget http://www.cmake.org/files/v3.0/cmake-3.0.2.tar.g ...
- 【高软作业4】:Tomcat 观察者模式解析 之 Lifecycle
一. 预备 如果你是Windows用户,使用Eclipse,并且想自行导入源码进行分析,你可能需要:Eclipse 导入 Tomcat 源码 如果你已遗忘 观察者模式,那么你可以通过该文章回顾:设计模 ...
- 【Unity】稍微说一下关于各种坐标的转换。比如WorldToScreenPoint
之前写了一篇关于在物体头顶上显示名字的随笔. 估计难懂的点就在各种坐标的转换. 这里详细(就我这水平,怎么可能详细~~~)解说一下.额............. 用另一种方式举个栗子吧. 还是实现在物 ...