Python 官方文档:入门教程 => 点击学习
目录在SpringBoot中使用拦截器1. 定义拦截器2. 使用JavaConfig注册拦截器3. 定义控制器,测试拦截器4. 总结在springboot中使用拦截器 拦截器Inte
拦截器Interceptor,是springMVC中的核心内容,利用spring的aop(Aspect Oriented Programming, 面向切面编程)特性,可以很方便的对用户的业务代码进行横向抽取,根据具体业务需求对应用功能进行增强。
在SpringBoot中使用Interceptor,同时采用全注解开发,涉及到以下接口和类:
(1)通过引入一些标签进行配置,在JavaConfig中,通过继承一个类或者实现一个接口来实现配置,这里所继承的类、所实现的接口就相当于引入的标签;
(3)通过设置所引入标签的属性和值,可以实现个性化配置,在JavaConfig中通过覆盖类或者接口的方法来实现个性化配置。
下面通过一个案例来实现自定义拦截器
拦截/user/开头的请求,不拦截/usr/login请求
package cn.eis220.web;
import org.springframework.web.servlet.HandlerInterceptor;
import javax.servlet.Http.httpservletRequest;
import javax.servlet.http.HttpServletResponse;
public class LoginInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("执行了logininterceptor的preHandle方法");
return true;
}
}
java配置类相当于xml配置文件
xml中通过引入interceptor标签来进行配置,java配置类通过实现WebmvcController进行配置;
xml中通过修改标签的属性和值来个性化配置,java配置类通过实现WebMvcController的方法进行个性化配置
package cn.eis220.config;
import cn.eis220.web.LoginInterceptor;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorReGIStry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class MyAppCofnig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
LoginInterceptor loginInterceptor = new LoginInterceptor();
String[] path = {"/user/**"};
String[] excludePath = {"/user/login"};
registry.addInterceptor(loginInterceptor).addPathPatterns(path).excludePathPatterns(excludePath);
}
}
package cn.eis220.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class BootController {
@RequestMapping("/user/account")
@ResponseBody
public String userAccount(){
return "/user/account";
}
@RequestMapping("/user/login")
@ResponseBody
public String userLogin(){
return "/user/login";
}
}
步骤:
实现HandlerInterceptor接口的方法,来自定义拦截器
JavaConfig配置类实现WebMvcConfigurer接口的addInterceptor方法来注册拦截器
到此这篇关于在springboot中使用拦截器的文章就介绍到这了,更多相关springboot使用拦截器内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: 在springboot中使用拦截器的步骤详解
本文链接: https://www.lsjlt.com/news/162641.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