java+路径拦截实现_SpringBoot实现拦截器
首先,你的项目要能跑起来,且基于springboot的
boot的拦截器不用配置web.xml,按照特定名字书写(后缀+注解),它会自动识别(位置随便放,只要在代码目录下就可以)
1.拦截器 SessionInterceptor.java
package com.hfanss.blog.utils;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
/**
* 功能描述:拦截器实现类
* @author: hfanss
* @date: 2019年6月25日 下午9:23:32
*/
public class SessionInterceptor implements HandlerInterceptor
{
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception
{
System.err.println("拦截器进来了,路径为:"+request.getRequestURI());
if (request.getRequestURI().equals("/admin/**"))
{
//TODO 验证登录token
return true;
}else {
return true;
}
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception
{
// TODO Auto-generated method stub
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception
{
// TODO Auto-generated method stub
}
}
2.路径 SessionConfiguration.java
package com.hfanss.blog.utils;
import java.util.List;
import org.springframework.context.annotation.Configuration;
import org.springframework.format.FormatterRegistry;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.validation.MessageCodesResolver;
import org.springframework.validation.Validator;
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
import org.springframework.web.method.support.HandlerMethodReturnValueHandler;
import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.config.annotation.AsyncSupportConfigurer;
import org.springframework.web.servlet.config.annotation.ContentNegotiationConfigurer;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.PathMatchConfigurer;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.ViewResolverRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
* 功能描述:配置拦截器路径 /admin/
* @author: hfanss
* @date: 2019年6月25日 下午9:37:21
*/
@Configuration
public class SessionConfiguration implements WebMvcConfigurer
{
@Override
public void addInterceptors(InterceptorRegistry registry)
{
registry.addInterceptor(new SessionInterceptor()).addPathPatterns("/admin/**");
}
.....
}
运行项目,拦截器实现类方法内打个断点,会发现所有带 admin的路径都会被拦截到
可以根据需要定义拦截的路径,拦截器常用的功能也就用户登录控制
java+路径拦截实现_SpringBoot实现拦截器相关推荐
- Java自定义异常、全局捕获异常、拦截器 实现动态控制登录超时
Java自定义异常.全局捕获异常.拦截器 实现动态控制登录超时 参考文章: (1)Java自定义异常.全局捕获异常.拦截器 实现动态控制登录超时 (2)https://www.cnblogs.com/ ...
- Java虚拟机JVM学习06 自定义类加载器 父委托机制和命名空间的再讨论
Java虚拟机JVM学习06 自定义类加载器 父委托机制和命名空间的再讨论 创建用户自定义的类加载器 要创建用户自定义的类加载器,只需要扩展java.lang.ClassLoader类,然后覆盖它的f ...
- 我的世界java路径_我的世界java路径在哪 路径有误怎么设置
我的世界的各个版本中java都是十分重要的东西,许多玩家都会遇到Java路径有误的问题,并且不知道该如何解决,其实Java的路径这个东西在每个人的电脑中都是不太一样的,一般以你安装时的位置为准,在这里 ...
- Java路径问题最终解决方案
http://blog.csdn.net/shendl/article/details/1427475 Java路径问题最终解决方案 -可定位所有资源的相对路径寻址 前言 Java的路径问题,非常难 ...
- java spring包_java 自定义加载器,加载spring包,动态加载实现,jar包隔离,tomcat加载webapp方式...
java 自定义加载器,加载spring包,动态加载实现,jar包隔离,tomcat加载webapp方式 发布时间:2018-08-20 12:02, 浏览次数:774 , 标签: java spri ...
- Java面向对象系列[v1.0.0][类加载器]
类加载器负责将.class文件加载到内存中,并为它生成对应的java.lang.Class对象 类加载机制 类加载器负责加载所有的类,并未所有被载入内存中的类生成一个java.lang.Class实例 ...
- android拦截ajax,Android:拦截来自WebView的AJAX调用
我想要一个HTML/javascript应用程序,在WebView中运行,以生成由AJAX代码处理的Java调用. 理想的是拦截调用(简单,只需使用shouldOverrideUrlLoading() ...
- java import自定义类_自定义类加载器-从.class和.jar中读取
一. 类加载器 JVM中的类加载器:在jvm中,存在两种类加载器, a) Boostrap ClassLoader:这个是由c++实现的,所以在方法区并没有Class对象的实例存在.用于加载JAVA_ ...
- Java中的流Stream和读取器Reader及其之间的关系
Java中的流Stream和读取器Reader及其之间的关系 简介 InputStreamReader与BufferedReader是共享字节流的关系 简介 字节流(InputStream ):Inp ...
最新文章
- 梯度下降法,牛顿法,高斯-牛顿迭代法,附代码实现
- DM8168评估板上供电电源的设计
- WPF游戏,使用move游戏开发
- 离线配置xml的文档类型定义文件(xml语法规则) dtd
- iOS 9之WatchKit for WatchOS 2
- 递归下降语法分析器的构建_一文了解函数式查询优化器Spark SQL Catalyst
- PHPStudy下Apache SSL证书安装教程 1
- burp-intrude-Attack-type的使用介绍
- python 特殊方法(dunder-getitem)
- String、StringBuffer 与StringBuilder
- html5 后端模板 免费,推荐12个非常不错而且免费的后台管理HTML模板
- 空气螺旋桨,让水下动物不再受伤害
- SSD目标检测论文简读
- 计算机基础知识问卷,计算机基础知识情况问卷调查
- 找工作必做事项-剑指offer
- 基于宝塔面板把网站和数据库文件备份到又拍云存储空间图文教程
- 5v供电的数字功放芯片有哪些
- ffmpeg 265转YUV命令 转码工具,各种格式间互转,计算PSNR
- 使用Saiku+Kylin构建多维分析OLAP平台
- The type java.lang.String cannot be resolved. It is indirectly referenced from required .class files
热门文章
- 如何用计算机装手机系统,如何用手机usb重装电脑系统
- oracle 11gr2 asm安装,OEL6.1下oracle 11gr2 ASM安装
- Android Studio 创建第一个项目应用
- matlab指令vpa(j10),matlab中vpa函数
- python偏函数和高阶函数_【Python入门】8.高阶函数之 匿名函数和偏函数
- python docker_Docker实践:python应用容器化
- 交流充电桩电路图_直流充电桩和交流充电桩给电动汽车充电过程中是如何工作的?...
- servlet中servletContext的五大作用(一)
- 【Selenium】之谷歌、IE、火狐浏览器各个版本的浏览器驱动下载地址
- 08、单链表编程考点