springmvc中拦截器的定义和配置

package com.hope.interceptor;

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

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

/** * 自定义拦截器 * * @author newcityman * @date 2019/11/28 - 23:57 */public class MyInterceptor1 implements HandlerInterceptor {    /**     * 拦截器前处理方法     *     * @param request     * @param response     * @param handler     * @return     * @throws Exception     */    @Override    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {        System.out.println("MyInterceptor执行了....前处理方法");//        request.getRequestDispatcher("/WEB-INF/pages/error.jsp").forward(request,response);        return true;    }

    /**     * 拦截器后处理方法     * @param request     * @param response     * @param handler     * @param modelAndView     * @throws Exception     */

    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, @Nullable ModelAndView modelAndView) throws Exception {        System.out.println("MyInterceptor执行了....后处理方法");        request.getRequestDispatcher("/WEB-INF/pages/error.jsp").forward(request,response);    }

    /**     * success.jsp页面执行后,该方法会执行     * @param request     * @param response     * @param handler     * @param ex     * @throws Exception     */    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, @Nullable Exception ex) throws Exception {        System.out.println("MyInterceptor执行了....最后");    }}
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"       xmlns:mvc="http://www.springframework.org/schema/mvc"       xmlns:context="http://www.springframework.org/schema/context"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       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">

    <!--指定spring扫描的包-->    <context:component-scan base-package="com.hope"></context:component-scan>    <!--视图解析器-->    <bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">        <property name="prefix" value="/WEB-INF/pages/"/>        <property name="suffix" value=".jsp"/>    </bean>

   <!-- 配置文件解析器对象,处理文件上传处理-->    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">        <property name="maxUploadSize" value="10485760"></property>    </bean>   <!-- 指定前端控制器哪些资源不拦截-->    <!--前端控制器,哪些静态资源不拦截-->    <mvc:resources location="/css/" mapping="/css/**"/>    <mvc:resources location="/images/" mapping="/images/**"/>    <mvc:resources location="/js/" mapping="/js/**"/>

    <!--配置拦截器-->    <mvc:interceptors>        <!--配置拦截器-->        <mvc:interceptor>            <!--要拦截的具体的方法-->            <mvc:mapping path="/user/*"/>            <!--不要拦截的具体方法-->            <!--<mvc:exclude-mapping path=""/>-->           <!-- 配置拦截器对象-->            <bean class="com.hope.interceptor.MyInterceptor1"></bean>        </mvc:interceptor>    </mvc:interceptors>    <!--开启springmvc框架注解的支持,包含开启处理器映射器和处理器适配器-->    <mvc:annotation-driven /></beans>
 

原文地址:https://www.cnblogs.com/newcityboy/p/11963456.html

时间: 2024-08-28 22:32:45

springmvc中拦截器的定义和配置的相关文章

springmvc中拦截器与springmvc全局异常处理器的问题

最近在做一个练手的小项目, 系统架构中用了springmvc的全局异常处理器, 做了系统的统一异常处理. 后来加入了springmvc的拦截器, 为了一些需求, 在拦截器中的 preHandle 方法 中抛出了系统自定义异常, 当时有有个疑惑, 就是抛出的这个异常全局异常处理器怎么处理的. 这里的全局异常处理器时通过实现HandlerExceptionResolver这个借口实现的 要指出的是 resolveException方法 中 handler中代表的是什么,我没遇到这个问题之前我认为这玩

springmvc中拦截器的使用

拦截器的实现 1.编辑拦截器类实现HandlerInterceptor接口. 2.把拦截器注册到springmvc框架中. 3.配置拦截器的拦截规则 拦截器类: public class LoginHandler implements HandlerInterceptor { @Override public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception

SpringMVC中拦截器的简单使用

SpringMVC的处理器拦截器类似于过滤器Filter,用于对处理器进行预处理和后处理. 例如做登录验证,日志,性能检测等. 一.编写拦截器,使其实现HandlerInterceptor接口 import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.HandlerInterceptor; i

struts2中拦截器的简介与配置使用

拦截器是struts2框架的核心,struts2很多的功能都是构建在拦截器基础之上的,它是动态拦截Action调用的对象,提供了一种机制,使得开发者能够在一个Action前后执行需要的代码,可以在一个Action执行前组织他的执行,也能在Action执行后做一些相应的工作.同时他也提供了一种可以提取Action中可重用部分的方式. 拦截器 struts2拦截器是在访问某个Action或它的某个方法 .字段之前或之后实施拦截,struts2拦截器是可插拔的,是AOP的一种实现(AOP是OOP(Ob

SpringMVC处理器拦截器

一.简介 Spring Web MVC的处理器拦截器(如无特殊说明,下文所说的拦截器即处理器拦截器)类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理.常见应用场景如下: 日志记录:记录请求信息的日志,以便进行信息监控.信息统计.计算PV(Page View)等. 权限检查:如登录检测,进入处理器检测检测是否登录,如果没有直接返回到登录页面: 性能监控:有时候系统在某段时间莫名其妙的慢,可以通过拦截器在进入处理器之前记录开始时间,在处理完后记录结束时间,从而得到该请求

SpringMVC经典系列-14自定义SpringMVC的拦截器---【LinusZhu】

注意:此文章是个人原创,希望有转载需要的朋友们标明文章出处,如果各位朋友们觉得写的还好,就给个赞哈,你的鼓励是我创作的最大动力,LinusZhu在此表示十分感谢,当然文章中如有纰漏,请联系[email protected],敬请朋友们斧正,谢谢. 这部分主要讲解SpringMVC的拦截器的部分,会带着大家完成定义拦截器的两种方式的实例,不多说了,开始-- SpringMVC的拦截器主要是用于拦截用户的请求,并且进行相应的处理,如:权限验证.判断登录等. 定义拦截器的两种方式,如下: 1. 实现接

详述 Spring MVC 框架中拦截器 Interceptor 的使用方法

1 前言 昨天新接了一个需要,"拦截 XXX,然后 OOO",好吧,说白了就是要用拦截器干点事(实现一个具体的功能).之前,也在网络上搜了很多关于Interceptor的文章,但感觉内容都大同小异,而且知识点零零散散,不太方便阅读.因此,正好借此机会,整理一篇关于拦截器的文章,在此分享给大家,以供大家参考阅读. 2 拦截器 2.1 概念 Java 里的拦截器是动态拦截 action 调用的对象.它提供了一种机制可以使开发者可以定义在一个 action 执行的前后执行的代码,也可以在一个

SpringMVC处理器拦截器 Interceptor

拦截器概念 Java 里的拦截器是动态拦截action调用的对象.它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行,同时也提供了一种可以提取action中可重用部分的方式.在 AOP(Aspect-Oriented Programming,面向切面编程)中拦截器用于在某个方法(包括构造器)或字段被访问之前进行拦截,然后在之前或之后加入某些操作.特别地,现阶段 Spring 自身仅支持基于方法的拦截操作!如果基于方法的拦截操作不能

SpringMVC:拦截器

SpringMVC:拦截器 2019-10-19 / Java / 狂神说位置: Home » Java » 本页 概述 SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理.开发者可以自己定义一些拦截器来实现特定的功能. 过滤器与拦截器的区别:拦截器是AOP思想的具体应用. 过滤器 servlet规范中的一部分,任何java web工程都可以使用 在url-pattern中配置了/*之后,可以对所有要访问的资源进行拦截 拦截器 拦截器是