广告
返回顶部
首页 > 资讯 > 后端开发 > Python >SpringMVC拦截器详解
  • 692
分享到

SpringMVC拦截器详解

2024-04-02 19:04:59 692人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录WEB.xml文件springMVC配置文件:controller类:第一个拦截器配置:第二个拦截器:总结web.xml文件 <?xml version="1.

web.xml文件


<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="Http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

<!--    配置springmvc中央处理器-->
    <servlet>
        <servlet-name>springMVC</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--        初始化的时候配置加载springmvc的配置文件-->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring-mvc.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

<!--    3、修改web.xml中的请求路径地址方式-->
    <servlet-mapping>
        <servlet-name>springMVC</servlet-name>
<!--        3、修改web.xml中的请求路径地址方式-->
        <url-pattern>/</url-pattern>
<!--        <url-pattern>*.do</url-pattern>-->
    </servlet-mapping>

<!--
 1、将CSS文件使用默认处理方式进行处理,不再交由中央控制器处理,
         设置路径的更高匹配优先级
 -->
<!--    <servlet-mapping>-->
<!--        <servlet-name>default</servlet-name>-->
<!--        <url-pattern>*.css</url-pattern>-->
<!--        <url-pattern>*.js</url-pattern>-->
<!--        <url-pattern>*.jpg</url-pattern>-->
<!--        <url-pattern>*.png</url-pattern>-->
<!--        <url-pattern>*.html</url-pattern>-->
<!--    </servlet-mapping>-->


</web-app>

springMVC配置文件:


<?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:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="
       http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context.xsd
       http://www.springframework.org/schema/mvc
       http://www.springframework.org/schema/mvc/spring-mvc.xsd">
    <!--自动扫描包-->
    <!-- 开启ioc   注解事务支持-->
    <context:component-scan base-package="cn"></context:component-scan>
    <!--开启spiring mvc注解支持-->
    <mvc:annotation-driven></mvc:annotation-driven>
    <!--配置spring 中的视图解析器-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="resolver">
        <property name="prefix" value="/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean>

    <mvc:interceptors>

                <bean id="interceptor1" class="cn.hp.interceptor.TestInterceptor1"></bean>
        <mvc:interceptor>
            <mvc:mapping path="/**"/>
            <bean id="interceptor1" class="cn.hp.interceptor.TestInterceptor1"></bean>
        </mvc:interceptor>
        <mvc:interceptor>
            <mvc:mapping path="/test1.do"/>
            <mvc:exclude-mapping path="/test2.do"/>
            <bean id="interceptor2" class="cn.hp.interceptor.TestInterceptor2"></bean>
        </mvc:interceptor>

   

</beans>

controller类:


package cn.hp.action;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.servlet.http.httpsession;
@Controller
public class UserAction {
    @RequestMapping("/test1.do")
    public  String test01(){
        System.out.println("正在执行test1这个业务逻辑");
        return "index";
    }
    @RequestMapping("/test2.do")
    public  String test02(){
        System.out.println("正在执行test2这个业务逻辑");
        return "index";
    }
}

第一个拦截器配置:


package cn.hp.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 TestInterceptor1 implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        System.out.println("第一个拦截器,执行业务逻辑之前执行此方法");
        return true;
    }
    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
        System.out.println("第一个拦截器,执行业务逻辑之后,视图渲染之前执行此方法");
    }
    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
        System.out.println("第一个拦截器,执行视图渲染之后执行此方法");
    }
}


第二个拦截器:


package cn.hp.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 TestInterceptor2 implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        System.out.println("第二个拦截器,执行业务逻辑之前执行此方法");
        return true;
    }
    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
        System.out.println("第二个拦截器,执行业务逻辑之后,视图渲染之前执行此方法");
    }
    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
        System.out.println("第二个拦截器,执行视图渲染之后执行此方法");
    }
}

总结

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: SpringMVC拦截器详解

本文链接: https://www.lsjlt.com/news/130660.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SpringMVC拦截器详解
    目录web.xml文件springMVC配置文件:controller类:第一个拦截器配置:第二个拦截器:总结web.xml文件 <?xml version="1....
    99+
    2022-11-12
  • SpringMVC拦截器超详细解读
    目录1.什么是拦截器2.拦截器和过滤器有哪些区别3.拦截器方法4.多个拦截器的执行流程1.什么是拦截器 ​ SpringMVC提供了Intercepter拦截器机制,类似于Servl...
    99+
    2022-11-13
  • 详解SpringMVC的拦截器参数及拦截器链配置
    目录一、拦截器参数二、拦截器链配置一、拦截器参数 前置处理 public boolean preHandle(HttpServletRequest request, HttpServ...
    99+
    2022-11-13
  • Java 超详细讲解SpringMVC拦截器
    目录拦截器(interceptor)的作用拦截器和过滤器区别拦截器快速入门多拦截器操作拦截器方法说明本章小结拦截器(interceptor)的作用 Spring MVC 的 拦截器 ...
    99+
    2022-11-13
  • 详解SpringMVC的拦截器链实现及拦截器链配置
    目录1、拦截器链实现2、拦截器链的执行顺序1、拦截器链实现 只需定义多个拦截器的 bean,然后在拦截器的配置类中将其逐一添加即可 第一个拦截器的定义: @Component pub...
    99+
    2022-11-13
  • SpringMVC拦截器
    7.SpringMVC拦截器 7.1-SpringMVC拦截器-拦截器的作用(理解) Spring MVC 的拦截器类似于 Servlet 开发中的过滤器 Filter,用于对处理器进行预处理和后处理。 将拦截器按一定的顺序联结成一条链,这...
    99+
    2023-08-19
    java servlet spring
  • SpringMVC的拦截器(Interceptor)
    文章目录 1 拦截器概念2 拦截器入门案例2.1 环境准备2.2 拦截器开发步骤1:创建拦截器类步骤2:配置拦截器类步骤3:SpringMVC添加SpringMvcSupport包扫描步骤4:...
    99+
    2023-09-10
    tomcat java servlet
  • 详解SpringMVC拦截器配置及使用方法
    本文介绍了SpringMVC拦截器配置及使用方法,分享给大家,具体如下:常见应用场景日志记录:记录请求信息的日志,以便进行信息监控、信息统计、计算PV(Page View)等。 权限检查:如登录检测,进入处理器检测检测是否登录,如果没有直接...
    99+
    2023-05-31
    spring mvc 拦截器
  • 详解SpringMVC HandlerInterceptor拦截器的使用与参数
    目录拦截器概念:拦截器VS过滤器自定义拦截器开发过程:拦截器配置项:多拦截器配置:拦截器概念: 拦截器( Interceptor)是一种动态拦截方法调用的机制,请求处理过程解析核心原...
    99+
    2022-11-13
  • 详解SpringMVC的拦截器与异常处理机制
    目录1.SpringMVC拦截器1.1拦截器(interceptor)的作用1.2拦截器和过滤器的区别1.3拦截器的快速入门1.4多拦截器操作1.5拦截器方法说明2.SpringMV...
    99+
    2022-11-13
  • SpringMVC超详细介绍自定义拦截器
    目录1.什么是拦截器2.自定义拦截器执行流程图3.自定义拦截器应用实例1.快速入门2.注意事项和细节3.Debug执行流程4.多个拦截器1.多个拦截器执行流程示意图2.应用实例3.主...
    99+
    2022-11-13
  • Struts2拦截器详解
    Struts2拦截器是一种重要的组件,用于对请求进行预处理和后处理。它们可以在请求到达Action之前或之后执行一些操作,比如验证用...
    99+
    2023-09-20
    Struts2
  • 详解SpringMVC中拦截器的概念及入门案例
    目录一、拦截器概念二、拦截器入门案例一、拦截器概念 拦截器(Interceptor)是一种动态拦截方法调用的机制,在SpringMVC中动态拦截控制器方法的执行 作用: 在指定的方法...
    99+
    2022-11-13
  • SpringMVC中拦截器的实现
    SpringMVC 中的 Interceptor 拦截器是非常重要和相当有用的,它的主要作用是拦截指定的用户请求,并进行相应的预处理与后处理。其拦截的时间点在“处理器映射...
    99+
    2022-11-13
  • springmvc拦截器如何实现
    Spring MVC拦截器可以通过实现HandlerInterceptor接口来实现。具体步骤如下:1. 创建一个类实现Handle...
    99+
    2023-09-14
    springmvc
  • SpringMVC拦截器怎么使用
    今天小编给大家分享一下SpringMVC拦截器怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。SpringMVC 的拦...
    99+
    2023-07-05
  • 一文学会 SpringMVC 拦截器
    ✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏:...
    99+
    2023-08-17
    java spring servlet
  • 解决SpringMVC拦截器path路径的坑
    目录SpringMVC拦截器path路径的坑SpringMVC拦截器设置多个path设置多个pathSpringMVC拦截器path路径的坑 SpringMVC提供了很方便的拦截器供...
    99+
    2022-11-12
  • Java SpringMVC拦截器与异常处理机制详解分析
    目录拦截器(interceptor)的作用拦截器快速入门案例:用户登录权限控制拦截器方法说明SpringMVC异常处理异常处理的思路异常处理两种方式拦截器(interceptor)的...
    99+
    2022-11-12
  • struts2 拦截器的详解
    Struts2拦截器是一种可以在请求到达Action之前或之后执行的组件。它们可以用来实现一些通用的任务,例如身份验证、日志记录、性...
    99+
    2023-09-23
    struts2
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作