Spring中自定义拦截器怎么用
发表于:2024-12-03 作者:千家信息网编辑
千家信息网最后更新 2024年12月03日,小编给大家分享一下Spring中自定义拦截器怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、创建自定义拦截器类(U
千家信息网最后更新 2024年12月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安全错误
数据库的锁怎样保障安全
发展前景好的计算机软件开发
中国服务器最早是哪家生产的
怎么把共享服务器添加我的电脑
国产数据库实时同步
有啥数据库
北京白瑞互联网科技有限公司
管理工具 组件服务器
美萍数据库密码 mp
泰州软件开发入门学习哪家好
武汉软件开发公司哪个最好
湖南软件开发模型
如何防护云服务器
佛山网络技术培训
数据库2007excel
误造服务器怎么租
tidb数据库是哪国
计算机保存算过的数据库
网络安全调查报告2000字
镇江互联网软件开发价钱
下安卓软件开发
互联网技术军事科技
国产数据库实时同步
联新网络安全专业
梦幻纵横天下服务器转服
迪科网络安全
软件开发-小珍
福田手机软件开发
社区防范化解网络安全风险的做法
上海大型网络技术欢迎咨询
电脑联网显示没有dns服务器