中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

3小時(shí)網(wǎng)站建設(shè)平臺(tái)滴滴友鏈

3小時(shí)網(wǎng)站建設(shè)平臺(tái),滴滴友鏈,網(wǎng)站素材網(wǎng),一般做網(wǎng)站寬高多少?????? Github主頁👉https://github.com/A-BigTree 筆記鏈接👉https://github.com/A-BigTree/Code_Learning ?????? 如果可以,麻煩各位看官順手點(diǎn)個(gè)star~😊 如果文章對(duì)你有所幫助,可以點(diǎn)贊👍…

??????
Github主頁👉https://github.com/A-BigTree
筆記鏈接👉https://github.com/A-BigTree/Code_Learning
??????

如果可以,麻煩各位看官順手點(diǎn)個(gè)star~😊

如果文章對(duì)你有所幫助,可以點(diǎn)贊👍收藏?支持一下博主~😆


文章目錄

  • 6 SpringMVC攔截器
    • 6.1 概念
      • 攔截器VS過濾器
        • 相似點(diǎn)
        • 不同點(diǎn)
        • 選擇
    • 6.2 使用
      • 6.2.1 創(chuàng)建攔截器類
        • 實(shí)現(xiàn)接口
      • 6.2.2 注冊(cè)攔截器
        • 默認(rèn)攔截全部請(qǐng)求
        • 配置攔截路徑
        • 配置不攔截路徑
      • 6.2.3 執(zhí)行順序

6 SpringMVC攔截器

6.1 概念

在這里插入圖片描述

攔截器VS過濾器

相似點(diǎn)

三要素相同

  • 攔截:必須先把請(qǐng)求攔住,才能執(zhí)行后續(xù)操作;
  • 過濾:攔截器或過濾器存在的意義就是對(duì)請(qǐng)求進(jìn)行統(tǒng)一處理;
  • 放行:對(duì)請(qǐng)求執(zhí)行了必要操作后,放請(qǐng)求過去,讓它訪問原本想要訪問的資源;

不同點(diǎn)

  • 工作平臺(tái)不同
    • 過濾器工作在 Servlet 容器中
    • 攔截器工作在 SpringMVC 的基礎(chǔ)上
  • 攔截的范圍
    • 過濾器:能夠攔截到的最大范圍是整個(gè) Web 應(yīng)用
    • 攔截器:能夠攔截到的最大范圍是整個(gè) SpringMVC 負(fù)責(zé)的請(qǐng)求
  • IOC 容器支持
    • 過濾器:想得到 IOC 容器需要調(diào)用專門的工具方法,是間接的
    • 攔截器:它自己就在 IOC 容器中,所以可以直接從 IOC 容器中裝配組件,也就是可以直接得到 IOC 容器的支持

選擇

功能需要如果用 SpringMVC 的攔截器能夠?qū)崿F(xiàn),就不使用過濾器。

6.2 使用

6.2.1 創(chuàng)建攔截器類

實(shí)現(xiàn)接口

public class Process01Interceptor implements HandlerInterceptor {Logger logger = LoggerFactory.getLogger(this.getClass());// 在處理請(qǐng)求的目標(biāo) handler 方法前執(zhí)行@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {logger.debug("Process01Interceptor preHandle方法");// 返回true:放行// 返回false:不放行return true;}// 在目標(biāo) handler 方法之后,渲染視圖之前@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {logger.debug("Process01Interceptor postHandle方法");}// 渲染視圖之后執(zhí)行@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {logger.debug("Process01Interceptor afterCompletion方法");}
}

單個(gè)攔截器執(zhí)行順序:

  • preHandle()方法
  • 目標(biāo)handler方法
  • postHandle()方法
  • 渲染視圖
  • afterCompletion()方法

在較低版本的 SpringMVC 中,實(shí)現(xiàn)HandlerInterceptor接口需要把所有抽象方法都實(shí)現(xiàn)。但是又不是每個(gè)方法都需要使用,導(dǎo)致代碼比較繁瑣。

此時(shí)可以通過繼承HandlerInterceptorAdapter類同樣可以創(chuàng)建攔截器類。HandlerInterceptorAdapter類中已經(jīng)給 HandlerInterceptor接口提供了默認(rèn)實(shí)現(xiàn),我們繼承后不需要把每個(gè)方法都實(shí)現(xiàn),只需要把有用的方法重寫即可。

在 SpringMVC 較高版本(例如:5.3版本以上)中,HandlerInterceptor 接口已經(jīng)借助JDK1.8新特性讓每個(gè)抽象方法都給出了默認(rèn)實(shí)現(xiàn),所以HandlerInterceptorAdapter這個(gè)類被標(biāo)記為過時(shí)。

6.2.2 注冊(cè)攔截器

默認(rèn)攔截全部請(qǐng)求

<!-- 注冊(cè)攔截器 -->
<mvc:interceptors><!-- 直接通過內(nèi)部 bean 配置的攔截器默認(rèn)攔截全部請(qǐng)求(SpringMVC 范圍內(nèi)) --><bean class="com.atguigu.mvc.interceptor.Process01Interceptor"/>
</mvc:interceptors>

配置攔截路徑

精確匹配:

<!-- 具體配置攔截器可以指定攔截的請(qǐng)求地址 -->
<mvc:interceptor><!-- 精確匹配 --><mvc:mapping path="/common/request/one"/><bean class="com.atguigu.mvc.interceptor.Process03Interceptor"/>
</mvc:interceptor>

匹配單層路徑:

<mvc:interceptor><!-- /*匹配路徑中的一層 --><mvc:mapping path="/common/request/*"/><bean class="com.atguigu.mvc.interceptor.Process04Interceptor"/>
</mvc:interceptor>

匹配多層路徑:

<mvc:interceptor><!-- /**匹配路徑中的多層 --><mvc:mapping path="/common/request/**"/><bean class="com.atguigu.mvc.interceptor.Process05Interceptor"/>
</mvc:interceptor>

配置不攔截路徑

<mvc:interceptor><!-- /**匹配路徑中的多層 --><mvc:mapping path="/common/request/**"/><!-- 使用 mvc:exclude-mapping 標(biāo)簽配置不攔截的地址 --><mvc:exclude-mapping path="/common/request/two/bbb"/><bean class="com.atguigu.mvc.interceptor.Process05Interceptor"/>
</mvc:interceptor>

6.2.3 執(zhí)行順序

  • preHandle()方法:SpringMVC 會(huì)把所有攔截器收集到一起,然后按照配置順序調(diào)用各個(gè)preHandle() 方法;
  • 目標(biāo) handler 方法;
  • postHandle()方法:SpringMVC會(huì)把所有攔截器收集到一起,然后按照配置相反的順序調(diào)用各個(gè)postHandle()方法;
  • 渲染視圖;
  • afterCompletion()方法:SpringMVC 會(huì)把所有攔截器收集到一起,然后按照配置相反的順序調(diào)用各個(gè) afterCompletion() 方法;
http://www.risenshineclean.com/news/55702.html

相關(guān)文章:

  • 網(wǎng)站建設(shè)流程共有幾個(gè)階段百度一下首頁極簡(jiǎn)版
  • 輕蜂加速器網(wǎng)站優(yōu)化策略分析
  • 做網(wǎng)站外包大學(xué)生關(guān)于進(jìn)一步優(yōu)化落實(shí)疫情防控措施
  • 施工企業(yè)包括哪些市場(chǎng)推廣seo職位描述
  • 國內(nèi)頂尖小程序開發(fā)公司廣州seo排名收費(fèi)
  • 廈門建設(shè)工程信息網(wǎng)官網(wǎng)seo診斷分析報(bào)告
  • 怎么才能建立網(wǎng)站運(yùn)營培訓(xùn)班有用嗎
  • 兩學(xué)一做注冊(cè)網(wǎng)站百度首頁
  • 網(wǎng)站開發(fā)文檔撰寫模板鎮(zhèn)江seo
  • 阿里云做網(wǎng)站需要環(huán)境自己做一個(gè)網(wǎng)站要多少錢
  • 沈陽市建設(shè)工程質(zhì)量監(jiān)督局網(wǎng)站神馬推廣登錄
  • 職業(yè)生涯規(guī)劃用什么網(wǎng)站做測(cè)試微博搜索引擎優(yōu)化
  • 做網(wǎng)站最適合用多大的圖片手游代理加盟哪個(gè)平臺(tái)最強(qiáng)大
  • 網(wǎng)站和做游戲網(wǎng)站優(yōu)化排名服務(wù)
  • 專業(yè)官網(wǎng)設(shè)計(jì)周口seo公司
  • 備案網(wǎng)站名怎么寫uc信息流廣告投放
  • 游戲模型外包網(wǎng)站推廣公司品牌
  • 網(wǎng)站建設(shè) 銷售百度愛采購?fù)茝V怎么收費(fèi)
  • 做導(dǎo)航網(wǎng)站有發(fā)展嗎東莞市網(wǎng)絡(luò)seo推廣企業(yè)
  • 網(wǎng)站免備案空間北京搜索排名優(yōu)化
  • 連云港集團(tuán)網(wǎng)站建設(shè)企業(yè)快速建站
  • 企業(yè)網(wǎng)站seo哪里好百度關(guān)鍵詞seo排名軟件
  • 政府網(wǎng)站建設(shè)預(yù)算百度百科詞條入口
  • php響應(yīng)式個(gè)人博客網(wǎng)站設(shè)計(jì)網(wǎng)站建設(shè)制作流程
  • 重慶企業(yè)網(wǎng)站建站app推廣拉新一手渠道代理
  • 做網(wǎng)站能收多少廣告費(fèi)軟件推廣賺錢一個(gè)10元
  • 網(wǎng)站建設(shè)項(xiàng)目seo網(wǎng)絡(luò)推廣企業(yè)
  • 教育網(wǎng)站建設(shè)的意義推廣渠道有哪些
  • 用eclipse編程做網(wǎng)站網(wǎng)絡(luò)營銷的基本方法
  • 人民日?qǐng)?bào)新聞評(píng)論寧波seo關(guān)鍵詞優(yōu)化