0


SpringBoot自定义拦截器

🍁博客主页:👉不会压弯的小飞侠
✨欢迎关注:👉点赞👍收藏⭐留言✒
✨系列专栏:👉SpringBoot专栏
🔥欢迎大佬指正,一起学习!一起加油!

在这里插入图片描述

目录


🍁整合SpringMVC

  • 1.先创建个SpringBoot项目,导入依赖
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.2.RELEASE</version></parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies>
  • 创建个启动类
@SpringBootApplication
public class Application {
    public staticvoidmain(String[] args){
        SpringApplication.run(Application.class,args);}}
  • 创建实体类User
public class User {
    private String username ;
    private String password ;
    private Integer age ;
    private String sex ;

    public String getUsername(){return username;}

    public voidsetUsername(String username){
        this.username = username;}

    public String getPassword(){return password;}

    public voidsetPassword(String password){
        this.password = password;}

    public Integer getAge(){return age;}

    public voidsetAge(Integer age){
        this.age = age;}

    public String getSex(){return sex;}

    public voidsetSex(String sex){
        this.sex = sex;}

    @Override
    public String toString(){return"User{"+"username='"+ username +'\''+", password='"+ password +'\''+", age="+ age +", sex='"+ sex +'\''+'}';}}
  • 编写Controller类
@Controller
@RequestMapping("/user")
public class UserController {
    @RequestMapping("/findAll")
    @ResponseBody
    public List<User>findAll(){//查询所有
        List<User> users = new ArrayList<User>();

        User user1 = new User();
        user1.setUsername("xfx");
        user1.setPassword("123456");
        user1.setAge(20);
        user1.setSex("男");

        User user2 = new User();
        user2.setUsername("mks");
        user2.setPassword("234567");
        user2.setAge(34);
        user2.setSex("女");

        User user3 = new User();
        user3.setUsername("ls");
        user3.setPassword("34567");
        user3.setAge(34);
        user3.setSex("女");

        users.add(user1);
        users.add(user2);
        users.add(user3);return users;}}
  • 测试

在这里插入图片描述

🍁静态资源目录

  • 在springboot中有一个叫做ResourceProperties的类,里面就定义了静态资源的默认查找路径:
  • 默认的静态资源路径为: • classpath:/META-INF/resources/ • classpath:/resources/ • classpath:/static/ • classpath:/public
  • 在项目中创建路径进行测试
  • 在static目录下创建index.html文件
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>static目录下的静态页面</title></head><body><h1>static目录下的静态页面</h1></body></html>

在这里插入图片描述

  • 在public目录下创建public.html文件
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>public目录下的静态页面</title></head><body><h1>public目录下的静态页面</h1></body></html>

在这里插入图片描述

🍁自定义拦截器

  • SpringMVC中配置拦截器的步骤 : - 编写一个拦截器(实现HandlerInterceptor接口)- 注册拦截器(mvc:interceptors)
  • SpringBoot实现拦截器的具体步骤: - 编写一个拦截器
@Component
public class MyInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        System.out.println("preHandle方法执行....");return false;}

    @Override
    public voidpostHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
        System.out.println("postHandle方法执行....");}

    @Override
    public voidafterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
        System.out.println("afterCompletion方法执行....");}}
  • 通过WebMvcConfigurer注册拦截器
@Configuration
public class MVCConfig implements WebMvcConfigurer {
    @Autowired
    private MyInterceptor myInterceptor;

    @Override
    public voidaddInterceptors(InterceptorRegistry registry){
        registry.addInterceptor(myInterceptor).addPathPatterns("/user/findAll").addPathPatterns("/public.html").excludePathPatterns("/index.html");}}
  • 测试拦截效果

在这里插入图片描述
在这里插入图片描述

标签: spring boot java spring

本文转载自: https://blog.csdn.net/qq_43514330/article/details/128278445
版权归原作者 不会压弯的小飞侠 所有, 如有侵权,请联系我们删除。

“SpringBoot自定义拦截器”的评论:

还没有评论