Spring中自定义拦截器怎么用
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,小编给大家分享一下Spring中自定义拦截器怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、创建自定义拦截器类(U
千家信息网最后更新 2026年11月03日Spring中自定义拦截器怎么用
小编给大家分享一下Spring中自定义拦截器怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
1、创建自定义拦截器类(UserTokenInterceptor)并实现HandlerInterceptor 接口,再重写方法,代码如下:
public class UserTokenInterceptor implements HandlerInterceptor { /** * @description 访问Controller之前执行 */ @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { log.info("进入拦截器啦、、"); return true; // true即可放行,false则不放行 } /** * @description 请求访问Controller之后,渲染视图之前 */ @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { } /** * @description 请求访问Controller之后,渲染视图之后 */ @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { }}2、配置Web拦截器(WebMvcConfig)并实现Spring的WebMvcConfigurer接口
在Spring Boot 1.5版本都是靠重写WebMvcConfigurerAdapter的方法来添加自定义拦截器,消息转换器等。SpringBoot 2.0 后,该类被标记为@Deprecated(弃用)。官方推荐直接实现WebMvcConfigurer或者直接继承WebMvcConfigurationSupport,方式一实现WebMvcConfigurer接口(推荐)
复写addInterceptors方法,添加自己的拦截器
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @Configurationpublic class WebMvcConfig implements WebMvcConfigurer { @Override public void addInterceptors(InterceptorRegistry registry) { // 注册拦截器 registry.addInterceptor(getUserTokenInterceptor()).addPathPatterns("/index/session"); // 一定要加 WebMvcConfigurer.super.addInterceptors(registry); } // @Bean public UserTokenInterceptor getUserTokenInterceptor() { return new UserTokenInterceptor(); } }3、编写测试Controller
@RestController@RequestMapping("/index")public class IndexController { @Deprecated @GetMapping("/session") public Object getSession(HttpServletRequest request) { HttpSession session = request.getSession(); session.setAttribute("name", "lequal"); session.setMaxInactiveInterval(3600); String name = (String) session.getAttribute("name"); System.out.println("获取的名字是:" + name); return name; }}4、访问URL地址
如果preHandle方法中return false的话浏览器访问是看不到返回的内容的,因为被拦截住了,就相当于卡在那里了。
以上是"Spring中自定义拦截器怎么用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
拦截器
方法
内容
接口
篇文章
视图
推荐
不怎么
代码
名字
地址
大部分
官方
方式
更多
标记
浏览器
消息
版本
知识
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
广州万易互联网科技有限公司
上海卓越科技互联网
互联网科技工作委员会
科技平台互联网
互联网与科技发展
科技制造互联网公司
青岛互联网科技公司
互联网科技排名
智慧科技互联网
狮子座互联网科技培训
居家互联网科技有限公司
美国互联网前沿科技
镁科技互联网资讯平台
荆州市昕露互联网络科技有限公司
注册互联网科技公司经营范围大全
燊美集互联网科技有限公司
互联网在线教育科技创业
烟台灵鸽互联网科技有限公司
郑州欣桑互联网科技有限公司
安徽九吞吴互联网科技有限公司
伟宏互联网科技
互联网科技活动banner
没上市的科技互联网公司
苏州互联网科技贷款公司
互联网金融 科技创新
彤创互联网科技有限公司
湖南一路畅行互联网科技
上海科技产业互联网平台
互联网科技企业商标注意事项
互联网界的黑科技