首先,你的项目要能跑起来,且基于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实现拦截器相关推荐

  1. Java自定义异常、全局捕获异常、拦截器 实现动态控制登录超时

    Java自定义异常.全局捕获异常.拦截器 实现动态控制登录超时 参考文章: (1)Java自定义异常.全局捕获异常.拦截器 实现动态控制登录超时 (2)https://www.cnblogs.com/ ...

  2. Java虚拟机JVM学习06 自定义类加载器 父委托机制和命名空间的再讨论

    Java虚拟机JVM学习06 自定义类加载器 父委托机制和命名空间的再讨论 创建用户自定义的类加载器 要创建用户自定义的类加载器,只需要扩展java.lang.ClassLoader类,然后覆盖它的f ...

  3. 我的世界java路径_我的世界java路径在哪 路径有误怎么设置

    我的世界的各个版本中java都是十分重要的东西,许多玩家都会遇到Java路径有误的问题,并且不知道该如何解决,其实Java的路径这个东西在每个人的电脑中都是不太一样的,一般以你安装时的位置为准,在这里 ...

  4. Java路径问题最终解决方案

    http://blog.csdn.net/shendl/article/details/1427475  Java路径问题最终解决方案 -可定位所有资源的相对路径寻址 前言 Java的路径问题,非常难 ...

  5. java spring包_java 自定义加载器,加载spring包,动态加载实现,jar包隔离,tomcat加载webapp方式...

    java 自定义加载器,加载spring包,动态加载实现,jar包隔离,tomcat加载webapp方式 发布时间:2018-08-20 12:02, 浏览次数:774 , 标签: java spri ...

  6. Java面向对象系列[v1.0.0][类加载器]

    类加载器负责将.class文件加载到内存中,并为它生成对应的java.lang.Class对象 类加载机制 类加载器负责加载所有的类,并未所有被载入内存中的类生成一个java.lang.Class实例 ...

  7. android拦截ajax,Android:拦截来自WebView的AJAX调用

    我想要一个HTML/javascript应用程序,在WebView中运行,以生成由AJAX代码处理的Java调用. 理想的是拦截调用(简单,只需使用shouldOverrideUrlLoading() ...

  8. java import自定义类_自定义类加载器-从.class和.jar中读取

    一. 类加载器 JVM中的类加载器:在jvm中,存在两种类加载器, a) Boostrap ClassLoader:这个是由c++实现的,所以在方法区并没有Class对象的实例存在.用于加载JAVA_ ...

  9. Java中的流Stream和读取器Reader及其之间的关系

    Java中的流Stream和读取器Reader及其之间的关系 简介 InputStreamReader与BufferedReader是共享字节流的关系 简介 字节流(InputStream ):Inp ...

最新文章

  1. 梯度下降法,牛顿法,高斯-牛顿迭代法,附代码实现
  2. DM8168评估板上供电电源的设计
  3. WPF游戏,使用move游戏开发
  4. 离线配置xml的文档类型定义文件(xml语法规则) dtd
  5. iOS 9之WatchKit for WatchOS 2
  6. 递归下降语法分析器的构建_一文了解函数式查询优化器Spark SQL Catalyst
  7. PHPStudy下Apache SSL证书安装教程 1
  8. burp-intrude-Attack-type的使用介绍
  9. python 特殊方法(dunder-getitem)
  10. String、StringBuffer 与StringBuilder
  11. html5 后端模板 免费,推荐12个非常不错而且免费的后台管理HTML模板
  12. 空气螺旋桨,让水下动物不再受伤害
  13. SSD目标检测论文简读
  14. 计算机基础知识问卷,计算机基础知识情况问卷调查
  15. 找工作必做事项-剑指offer
  16. 基于宝塔面板把网站和数据库文件备份到又拍云存储空间图文教程
  17. 5v供电的数字功放芯片有哪些
  18. ffmpeg 265转YUV命令 转码工具,各种格式间互转,计算PSNR
  19. 使用Saiku+Kylin构建多维分析OLAP平台
  20. The type java.lang.String cannot be resolved. It is indirectly referenced from required .class files

热门文章

  1. 如何用计算机装手机系统,如何用手机usb重装电脑系统
  2. oracle 11gr2 asm安装,OEL6.1下oracle 11gr2 ASM安装
  3. Android Studio 创建第一个项目应用
  4. matlab指令vpa(j10),matlab中vpa函数
  5. python偏函数和高阶函数_【Python入门】8.高阶函数之 匿名函数和偏函数
  6. python docker_Docker实践:python应用容器化
  7. 交流充电桩电路图_直流充电桩和交流充电桩给电动汽车充电过程中是如何工作的?...
  8. servlet中servletContext的五大作用(一)
  9. 【Selenium】之谷歌、IE、火狐浏览器各个版本的浏览器驱动下载地址
  10. 08、单链表编程考点