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

本章節主要內容:

通過前面的學習,我們瞭解並快速完成了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然後重寫父類中的方法進行擴展。

如下圖:

bbfbb115ec2284ebe72e73d45cb9ef57x768x343

e8101bdc19ffc6dc5dcf736c33e9142dx795x625

查看運行結果:

用戶沒有登錄:

69ceb127de4a506d22a5d2993e9cd2a3x672x80x

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

e70ee384e7058c2a2cd0e75ee20ff87fx718x128

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

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

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

9eebba456644ed887de3306276ba75d1x855x405

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

下圖是個人理解:

797b4c3f1ed85dae27020cd3a63fb8f0x628x288

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

330a6b1919f7394ae1f74e1b2ea4baabx864x497

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

先看源碼:

275cbc98b1f1bfdcbaeeb33e67f26073x1013x44

cb1b8843ecc378f3668c5ee4623d1344x640x350

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

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

2245626f43a6e92c02dfb34389c63615x859x549

理解:

94b067956951605d886cdec4e6115840x637x249

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

在下一節中,我們將講解跳轉到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



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章