SpringMVC的拦截器

本文介绍了SpringMVC中的拦截器机制,主要用于拦截Handler类方法的请求。拦截器不能直接拦截HTML或JSP页面,但可以将这些资源放入WEB-INF文件夹防止外部直接访问。创建自定义拦截器需要实现HandlerInterceptor接口,并在SpringMVC配置文件中通过<mvc:interceptors>或<mvc:interceptor>进行配置,以指定拦截范围。

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

 拦截器:拦截网页请求,只能拦截发送至Handler类方法的请求。访问网页(html,jsp)不拦截,若想外部无法访问直接放入

                WEB-INF文件夹内
     * 1、创建自定义拦截器类实现HandlerInterceptor接口
     * 2、在springmvc配置文件的<mvc:interceptors>里配置<bean>拦截所有或者<mvc:interceptor>拦截具体哪些方法的请求

	<!-- 配置拦截器: 所有拦截器都包含在mvc:interceptors标签里-->
	<mvc:interceptors>
		<!-- 配置拦截器:会拦截所有请求 -->
		<bean class="crud.Filters.FirstFilter"></bean>
		<!-- 配置具体资源拦截器 -->
		<mvc:interceptor>
			<!-- 拦截的请求 ,path设置为:/@RequestMapping里的value值 -->
			<mvc:mapping path="/emps"/>
			<!-- <mvc:mapping path="/testFilter"/> -->
			<!-- 不拦截的请求 ,path设置为:/@RequestMapping里的value值-->
			<mvc:exclude-mapping path="/testFilter"/>
			<bean class="crud.Filters.SecondFilter"></bean>
		</mvc:interceptor>
	</mvc:interceptors>
	
	<mvc:view-controller path="views/success" view-name="success"/>

 

package crud.Filters;

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

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

public class FirstFilter  implements HandlerInterceptor{

	/**
	 * 该方法在目标方法之前被调用.
	 * 若返回值为 true, 则继续调用后续的拦截器和目标方法. 
	 * 若返回值为 false, 则不会再调用后续的拦截器和目标方法. 
	 * 
	 * 可以考虑做权限. 日志, 事务等. 
	 */
	@Override
	public boolean preHandle(HttpServletRequest request,
			HttpServletResponse response, Object handler) throws Exception {
		System.out.println("第一个拦截器: preHandle");
		return true;
	}

	/**
	 * 调用目标方法之后, 但渲染视图之前. 
	 * 可以对请求域中的属性或视图做出修改. 
	 */
	@Override
	public void postHandle(HttpServletRequest request,
			HttpServletResponse response, Object handler,
			ModelAndView modelAndView) throws Exception {
		System.out.println("第一个拦截器:postHandle");
	}

	/**
	 * 渲染视图之后被调用. 释放资源
	 */
	@Override
	public void afterCompletion(HttpServletRequest request,
			HttpServletResponse response, Object handler, Exception ex)
			throws Exception {
		System.out.println("第一个拦截器:afterCompletion");
	}
}

 

期末大作业基于python的足球运动员数据分析源码+数据集(高分项目),个人经导师指导并认可通过的高分设计项目,评审分98分,项目中的源码都是经过本地编译过可运行的,都经过严格调试,确保可以运行!主要针对计算机相关专业的正在做大作业、毕业设计的学生和需要项目实战练习的学习者,资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用需求,如果有需要的话可以放心下载使用。 期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于pyth
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值