SpringBoot中的拦截器的使用和配置

本文通过一个小Demo介绍了SpringBoot中拦截器的配置与使用方法,包括登录验证和数据加密等功能的实现,展示了拦截器在日志记录、权限验证等场景的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SpringBoot中的拦截器是常用的技能,接下来将参照一个小小的demo讲解SpringBoot中拦截器的配置和使用.
1、SpringBoot中拦截器的使用场景.
日志、登陆验证、权限等都会用到拦截器.
2、demo源码.
在SpringBoot中使用拦截器非常的简单,相关的依赖SpringBoot已经自动为我们导入了,因此不必进行额外的导入,相关的参考代码如下:

package com.spring.boot.gp4zj.webconfig;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

/**
 * 添加了一个拦截器,用于登陆验证和数据加密;
 * 
 * @author:JunZhou
 * @Company:LongZheng
 * @Email:1769676159@qq.com
 * @2018年1月19日@下午2:24:42
 */
public class SessionInterceptor implements HandlerInterceptor {
	@Override
	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object o) throws Exception {
		// 登录不做拦截
		if (request.getRequestURI().equals("/mongo/attencedetail/selectAll")
				|| request.getRequestURI().equals("/user/login_view")) {
			System.out.println("You get a http request");
		}
		return true;
	}
  
   /**
     * 该方法将在Controller执行之后,返回视图之前执行,modelAndView表示请求Controller处理之后返回的Model和View对象,所以可以在
     * 这个方法中修改modelAndView的属性,从而达到改变返回的模型和视图的效果。
     */
	@Override
	public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o,
			ModelAndView modelAndView) throws Exception {

	}

   
	@Override
	public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse,
			Object o, Exception e) throws Exception {

	}

	public String getRemortIP(HttpServletRequest request) {
		if (request.getHeader("x-forwarded-for") == null) {
			return request.getRemoteAddr();
		}
		return request.getHeader("x-forwarded-for");
	}
}

**注意:拦截器需要添加到SpringBoot的配置类中才会生效;**

3、参考文章

如何在SpringBoot项目中使用拦截器[登陆拦截器]

SpringMVC拦截器

SpringMVC学习记录–拦截器的使用

SpringMvc4.x基本配置:拦截器配置

Spring Boot核心:日志配置

springboot整合shiro-登录认证和权限管理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值