目錄
概述
攔截器和過濾器的區(qū)別
實(shí)現(xiàn)
攔截器流程圖
攔截器(Interceptor)是一種動(dòng)態(tài)攔截方法調(diào)用的機(jī)制,在SpringMVC中動(dòng)態(tài)攔截控制器方法的執(zhí)行。
攔截器和過濾器的區(qū)別1)歸屬不同:Filter屬于Servlet技術(shù),Interceptor屬于SpringMVC技術(shù) 。
2)攔截內(nèi)容不同:Filter對(duì)所有訪問進(jìn)行增強(qiáng),Interceptor僅針對(duì)SpringMVC的訪問進(jìn)行增強(qiáng)。
實(shí)現(xiàn)1)定義攔截器類,實(shí)現(xiàn)HandlerInterceptor接口,接口中有三個(gè)重要的方法
preHandle:原始方法調(diào)用前執(zhí)行的內(nèi)容,返回值類型可以攔截控制的執(zhí)行,true放行,false終止
postHandle:原始方法調(diào)用后執(zhí)行的內(nèi)容
afterCompletion:原始方法調(diào)用完成后執(zhí)行的內(nèi)容
@Component
public class ProjectInterceptor implements HandlerInterceptor {
//原始方法調(diào)用前執(zhí)行的內(nèi)容
//返回值可以定義攔截控制的執(zhí)行,true放行,false終止
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("preHandle.....");
return true;
}
@Override
//原始方法調(diào)用后執(zhí)行的內(nèi)容
public void postHandle(HttpServletRequest request, HttpServletResponse
response, Object handler, ModelAndView modelAndView) throws Exception {
System.out.println("postHandle...");
}
//原始方法調(diào)用完成后執(zhí)行的方法
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
System.out.println("afterCompletion.....");
}
//aop通知類型 環(huán)繞通知
}
2)配置加載攔截器
@Configuration
@ComponentScan({"com.ucloud.controller"})
@EnableWebMvc
//也可以繼承WebMvcConfigurationSupport類
//WebMvcConfigurer接口可以簡(jiǎn)化開發(fā),但是有一定的侵入性
public class SpringMvcSupport implements WebMvcConfigurer {
@Autowired
private ProjectInterceptor projectInterceptor;
//添加攔截器
public void addInterceptors(InterceptorRegistry registry){
registry.addInterceptor(projectInterceptor).addPathPatterns("/books","/books/*");
}
}
攔截器流程圖你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
網(wǎng)站欄目:12.2SpringMVC-攔截器-創(chuàng)新互聯(lián)
當(dāng)前路徑:http://jinyejixie.com/article32/dhdssc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、標(biāo)簽優(yōu)化、全網(wǎng)營(yíng)銷推廣、用戶體驗(yàn)、動(dòng)態(tài)網(wǎng)站、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容