springmvc--拦截器

tech2022-11-30  106

一、自定义拦截器,需要实现HandlerInterceptor接口

package com.springmvc.interceptor; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class MyInterceptor implements HandlerInterceptor { //处理方法执行之前执行 @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { return false; } @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 { } }

二、方法说明

1、preHandle:在处理方法执行之前执行,返回true代表放行,可以让处理方法执行。返回false代表不放行,不让处理方法执行,可以进行请求转发等操作。

2、postHandle:在处理方法执行完返回ModelAndView之气执行,可以对返回的结果进行更改设置。

3、afterCompletion:在请求方法整个流程处理完毕之后执行。

三、配置

配置拦截器:对什么请求进行拦截,使用哪个拦截器进行拦截

<mvc:interceptors>         <mvc:interceptor>             <mvc:mapping path="/**"/>             <bean class="com.springmvc.interceptor.MyInterceptor"></bean>         </mvc:interceptor>     </mvc:interceptors>

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!--开启mvc注解驱动--> <mvc:annotation-driven conversion-service="conversionService"/> <!--定义生产转换器的工厂,生成自定义的转换器--> <bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean"> <property name="converters"> <set> <bean class="com.springmvc.converter.DateConverter"></bean> </set> </property> </bean> <!--扫描包--> <context:component-scan base-package="com.springmvc"></context:component-scan> <mvc:default-servlet-handler></mvc:default-servlet-handler> <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**"/> <bean class="com.springmvc.interceptor.MyInterceptor"></bean> </mvc:interceptor> </mvc:interceptors> </beans>

 

最新回复(0)