框架之SpringMVC注解

controller方法的返回值
  • 返回ModelAndView
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("itemsList",itemsList);
return modelAndView;
  • 返回字符串
- 表示返回邏輯視圖[jsp路徑=前綴+邏輯視圖名+后綴]
return "items/editItems";
- redirect重定向
return "refirect:queryItems.action";
- forward頁(yè)面轉(zhuǎn)發(fā)
return "forward:queryItems.action";
  • 返回void
    在controller方法形參上定義request和response

@Controller 負(fù)責(zé)注冊(cè)一個(gè)bean
@RequestMapping 為控制器指定可以處理哪些 URL 請(qǐng)求
@RequestBody 用于讀取Request請(qǐng)求的body部分?jǐn)?shù)據(jù),使用系統(tǒng)默認(rèn)配置的HttpMessageConverter進(jìn)行解析,然后把相應(yīng)的數(shù)據(jù)綁定到要返回的對(duì)象上 ,再把HttpMessageConverter返回的對(duì)象數(shù)據(jù)綁定到 controller中方法的參數(shù)上
@ResponseBody 用于將Controller的方法返回的對(duì)象外傅,通過(guò)適當(dāng)?shù)腍ttpMessageConverter轉(zhuǎn)換為指定格式后鞭呕,寫(xiě)入到Response對(duì)象的body數(shù)據(jù)區(qū)
@ModelAttribute 在方法的入?yún)⑶笆褂?@ModelAttribute 注解:可以從隱含對(duì)象中獲取隱含的模型數(shù)據(jù)中獲取對(duì)象励饵,再將請(qǐng)求參數(shù)綁定到對(duì)象中有滑,再傳入入?yún)⒎椒ㄈ雲(yún)?duì)象添加到模型中
@RequestParam 可以把請(qǐng)求參數(shù)傳遞給請(qǐng)求方法
@PathVariable 綁定 URL 占位符到入?yún)?br> @ExceptionHandler 出現(xiàn)異常時(shí)會(huì)執(zhí)行該方法
@ControllerAdvice 使一個(gè)Contoller成為全局的異常處理類(lèi)逆害,類(lèi)中用@ExceptionHandler方法注解的方法可以處理所有Controller發(fā)生的異常

@RequestMapping

value: 指定請(qǐng)求的實(shí)際地址
method: 指定請(qǐng)求的method類(lèi)型晋南, GET惠猿、POST、PUT负间、DELETE等偶妖;
params: 指定request中必須包含某些參數(shù)值是,才讓該方法處理政溃。
headers: 指定request中必須包含某些指定的header值趾访,才能讓該方法處理請(qǐng)求。

@ModelAttribute

@ModelAttribute通常使用在Controller方法的參數(shù)注解中董虱,用于解釋model entity腹缩,但同時(shí),也可以放在方法注解里。
如果把@ModelAttribute放在方法的注解上時(shí)藏鹊,代表的是:該Controller的所有方法在調(diào)用前润讥,先執(zhí)行此@ModelAttribute方法。

@RequestParam

test(String name),如果沒(méi)有name 參數(shù)不會(huì)報(bào)錯(cuò)
test(@RequestParam String name),沒(méi)有name 參數(shù)會(huì)報(bào)錯(cuò),(也可以設(shè)置required = false)
test(@RequestParam("userName") String name)
第三種跟第二種的區(qū)別是 請(qǐng)求的參數(shù)名userName轉(zhuǎn)換成方法的參數(shù)name

全局異常1:

@ControllerAdvice
public class testControllerAdvice {
    @ExceptionHandler
    public ModelAndView exceptionHandler(Exception ex){
        ModelAndView mv = new ModelAndView("error");
        mv.addObject("exception", ex);
        System.out.println("in testControllerAdvice");
        return mv;
    }
}

全局異常2:

<!-- configure SimpleMappingExceptionResolver -->
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
    <property name="exceptionMappings">
        <props>
            <prop key="java.lang.ArithmeticException">error</prop>
        </props>
    </property>
</bean>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末盘寡,一起剝皮案震驚了整個(gè)濱河市楚殿,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌竿痰,老刑警劉巖脆粥,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異影涉,居然都是意外死亡变隔,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén)蟹倾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)匣缘,“玉大人,你說(shuō)我怎么就攤上這事鲜棠〖〕” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵豁陆,是天一觀的道長(zhǎng)柑爸。 經(jīng)常有香客問(wèn)我,道長(zhǎng)盒音,這世上最難降的妖魔是什么表鳍? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮祥诽,結(jié)果婚禮上譬圣,老公的妹妹穿的比我還像新娘。我一直安慰自己原押,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布偎血。 她就那樣靜靜地躺著诸衔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪颇玷。 梳的紋絲不亂的頭發(fā)上笨农,一...
    開(kāi)封第一講書(shū)人閱讀 49,784評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音帖渠,去河邊找鬼谒亦。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的份招。 我是一名探鬼主播切揭,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼锁摔!你這毒婦竟也來(lái)了廓旬?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤谐腰,失蹤者是張志新(化名)和其女友劉穎孕豹,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體十气,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡励背,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了砸西。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片叶眉。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖籍胯,靈堂內(nèi)的尸體忽然破棺而出竟闪,到底是詐尸還是另有隱情,我是刑警寧澤杖狼,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布炼蛤,位于F島的核電站,受9級(jí)特大地震影響蝶涩,放射性物質(zhì)發(fā)生泄漏理朋。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一绿聘、第九天 我趴在偏房一處隱蔽的房頂上張望嗽上。 院中可真熱鬧,春花似錦熄攘、人聲如沸兽愤。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)浅萧。三九已至,卻和暖如春哲思,著一層夾襖步出監(jiān)牢的瞬間洼畅,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工棚赔, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留帝簇,地道東北人徘郭。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像丧肴,于是被迫代替她去往敵國(guó)和親残揉。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

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