Python 官方文档:入门教程 => 点击学习
1、创建自定义拦截器类(UserTokenInterceptor)并实现HandlerInterceptor 接口,再重写方法,代码如下: public class UserToke
1、创建自定义拦截器类(UserTokenInterceptor)并实现HandlerInterceptor 接口,再重写方法,代码如下:
public class UserTokenInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(httpservletRequest request, HttpServletResponse response, Object handler) throws Exception {
log.info("进入拦截器啦、、");
return true; // true即可放行,false则不放行
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
}
@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;
@Configuration
public 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中自定义拦截器的使用的文章就介绍到这了,更多相关Spring自定义拦截器内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: Spring中自定义拦截器的使用
本文链接: https://www.lsjlt.com/news/139145.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0