1.視**析器(主要是mvc配置檔案中配置)將controller返回的string型別資訊到視**析器組成乙個完整的位址,進行請求**
本質就是將internalresourceviewresolver進行ioc布置到核心容器中,自己對該類的屬性進行注入
<
!--視**析器--
>
"viewresolver"
class
="org.springframework.web.servlet.view.internalresourceviewresolver"
>
"prefix" value=
"/web-inf/"
>
<
/property>
//字首
"suffix" value=
".jsp"
>
<
/property>
//字尾
<
/bean>
2.型別轉換解析器 springmvc中一般自帶了一些型別轉換,但有時候我們可以進行配置轉換方法
注意 :要使用自定義轉換器,那麼開啟mvc註解驅動時,需要定義conversion-service屬性
首先需要自己定義乙個實現類,實現converter介面,重寫轉換方法,定義規則
然後在mvc配置檔案中配置型別轉換解析器
進行了conversionservicefactorybean類的ioc,對converters陣列型別屬性進行賦值,自定義轉換器是可以多個的
開啟註解驅動:
"conversionservicefactorybean"
>
<
/mvc:annotation-driven>
型別轉換器:
="org.springframework.context.support.conversionservicefactorybean" id=
"conversionservicefactorybean"
>
"converters"
>
<
!--配置自定義轉器--
>
="com.ls.converter.stringtodateconverter"
>
<
/bean>
<
/array>
<
/property>
<
/bean>
3.檔案上傳解析器 當檔案上傳時需要(這個除了屬性可以改變,id是寫死的multipartresolver,使用其他的執行時會出錯)
將commonsmultipartresolver類ioc,並注入相應屬性例如最大大小 最小大小這些
<
!--檔案上傳解析器--
>
"multipartresolver"
class
="org.springframework.web.multipart.commons.commonsmultipartresolver"
>
<
!--最大上傳檔案大小 bt 1024
*1024
5m--
>
"maxuploadsize" value=
"5242880"
>
<
/property>
<
/bean>
4.異常解析器
最為方便,自己定義異常類,只要實現handlerexceptionresolver介面,重寫resolveexception方法定義異常規則,然後將此實現類部署到ioc就可以
1. 實現handlerinterceptor介面,重寫方法(不自動提示,快捷鍵alt+insert選擇)
2. 配置***解析器 mvc:interceptors標籤
* 實現handlerinterceptor介面 重寫方法 不自動提示 是alt+insert選擇重寫 (一定要注意多個***之間的攔截順序)
* prehandle方法 在執行controller之前執行
* posthandle方法 在執行完成controller之後執行
* aftercompletion方法 在試圖完成之後執行
* 返回值false帶代表攔截 true就是放行 只有放行才能繼續下一步
多個***執行時:prehandler方法先後執行
posthandler方法,從後往前執行
aftercompletion方法,從後往前執行
配置檔案:
<
!--*** 多個自定義***依次執行 但執行方法時順序不一致--
>
/*
-攔截路徑
/*代表匹配一級 eg:/user
/**代表匹配多級 eg:/user/find
<
!--自定義***配置ioc--
>
"interceptor"
class
="com.ls.interceptor.myinterceptor"
>
<
/bean>
<
/mvc:interceptor>
執行順序效果圖:
Spring MVC多解析器對映
如果想在spring mvc應用程式中使用多個視 析器,那麼可以使用order屬性設定優先順序順序。以下示例顯示如何在spring web mvc框架中使用resourcebundleviewresolver和internalresourceviewresolver。multipleresolver...
SpringMVC 自定義引數解析器
閱讀目錄 回到頂部 public inte ce handlermethodargumentresolversupportsparameter 方法返回 boolean 值,表示是否啟用該解析器,true 表示啟用,false 表示不啟用 resolveargument 方法表示方法引數的解析過程,...
使用解析器
使用解析器 使用解析器是非常簡單,可以使用它自己的詞法分析器,但是,用fsyacc.exe 產生的解析器總是要求詞法分析器。在這一小節,我們將討論如何使用自己的詞法分析器,以及與解析器聯合。警告記住f 編譯器不能直接使用.fsl 和 fsy 檔案,需要用fslex.exe 和 fsyacc.exe ...