1. 程式人生 > >spring boot框架學習8-【幹貨】spring boot的web開發(4)-自定義攔截器處理權限

spring boot框架學習8-【幹貨】spring boot的web開發(4)-自定義攔截器處理權限

凱哥spring boot spring boot框架

本章節主要內容:

通過前面的學習,我們了解並快速完成了spring boot第一個應用。spring boot企業級框架,那麽spring boot怎麽讀取靜態資源?如js文件夾,css文件以及png/jpg圖片呢?怎麽自定義消息轉換器呢?怎麽自定義spring mvc的配置呢?這些我們在公司都需要用的。這些怎麽解決呢?在接下來的小節詳細講解這些。好了,現在開啟spring boot的web開發第四節

本節主要:

1:自定義消息轉換器

本文是《凱哥陪你學系列-框架學習之spring boot框架學習》中第八篇 spring boot框架學習8-spring boot的web開發(4)-自定義spring mvc的配置

聲明:本文系凱哥Java(www.kaigejava.com)原創,未經允許,禁止轉載!

本節主要內容:

1:通過添加攔截器學習自定義spring mvc的配置

2:HandlerInterceptor對象的三個方法詳解

一:通過添加攔截器學習自定義spring mvc的配置

1.1:需求說明

有時候,我們不需要自己配置spring mvc而不是采用springt boot

默認的批準。比如,在後臺,用戶必須登錄後才可以訪問對應頁面。這個時候,我們就需要添加一個攔截器,來進行處理。這種情況怎麽辦?

1.2: 如何增加一個攔截器

需要增加攔截器,這個時候就得通過繼承webmvcconfigureadapter然後重寫父類中的方法進行擴展。

如下圖:

技術分享

技術分享

查看運行結果:

用戶沒有登錄:

技術分享

在看在地址中添加用戶user=123執行後截圖:

技術分享

二:HandlerInterceptor對象的三個方法詳解

2.1:preHandle(HttpServletRequest request,HttpServletResponse response, Object handler)

從上圖用戶已經登錄了,但是凱哥上圖截圖紅色選中部分中可以看出,該preHandle方法將在執行controller處理前調用的。源碼如下:

技術分享

大致意思就是,當返回true接著執行chain後面的。如果返回false的時候,就直接結束請求。

下圖是個人理解:

技術分享

所以,如果我們想要權限處理:

技術分享

2.2:postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView)方法:

先看源碼:

技術分享

技術分享

這個是當時post請求是,執行方法的。這裏就不詳細講解了。

2.3:afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)。

技術分享

理解:

技術分享

本節主要講解自定義的攔截器,來處理一些請求。

在下一節中,我們將講解跳轉到jsp頁面返回404錯誤碼怎麽解決以及登錄後繼續跳轉的當前瀏覽頁面的功能。歡迎大家繼續學習。

本系列其他文章:

spring boot框架學習學前掌握之重要註解(1)-spring的java配置方式

spring boot框架學習學前掌握之重要註解(2)-通過java的配置方式進行配置spring

spring boot框架學習學前掌握之重要註解(3)-通過註解方式讀取外部資源配置文件

spring boot框架學習學前掌握之重要註解(4)-通過註解方式讀取外部資源配置文件2

spring boot框架學習1-認識spring boot和快速入門

spring boot框架學習2-spring boot核心(1)

spring boot框架學習3-spring boot核心(2)

spring boot框架學習5-spring boot的web開發(1)

spring boot框架學習6-spring boot的web開發(2)

pring boot框架學習7-spring boot的web開發(3)-自定義消息轉換器

歡迎關註凱哥公眾號:凱哥Java

歡迎訪問凱哥個人網站:www.kaigejava.com

本文出處:http://www.kaigejava.com/article/detail/57

spring boot系列教程地址:http://kaigejava.com/article/list?cateid=3



spring boot框架學習8-【幹貨】spring boot的web開發(4)-自定義攔截器處理權限