Spring中自定义拦截器怎么用
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,小编给大家分享一下Spring中自定义拦截器怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、创建自定义拦截器类(U
千家信息网最后更新 2024年09月22日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安全错误
数据库的锁怎样保障安全
访问数据库的思维导图
能通过下载链接找到服务器吗
软件开发 评估
晨智数据库
p6单机版连接不上数据库
吃鸡合并服务器
服务器满了咋办
制作球员数据库
如何下载服务器的txt
数据库中两种斜杠
时痕宝可梦服务器下载
sql怎么看数据库空间
安防宝典2018网络安全宣传
昌平区综合网络技术推广信息推荐
图书馆网络安全需求
雷迪司科技软件开发
网络安全西安
进台企工厂软件开发好吗
数据库取消对字段隐藏
浙江软件开发服务商
信息网络技术手段是什么意思
软件开发 评估
互联网科技微博名字
山西大修管理软件开发公司
深圳机房服务器
软件开发合同解除的后果
软件开发用苹果合适吗
网络安全论文关键词提取
联想服务器ts250机盖
宁国自动化软件开发服务商家