SpringMVC攔截器運(yùn)行原理及配置詳解
過(guò)濾器與攔截器的區(qū)別:
過(guò)濾器在 url-pattern 中配置了/*之后,可以對(duì)所有要訪問(wèn)的資源攔截。
攔截器它是只會(huì)攔截訪問(wèn)的controller中的方法,如果訪問(wèn)的是 jsp,html,css,image 或者 js 是不會(huì)進(jìn)行攔 截的
攔截器的處理方案:
1:編寫攔截器類
自定義攔截器
public class MyInterceptor implements HandlerInterceptor {
/**
* 預(yù)處理方法:controller方法執(zhí)行前
*return true 放行,執(zhí)行下一個(gè)攔截器,如果沒(méi)有,就執(zhí)行controller中的方法
*return: false 不放行
* @param request
* @param response
* @param handler
* @return
* @throws Exception
*/
@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response,
Object handler) throws Exception {
System.out.println("執(zhí)行前......testInterceptor....");
return true;
}
/**
* 后處理方法,controller方法執(zhí)行后,success.jsp執(zhí)行之前
*
*
* @param request
* @param response
* @param handler
* @param modelAndView
* @throws Exception
*/
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
System.out.println("執(zhí)行后......testInterceptor....");
}
/**
*
*success.jsp頁(yè)面執(zhí)行后,該方法會(huì)執(zhí)行
*
*
* @param request
* @param response
* @param handler
* @param ex
* @throws Exception
*/
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
System.out.println("success.jsp執(zhí)行后...");
}
}
2:在springmvc.xml中配置自定義攔截器

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
如何把VS Code打造成Java開(kāi)發(fā)IDE
這篇文章主要介紹了如何把VS Code打造成Java開(kāi)發(fā)IDE,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10
springcloud 中 zuul 修改請(qǐng)求參數(shù)信息的方法
這篇文章主要介紹了springcloud 中 zuul 修改請(qǐng)求參數(shù)信息的方法,需要的朋友可以參考下2018-02-02
windows下zookeeper配置java環(huán)境變量的方法
今天小編就為大家分享一篇關(guān)于windows下zookeeper配置java環(huán)境變量的方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03
使用Java判定一個(gè)數(shù)值是否在指定的開(kāi)閉區(qū)間范圍內(nèi)
這篇文章主要給大家介紹了關(guān)于使用Java判定一個(gè)數(shù)值是否在指定的開(kāi)閉區(qū)間范圍內(nèi)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-09-09
springboot啟動(dòng)時(shí)候報(bào)錯(cuò)mongodb問(wèn)題
這篇文章主要介紹了springboot啟動(dòng)時(shí)候報(bào)錯(cuò)mongodb問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05
Spring?MVC??接受請(qǐng)求參數(shù)的方法
了解HTTP請(qǐng)求的GET和POST方法中如何攜帶參數(shù),以及SpringMVC中如何接收這些參數(shù),GET方法通過(guò)URL傳遞參數(shù),而POST方法通常在請(qǐng)求體中傳遞,SpringMVC使用注解如@RequestParam和@RequestBody來(lái)綁定參數(shù)到控制器方法2024-09-09
Spring boot通過(guò)AOP防止API重復(fù)請(qǐng)求代碼實(shí)例
這篇文章主要介紹了Spring boot通過(guò)AOP防止API重復(fù)請(qǐng)求代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12
利用Jackson解決Json序列化和反序列化問(wèn)題
Jackson是一個(gè)用于處理Json數(shù)據(jù)的Java庫(kù),它提供了一系列功能,包括Json序列化和反序列化,所以本文就來(lái)講講如何利用利用Jackson解決Json序列化和反序列化的問(wèn)題吧2023-05-05

