基于SpringMVC模式的配置

Spring mvc 目前支持5個(gè)tag嘁傀,分別是

mvc:annotation-driven,mvc:interceptors细办,mvc:view-controller, mvc:resources和mvc:default-servlet-handler

mvc:annotation-driven

注冊(cè) DefaultAnnotationHandlerMapping 和AnnotationMethodHandlerAdapter兩個(gè)bean笑撞,及一系列缺省的messageconverter(需要classpath中有相應(yīng)的lib包的支持。)

相當(dāng)于以下配置的效果茴肥。

class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">

class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">

class="org.springframework.web.bind.support.ConfigurableWebBindingInitializer">

class="org.springframework.http.converter.ByteArrayHttpMessageConverter" />

class="org.springframework.http.converter.StringHttpMessageConverter" />

class="org.springframework.http.converter.xml.SourceHttpMessageConverter" />

class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" />

class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean" />

class="org.springframework.format.support.FormattingConversionServiceFactoryBean" />

注意在3.0.5版本中不支持在 mvc:annotation-driven中再注冊(cè)新的messageconveter,在3.1版本中可以支持炉爆,寫法如下

class="org.springframework.http.converter.ResourceHttpMessageConverter" />

class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" />

mvc:interceptors

注冊(cè)HandlerInterceptors 或 WebRequestInterceptors 攔截器來攔截request請(qǐng)求。

例如

攔截器實(shí)現(xiàn)代碼如下

public void afterCompletion(HttpServletRequest request,

HttpServletResponse response, Object handler, Exception ex)

throws Exception {

log.debug("afterCompletion");

}

@Override

public void postHandle(HttpServletRequest request,

HttpServletResponse response, Object handler,

ModelAndView modelAndView) throws Exception {

log.debug("postHandle");

}

@Override

public boolean preHandle(HttpServletRequest request,

HttpServletResponse response, Object handler) throws Exception {

log.debug("preHandle");

log.debug(handler.getClass().getName());

return super.preHandle(request, response, handler);

}

mvc:default-servlet-handler

將spring mvc的DispatcherServlet替換當(dāng)前web server的缺省的Servlet赴捞。這樣做的好處是定義spring mvc處理請(qǐng)求時(shí)郁稍,不再需要定義*.do,*.action,/action/*之類的url-pattern,而是可以直接定義為<url-pattern>/</url-pattern> (注意不是<url-pattern>/*</url-pattern>恢着,/*將匹配所有請(qǐng)求而導(dǎo)致所有jsp和靜態(tài)內(nèi)容都無法正常顯示财破,而/只匹配缺省的servlet)。

常見web 容器的default servlet name spring mvc中都能自動(dòng)識(shí)別靡羡,但對(duì)于不常見的web 容器或default servlet name 被改寫過的,則需增加參數(shù) default-servlet-name來指定對(duì)應(yīng)的servlet name.

需與<mvc:annotation-driven/>一起使用

mvc:view-controller

將指定路徑的請(qǐng)求直接轉(zhuǎn)到對(duì)應(yīng)的view上略步,而不需要特定的controller來處理請(qǐng)求。

例如

mvc:resources

將指定URL 的匹配模式來訪問靜態(tài)文件绽诚,如

表示將/WEB-INF/js/目錄映射到/js/目錄杭煎,cache超時(shí)時(shí)間為3600秒。

則jsp中引用 js/helloWorld.js實(shí)際上指向的是 /WEB-INF/js/helloWorld.js.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末玫鸟,一起剝皮案震驚了整個(gè)濱河市犀勒,隨后出現(xiàn)的幾起案子妥曲,更是在濱河造成了極大的恐慌,老刑警劉巖褂萧,帶你破解...
    沈念sama閱讀 212,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件葵萎,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡谎痢,警方通過查閱死者的電腦和手機(jī)卷雕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來滨嘱,“玉大人浸间,你說我怎么就攤上這事】猓” “怎么了吩翻?”我有些...
    開封第一講書人閱讀 158,369評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵仿野,是天一觀的道長(zhǎng)她君。 經(jīng)常有香客問我,道長(zhǎng)球涛,這世上最難降的妖魔是什么校镐? 我笑而不...
    開封第一講書人閱讀 56,799評(píng)論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮从祝,結(jié)果婚禮上引谜,老公的妹妹穿的比我還像新娘。我一直安慰自己员咽,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評(píng)論 6 386
  • 文/花漫 我一把揭開白布契讲。 她就那樣靜靜地躺著滑频,像睡著了一般。 火紅的嫁衣襯著肌膚如雪霹琼。 梳的紋絲不亂的頭發(fā)上凉当,一...
    開封第一講書人閱讀 50,096評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音忠藤,去河邊找鬼楼雹。 笑死尖阔,一個(gè)胖子當(dāng)著我的面吹牛榨咐,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播块茁,決...
    沈念sama閱讀 39,159評(píng)論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼数焊,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了佩耳?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,917評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤李滴,失蹤者是張志新(化名)和其女友劉穎蛮瞄,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,360評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡籍凝,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評(píng)論 2 327
  • 正文 我和宋清朗相戀三年苗缩,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片退盯。...
    茶點(diǎn)故事閱讀 38,814評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡泻肯,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出琉朽,到底是詐尸還是另有隱情稚铣,我是刑警寧澤墅垮,帶...
    沈念sama閱讀 34,509評(píng)論 4 334
  • 正文 年R本政府宣布耕漱,位于F島的核電站,受9級(jí)特大地震影響灾梦,放射性物質(zhì)發(fā)生泄漏齐鲤。R本人自食惡果不足惜斥废,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評(píng)論 3 317
  • 文/蒙蒙 一牡肉、第九天 我趴在偏房一處隱蔽的房頂上張望淆九。 院中可真熱鬧,春花似錦炭庙、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至做鹰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間钾麸,已是汗流浹背炕桨。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評(píng)論 1 267
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留芋肠,地道東北人遵蚜。 一個(gè)月前我還...
    沈念sama閱讀 46,641評(píng)論 2 362
  • 正文 我出身青樓奈惑,卻偏偏與公主長(zhǎng)得像睡汹,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子原在,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容