核心的開發步驟就是兩步:html
(1)啓動類 extends WebMvcConfigurationSupportjava
(2)重寫configurePathMatch方法;web
具體實現代碼:spring
1mvc 2app 3異步 4ide 5學習 6ui 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
|
其中訪問代碼:
1 2 3 4 |
|
以上代碼有兩句核心的代碼:
setUseSuffixPatternMatch(boolean useSuffixPatternMatch):
設置是不是後綴模式匹配,如「/user」是否匹配/user.*,默認真即匹配;
當此參數設置爲true的時候,那麼/user.html,/user.aa,/user.*都能是正常訪問的。
當此參數設置爲false的時候,那麼只能訪問/user或者/user/( 這個前提是setUseTrailingSlashMatch 設置爲true了)。
setUseTrailingSlashMatch (boolean useSuffixPatternMatch):
設置是否自動後綴路徑模式匹配,如「/user」是否匹配「/user/」,默認真即匹配;
當此參數設置爲true的會後,那麼地址/user,/user/都能正常訪問。
當此參數設置爲false的時候,那麼就只能訪問/user了。
當以上兩個參數都設置爲true的時候,那麼路徑/user或者/user.aa,/user.*,/user/都是能正常訪問的,可是相似/user.html/ 是沒法訪問的。
當都設置爲false的時候,那麼就只能訪問/user路徑了。
以上就是本文的所有內容,但願對你們的學習有所幫助,也但願你們多多支持腳本之家。
原文連接:http://412887952-qq-com.iteye.com/blog/2315107
http://www.jb51.net/article/106715.htm
其中DefaultMockMvcBuilder還提供了以下API:
addFilters(Filter... filters)/addFilter(Filter filter, String... urlPatterns):添加javax.servlet.Filter過濾器
defaultRequest(RequestBuilder requestBuilder):默認的RequestBuilder,每次執行時會合併到自定義的RequestBuilder中,即提供公共請求數據的;
alwaysExpect(ResultMatcher resultMatcher):定義全局的結果驗證器,即每次執行請求時都進行驗證的規則;
alwaysDo(ResultHandler resultHandler):定義全局結果處理器,即每次請求時都進行結果處理;
dispatchOptions:DispatcherServlet是否分發OPTIONS請求方法到控制器;
StandaloneMockMvcBuilder繼承了DefaultMockMvcBuilder,又提供了以下API:
setMessageConverters(HttpMessageConverter<?>...messageConverters):設置HTTP消息轉換器;
setValidator(Validator validator):設置驗證器;
setConversionService(FormattingConversionService conversionService):設置轉換服務;
addInterceptors(HandlerInterceptor... interceptors)/addMappedInterceptors(String[] pathPatterns, HandlerInterceptor... interceptors):添加spring mvc攔截器;
setContentNegotiationManager(ContentNegotiationManager contentNegotiationManager):設置內容協商管理器;
setAsyncRequestTimeout(long timeout):設置異步超時時間;
setCustomArgumentResolvers(HandlerMethodArgumentResolver... argumentResolvers):設置自定義控制器方法參數解析器;
setCustomReturnValueHandlers(HandlerMethodReturnValueHandler... handlers):設置自定義控制器方法返回值處理器;
setHandlerExceptionResolvers(List<HandlerExceptionResolver> exceptionResolvers)/setHandlerExceptionResolvers(HandlerExceptionResolver... exceptionResolvers):設置異常解析器;
setViewResolvers(ViewResolver...resolvers):設置視圖解析器;
setSingleView(View view):設置單個視圖,即視圖解析時老是解析到這一個(僅適用於只有一個視圖的狀況);
setLocaleResolver(LocaleResolver localeResolver):設置Local解析器;
setFlashMapManager(FlashMapManager flashMapManager):設置FlashMapManager,如存儲重定向數據;
setUseSuffixPatternMatch(boolean useSuffixPatternMatch):設置是不是後綴模式匹配,如「/user」是否匹配"/user.*",默認真即匹配;
setUseTrailingSlashPatternMatch(boolean useTrailingSlashPatternMatch):設置是否自動後綴路徑模式匹配,如「/user」是否匹配「/user/」,默認真即匹配;
addPlaceHolderValue(String name, String value) :添加request mapping中的佔位符替代;
由於StandaloneMockMvcBuilder不會加載Spring MVC配置文件,所以就不會註冊咱們須要的一些組件,所以就提供瞭如上API用於註冊咱們須要的相應組件。