SpringMVC第十篇——攔截器的配置和使用
Springmvc的配置檔案中配置:
<!-- SPringmvc的攔截器鏈-->
<mvc:interceptors>
<!-- 多個攔截器 -->
<mvc:interceptor>
<!-- 攔截所有 -->
<mvc:mapping path="/**"/>
<bean class="controller.HandlerInterceptor1"/>
</mvc:interceptor>
<!-- <mvc:interceptor>
<mvc:mapping path="/**"/>
自定義的攔截器類
<bean class="xxxxInterceptor2"/>
</mvc:interceptor> -->
</mvc:interceptors>
<mvc:interceptors ></mvc:interceptors>中配置的是一組攔截器鏈
配置的攔截器按照配置的順序載入
攔截器的書寫:
public class HandlerInterceptor1 implements HandlerInterceptor {
// controller執行後且檢視返回後呼叫此方法
// 這裡可得到執行controller時的異常資訊
// 這裡可記錄操作日誌
@Override
public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)
throws Exception {
}
// controller執行後但未返回檢視前呼叫此方法
// 這裡可在返回使用者前對模型資料進行加工處理,比如這裡加入公用資訊以便頁面顯示
@Override
public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
throws Exception {
}
// Controller執行前呼叫此方法
// 返回true表示繼續執行,返回false中止執行
// 這裡可以加入登入校驗、許可權攔截等
@Override
public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2) throws Exception {
/**
參考例子:
判斷是否登入,如果沒有登入,重定向到請求到登入的controller,返回登入檢視
如果是登入狀態,則直接放行。
*/
if(arg0.getSession().getAttribute("user")==null){
arg1.sendRedirect(arg0.getContextPath() + "toLogin.action");
//請求不放行
return false;
}else{
//放行
return true;
}
}
}
返回 SpringMVC的學習筆記目錄
相關推薦
SpringMVC第十篇——攔截器的配置和使用
Springmvc的配置檔案中配置: <!-- SPringmvc的攔截器鏈--> <mvc:interceptors> <
springMVC學習 十二 攔截器
一 攔截器概述 攔截器技術比較像java web技術中的過濾器技術,都是傳送 請求時被攔截器攔截,在控制器的前後新增額外功能。但是和Spring中的Aop技術是由區別的。AOP 在特定方法前後擴充(一般是對 ServiceImpl的方法進行擴充),而攔截器是對控制器的請求進行攔截。 但是攔截器和j
《快速掌握PyQt》 第十章 定時器QTimer和進度條QProgressBar
第十章 定時器QTimer和進度條QProgressBar 當我們要讓程式定期去執行某函式的時候,QTimer就派上用場了,比如一個遊戲程式,它通常會定期去呼叫一個函式來進行更新操作。而進度條可以用來顯示某項任務的進度,從而讓使用者介面更加友好。 我們通常將將
Spring Cloud系列教程 | 第十篇:Spring Cloud Config Server和Spring Cloud Bus以及Kafka和資料庫動態重新整理配置
推薦 Spring Cloud 視訊: Spring Cloud Config Server和Spring Cloud Bus以及Kafka和資料庫動態重新整理配置 Spring cloud config server如果不結合Spring cloud
SpringMVC第四篇——處理器對映器,處理器介面卡,檢視解析器的配置
這兩個註解的作用和來源: <mvc:annotation-driven/> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"&
SpringMVC第七篇【RESTful支援、攔截器】
RESTful支援 我們在學習webservice的時候可能就聽過RESTful這麼一個名詞,當時候與SOAP進行對比的…那麼RESTful究竟是什麼東東呢??? RESTful(Representational State Transfer)軟體開發理念,
十、FTP服務器配置和管理
網絡共享ftp、vsftpd10.1、FTP服務簡介 FTP是Internet上使用非常廣泛的一種通信協議,用於在不同的主機之間進行文件傳輸。Linux系統下常用的FTP服務器軟件包括有wu-ftpd;vsftpd(Very Secure ftp Daemon);proftpd;pureftpd等。客戶端軟
十一、NFS服務器配置和管理
nfs配置、文件共享、autofs11.1、NFS簡介 NFS是Network File System的縮寫,中文名為網絡文件系統,它是一種能使安裝了不同操作系統的計算機之間通過網絡進行共享的網絡協議。由於NFS可以快速地進行文件共享,有效地提供資源的利用率,節省本地磁盤空間,方便集中管理,所以應用廣泛。
十二、samba服務器配置和管理
samba、文件共享12.1、Samba簡介 Linux和Windows是兩種無論在風格還是在技術上都完全不同的操作系統,它們是兩個對立的陣形。各自都擁有自己的用戶群和市場。但是,要實現這兩種系統之間的資源共享,則需要使用Samba。Samba采用的是C/S工作模式,通過它可以將一臺Linux系統主機配置為
python全棧開發【第十篇】Python常用模塊二(時間、random、os、sys和序列化)
utc時間 用戶 這也 文件名 password 如何 json字符串 並且 持久 一、time模塊 表示時間的三種方式: 時間戳:數字(計算機能認識的) 時間字符串:t=‘2012-12-12‘ 結構化時間:time.struct_time(tm_year=2
Django 【第十篇】自定義驗證規則和中間件
表達式 主動 mixin tex choice direct request lock test 一、Form基本使用 類 字段 is_valid() cleaned_data errors 字段參數: m
SpringMVC攔截器配置
SpringMVC 攔截器 攔截器顧名思義就是用於攔截訪問請求的,我們可以在攔截器裏對訪問請求進行事先的處理,例如權限檢查、記錄日誌、驗證請求數據等等。說白了就是我們可以在請求到控制器之前對其進行一個處理。 攔截器基本上和過濾器是類似的,只不過攔截器提供的方法比較實用,參數也比較多,而且攔截器是受到s
Python 基礎第十一天(閉包和裝飾器初識)
過程 理解 繼續 記錄 turn 格式 -s pos 變量賦值 今日內容: 函數名的應用 閉包 裝飾器的初識 裝飾器的傳參 1.函數名的應用 函數名是函數的名字. 本質:變量,特殊的變量。是函數的內存地址 函數名() 可以執行此函數 (1)單獨打印函數名,可以得到函數的內存
springmvc攔截器使用和原理理解
res ont str ppi lan ati IT 做的 string 與struts2類似,springmvc的攔截器主要作用也是在服務端真正處理請求前後進行一些相關的操作。 例如初始化資源,權限監控,會話設置,菜單獲取,資源清理等。 步驟: 1. 定義攔截器
R實戰 第十篇:列聯表和頻數表
列聯表是觀測資料按兩個或更多屬性(定性變數)分類時所列出的頻數分佈表,它是由兩個以上的變數進行交叉分類的頻數分佈表。互動分類的目的是將兩變數分組,然後比較各組的分佈狀況,以尋找變數間的關係。 按兩個變數交叉分類的,該列聯表稱為兩維列聯表;若按3個變數交叉分類,所得的列聯表稱為3維列聯表,依次類推。一維列聯表
深入理解定時器系列第三篇——定時器應用(時鐘、倒計時、秒錶和鬧鐘)
前面的話 本文屬於定時器的應用部分,分別用於實現與時間相關的四個應用,包括時鐘、倒計時、秒錶和鬧鐘。與時間相關需要用到時間和日期物件Date,詳細情況移步至此 時鐘 最簡單的時鐘製作辦法是通過正則表示式的exec()方法,將時間物件的字串中的時間部分截取出來,使用定時器重新整理即可 &
第三篇 第十章建築滅火器配置(二)
nbsp 建築 圖片 技術分享 png ima .com info com 第三篇 第十章建築滅火器配置(二)
從.Net到Java學習第十篇——Spring Boot檔案上傳和下載
圖片上傳 Spring Boot中的檔案上傳就是Spring MVC中的檔案上傳,將其整合進來了。 在模板目錄建立一個新的頁面 profile/uploadPage.html <!DOCTYPE html> <html xmlns:th="http://www.thymel
springMVC自定義攔截器配置
springMVC中自定義攔截器只需實現HandlerInterceptor ,先看看這個介面。 public interface HandlerInterceptor { boolean preHandle(HttpServletRequest
vue餓了麼學習-第十篇(配置路由)
1.在build檔案下,開啟dev-server.js檔案,新增引入express檔案,並使用它。 var express = require('express') var app = express() 已經將data.json資料,引入到了這裡,如下 //9.