真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

淺析java中SpringMVC攔截器作用及其實(shí)現(xiàn)

攔截器的實(shí)現(xiàn)

創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),察隅網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:察隅等地區(qū)。察隅做網(wǎng)站價(jià)格咨詢:13518219792

1、編寫攔截器類實(shí)現(xiàn)HandlerInterceptor接口;

2、將攔截器注冊(cè)進(jìn)springmvc框架中;

3、配置攔截器的攔截規(guī)則;

其他實(shí)現(xiàn)方法

WebRequestInterceptor接口:

與上一個(gè)的區(qū)別是參數(shù)區(qū)別和prehandle的方法沒(méi)有返回值。沒(méi)有上一個(gè)功能全,因此常用第一個(gè)。

攔截器的使用場(chǎng)景

 處理所有請(qǐng)求共性問(wèn)題:

1、亂碼問(wèn)題:用request,response參數(shù)去設(shè)置編碼;

2、解決權(quán)限驗(yàn)證問(wèn)題(是否登陸,取session對(duì)象查看);

攔截器與過(guò)濾器的區(qū)別

1、攔截器Interceptor依賴于框架容器,基于反射機(jī)制,只過(guò)濾請(qǐng)求;

2、過(guò)濾器Filter依賴于Servlet容器,基于回調(diào)函數(shù),過(guò)濾范圍大;

例子

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
 
public class TestInterceptor implements HandlerInterceptor {
 /**
  * 返回值說(shuō)明是否需要將當(dāng)前的請(qǐng)求攔截下來(lái)
  * false:請(qǐng)求將被終止
  * true:請(qǐng)求會(huì)被繼續(xù)運(yùn)行
  * Object handler 表示的是被攔截的請(qǐng)求的目標(biāo)對(duì)象
  */
 @Override
 public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
   throws Exception {
  System.out.println("TestInterceptor.preHandle()");
  return true;
 }
 /**
  * modelAndView:
  *  可以通過(guò)modelAndView參數(shù)改變顯示的視圖,或者修改發(fā)往視圖的方法
  */
 @Override
 public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
   ModelAndView modelAndView) throws Exception {
  System.out.println("TestInterceptor.postHandle()"); 
 }
 /**
  * 在視圖加載完畢之后調(diào)用
  * 常用于作于資源的銷毀,流等
  * 類似于析構(gòu)函數(shù)
  */
 @Override
 public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
   throws Exception {
  System.out.println("TestInterceptor.afterCompletion()"); 
 }
}

注冊(cè)方式:

在springmvc的Dispatcherservlet配置文件中加入攔截器代碼;


 
 
 
  
  
 
 
 
 

希望本篇文章內(nèi)容對(duì)各位朋友有所幫助


標(biāo)題名稱:淺析java中SpringMVC攔截器作用及其實(shí)現(xiàn)
本文鏈接:http://weahome.cn/article/jjcpdg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部