@RequestMapping註解用法詳解
阿新 • • 發佈:2022-03-09
之前案例中我們就已經使用過@RequestMapping註解了,但還有一些細節我還沒講到,所以在此將詳細講講@RequestMapping註解的使用。
@RequestMapping
通過@RequestMapping註解可以定義不同的處理器對映規則。主要定義在方法之上,Controller類也可以使用。
1)URL路徑對映
@RequestMapping("/xxx")
或者
@RequestMapping(value="/xxx")
value的值是陣列,所以可以將多個url對映到同一個方法上。例如:
@RequestMapping(value={"/xx","/dd"})
2)Controller類請求限定
在class上新增@RequestMapping(url)指定通用請求字首, 限制此類下的所有方法請求url必須以請求字首開頭,通過此方法對url進行分類管理。
例如:@RequestMapping放在類名上邊,設定請求字首。
@Controller
@RequestMapping("/hello")
public class HelloController {
...
}
以上設定之後,所有/appName/hello下的路徑請求全部分配到此COntroller中處理。
例如:
@Controller
@RequestMapping("/hello" )
public class HelloController {
@RequestMapping("/demo01.do")
public ModelAndView update(){
//返回檢視
return new ModelAndView("jsp/hello");
}
}
當訪問到 /appName/hello/demo01.do 時會返回jsp/hello檢視
3)限定請求方法
可以使用該註解限定傳送請求的方法
限定為GET方法:@RequestMapping(method = RequestMethod.GET)
修改以上案例:
@Controller
@RequestMapping ("/hello")
public class HelloController {
@RequestMapping(value="/demo01.do",method={RequestMethod.GET})
public ModelAndView update(){
//返回檢視
return new ModelAndView("jsp/hello");
}
}
當使用post方式進行表單提交訪問/appName/hello/demo01.do時會報錯:
限定為post方法:@RequestMapping(method = RequestMethod.POST)
修改案例為:
@Controller
@RequestMapping("/hello")
public class HelloController {
@RequestMapping(value="/demo01.do",method={RequestMethod.POST})
public ModelAndView update(){
//返回檢視
return new ModelAndView("jsp/hello");
}
}
當使用get方式訪問時會報錯:
注意,不要忘記請求中文亂碼問題,大家須謹慎對待。