博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringBoot2 添加应用拦截器
阅读量:6903 次
发布时间:2019-06-27

本文共 2155 字,大约阅读时间需要 7 分钟。

项目参考:详细参见:《Spring Boot 2精髓:从构建小系统到架构分布式大系统》 第三章 3.6.1节 拦截器

 

 

MyWebMvcConfigurer

package com.archibladwitwicke.springboot2.chapter03.configurer;import com.archibladwitwicke.springboot2.chapter03.intercept.AdminLoginIntercept;import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.config.annotation.InterceptorRegistry;import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;@Configurationpublic class MyWebMvcConfigurer implements WebMvcConfigurer {    @Override    public void addInterceptors(InterceptorRegistry registry) {        // 添加一个拦截器,连接以/admin为前缀的 url路径        registry.addInterceptor(new AdminLoginIntercept()).addPathPatterns("/admin/**");    }}

  

TestAdminController

package com.archibladwitwicke.springboot2.chapter03.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;@Controller@RequestMapping("/admin")public class TestAdminController {    @RequestMapping("/hello")    @ResponseBody    public String say() {        return "this is a admin page.";    }}

  

AdminLoginIntecept

package com.archibladwitwicke.springboot2.chapter03.intercept;import org.springframework.web.servlet.HandlerInterceptor;import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class AdminLoginIntercept implements HandlerInterceptor {    @Override    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {        // 如果已经登录返回true。        // 如果没有登录没有登录,可以使用 reponse.send() 跳转页面。后面要跟return false,否则无法结束;        // 为了测试,打印一句话        System.out.println("访问了admin下url路径。");        return true;    }    @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 {    }}

  

 

转载地址:http://soldl.baihongyu.com/

你可能感兴趣的文章
八个Docker的真实应用场景
查看>>
vpc的使用方法
查看>>
GitExtensions GitCredentialWinStore syntax error near unexpected token `('
查看>>
Java获取EXE文件图标的方法
查看>>
“驱动程序在 \Device\Harddisk0\D 上检测到控制器错误”的根本解决办法!
查看>>
ubuntu 之修改权限的问题
查看>>
php 框架ci去index.php的方法
查看>>
Hyper-v学习(四),SMB虚拟机实时迁移
查看>>
基于spring3注解的google分页
查看>>
实用命令行工具详解—crontab
查看>>
redis+ssh-keygen免认证登录案例
查看>>
linux svn命令
查看>>
Android中获取CPU负载和进程cpu时间
查看>>
docker容器启动后添加端口映射
查看>>
Xtrabackup系列之:二进制安装
查看>>
python变量的定义
查看>>
Python面向对象
查看>>
CentOS5 安装vsFtpd软件及配置
查看>>
设计师应该关注的科技发展方向(二)
查看>>
redis python监控
查看>>