最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談springMVC攔截器和過濾器總結(jié)

 更新時間:2017年01月19日 11:30:23   作者:龔細(xì)軍  
本篇文章主要介紹了springMVC攔截器和過濾器總結(jié),可以用來對訪問的url進(jìn)行攔截處理,有興趣的可以了解一下。

攔截器: 用來對訪問的url進(jìn)行攔截處理

用處: 權(quán)限驗證,亂碼設(shè)置等

spring-mvc.xml文件中的配置:

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
            http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context-3.1.xsd
            http://www.springframework.org/schema/mvc
            http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
            http://www.springframework.org/schema/tx
            ">

  <!--編寫攔截器-->
  <mvc:interceptors>
    <!--對特定的url攔截-->
    <mvc:interceptor>
      <mvc:mapping path="/test.do"/>
      <bean class="com.hbut.interceptor.TestInterceptor"/>
    </mvc:interceptor>
    <mvc:interceptor>
      <!--對特定的模塊攔截第一級別攔截-->
      <mvc:mapping path="/test/×/"/>
      <bean class="com.hbut.interceptor.TestInterceptor1"/>
    </mvc:interceptor>

    <mvc:interceptor>
      <!--對特定的模塊攔截-->
      <mvc:mapping path="/test/×"/>
      <bean class="com.hbut.interceptor.TestInterceptor2"/>
    </mvc:interceptor>

  </mvc:interceptors>

對所有的url進(jìn)行攔截

 <mvc:interceptors>
   <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"/>
 </mvc:interceptors>

java代碼

package com.hbut.interceptor;

import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * @Author XiJun.Gong
 * @DATE 2016/6/1.
 * aim:  com.hbut.interceptor
 */
public class TestInterceptor implements HandlerInterceptor {

  @Override
  public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {
    
   //todo 在此處添加要操作code 
   System.out.println("preHandle"); 
    return true; //todo 此處為false時,請求不會到達(dá)control層
  }

  @Override
  public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {
    System.out.println("postHandle"); //todo 可以用來修改信息,跳轉(zhuǎn)等
  }

  @Override
  public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {
    System.out.println("afterCompletion"); //todo 最后執(zhí)行
  }
}

另一種攔截器:大同小異

package com.hbut.interceptor;

import org.springframework.ui.ModelMap;
import org.springframework.web.context.request.WebRequest;
import org.springframework.web.context.request.WebRequestInterceptor;

/**
 * @Author XiJun.Gong
 * @DATE 2016/6/1.
 * aim:  com.hbut.interceptor
 */
public class Test2Interceptor implements WebRequestInterceptor {
  @Override
  public void preHandle(WebRequest webRequest) throws Exception {
  }

  @Override
  public void postHandle(WebRequest webRequest, ModelMap modelMap) throws Exception {

  }

  @Override
  public void afterCompletion(WebRequest webRequest, Exception e) throws Exception {

  }
}

過濾器: 依賴于servlet容器,使用回調(diào)函數(shù),過濾范圍大

攔截器: 依賴于框架容器 比如spring、mybatis ,靈活

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解Kotlin的空指針處理

    詳解Kotlin的空指針處理

    這篇文章主要介紹了詳解Kotlin的空指針處理的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • SpringBoot分頁的實現(xiàn)與long型id精度丟失問題的解決方案介紹

    SpringBoot分頁的實現(xiàn)與long型id精度丟失問題的解決方案介紹

    在以后的開發(fā)中,當(dāng)全局唯一id的生成策略生成很長的Long型數(shù)值id之后會超過JS對Long型數(shù)據(jù)處理的能力范圍,可能發(fā)生精度丟失而造成后端方法失效,我們要學(xué)會解決。分頁功能雖然簡單但是非常重要,對于剛接觸項目的人一定要重點注意
    2022-10-10
  • spring注解如何為bean指定InitMethod和DestroyMethod

    spring注解如何為bean指定InitMethod和DestroyMethod

    這篇文章主要介紹了spring注解如何為bean指定InitMethod和DestroyMethod,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Java隨機(jī)生成手機(jī)短信驗證碼的方法

    Java隨機(jī)生成手機(jī)短信驗證碼的方法

    這篇文章主要介紹了Java隨機(jī)生成手機(jī)短信驗證碼的方法,涉及Java數(shù)學(xué)運算計算隨機(jī)數(shù)及字符串操作的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-11-11
  • Java多線程讀寫鎖ReentrantReadWriteLock類詳解

    Java多線程讀寫鎖ReentrantReadWriteLock類詳解

    本文詳細(xì)講解了Java多線程讀寫鎖ReentrantReadWriteLock類,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12
  • 通過AOP環(huán)繞通知如何實現(xiàn)事務(wù)控制

    通過AOP環(huán)繞通知如何實現(xiàn)事務(wù)控制

    這篇文章主要介紹了通過AOP環(huán)繞通知如何實現(xiàn)事務(wù)控制的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • 基于HTTP協(xié)議實現(xiàn)簡單RPC框架的方法詳解

    基于HTTP協(xié)議實現(xiàn)簡單RPC框架的方法詳解

    RPC全名(Remote?Procedure?Call),翻譯過來就是遠(yuǎn)程過程調(diào)用,本文將為大家介紹如何基于HTTP協(xié)議實現(xiàn)簡單RPC框架,感興趣的小伙伴可以了解一下
    2023-06-06
  • 詳解Java的MyBatis框架與Spring框架整合中的映射器注入

    詳解Java的MyBatis框架與Spring框架整合中的映射器注入

    映射器注入方式可以將MyBatis與Spring映射好的XML文件實現(xiàn)配置共用,這里我們就來詳解Java的MyBatis框架與Spring框架整合中的映射器注入:
    2016-06-06
  • spring boot2.0實現(xiàn)優(yōu)雅停機(jī)的方法

    spring boot2.0實現(xiàn)優(yōu)雅停機(jī)的方法

    這篇文章主要介紹了spring boot2.0實現(xiàn)優(yōu)雅停機(jī)的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • Java的Servlet及其生命周期詳解

    Java的Servlet及其生命周期詳解

    這篇文章主要介紹了Java的Servlet及其生命周期詳解,Servlet是用Java編寫的服務(wù)器端程序,一門用于開發(fā)動態(tài)web資源的技術(shù),其主要功能在與交互式的瀏覽和修改數(shù)據(jù),生成動態(tài)web內(nèi)容,需要的朋友可以參考下
    2023-11-11

最新評論

广宁县| 巴南区| 株洲市| 光山县| 永仁县| 和政县| 许昌县| 大足县| 岗巴县| 祥云县| 石泉县| 三亚市| 茂名市| 上林县| 化州市| 高要市| 原阳县| 始兴县| 张家界市| 盐池县| 冀州市| 双城市| 五河县| 宜兴市| 阿拉善右旗| 德阳市| 亳州市| 鄂托克前旗| 赣州市| 张家川| 贞丰县| 连州市| 山东| 宾川县| 淳安县| 额敏县| 丹阳市| 体育| 梓潼县| 融水| 堆龙德庆县|