一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - SpringMVC攔截器詳解

SpringMVC攔截器詳解

2021-10-14 11:55池魚i_ Java教程

本篇文章主要介紹了SpringMVC攔截器配置及使用方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

web.xml文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?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配置文件:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?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類:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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";
    }
}

第一個攔截器配置:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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("第一個攔截器,執行視圖渲染之后執行此方法");
    }
}

第二個攔截器:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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("第二個攔截器,執行視圖渲染之后執行此方法");
    }
}

SpringMVC攔截器詳解

總結

本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關注服務器之家的更多內容!

原文鏈接:https://blog.csdn.net/best_p1/article/details/118637785

延伸 · 閱讀

精彩推薦
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發現了對于集合操作轉換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關于Java8中S...

    阿杜7472021-02-04
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經有好久沒有升過級了。升級完畢重啟之后,突然發現好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程xml與Java對象的轉換詳解

    xml與Java對象的轉換詳解

    這篇文章主要介紹了xml與Java對象的轉換詳解的相關資料,需要的朋友可以參考下...

    Java教程網2942020-09-17
  • Java教程Java BufferWriter寫文件寫不進去或缺失數據的解決

    Java BufferWriter寫文件寫不進去或缺失數據的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進去或缺失數據的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程Java實現搶紅包功能

    Java實現搶紅包功能

    這篇文章主要為大家詳細介紹了Java實現搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關于小米推送Java代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩中求8032021-07-12
主站蜘蛛池模板: 亚洲免费视频播放 | japanese在线观看 | 免费港剧在线观看港剧 | 99在线视频观看 | 天堂8在线天堂资源bt | 国产高清经典露脸3p | 精品视频一区在线观看 | 男人懂得网站 | 国产91免费在线 | 男人使劲躁女人视频免费 | 污丝瓜视频 | 欧美国产在线 | 顶级欧美做受xxx000大乳 | 国产a免费观看 | 欧美在线看片a免费观看 | 成人永久免费视频 | 国产第一自拍 | 亚洲卡一卡2卡三卡4卡无卡三 | 九九99香蕉在线视频美国毛片 | 欧美亚洲高清日韩成人 | 亚洲国产AV无码综合在线 | 国产婷婷成人久久av免费高清 | 五月最新商场女厕所高跟嘘嘘 | tube日本高清老少配 | 日本高清不卡一区久久精品 | 亚洲色图色 | 高人先生免费观看全集 | 曹逼网站 | 人人爱天天做夜夜爽88 | haodiaose在线精品免费观看 | 国产男女乱淫真视频全程播放 | 成年人在线观看视频免费 | 好大好湿好硬好爽好深免费视频 | a级黄色视屏 | 农村美女沟厕嘘嘘被偷看 | 被夫上司侵犯了中文字幕 | 九九热国产视频 | 俄罗斯一级毛片免费播放 | 国产精品高清一区二区三区不卡 | 亚洲国产精品无码中文字幕 | 东京干福利|