目錄
- 一、@RequestMapping 定義請求規則
- 1. 指定模塊名稱
- 2. 對請求提交方式的定義
- 二、處理器方法的引數
- 1. 逐個引數
- 2. 校正請求引數名@RequestParam
- 3. 請求引數中文亂碼問題
- 4. 物件引數接收
- 三、處理器方法的回傳值
- 1. 回傳 ModelAndView
- 2. 回傳 String
- 四、回傳物件Object
- 1. 環境搭建
- 2. 回傳自定義型別物件
- 3. 回傳List集合
- 3. 回傳字串物件
- 五、 解讀url-pattern
- 1. *.do
- 2. /
- 3. 靜態資源的訪問
一、@RequestMapping 定義請求規則
1. 指定模塊名稱
通過@RequestMapping 注解可以定義處理器對于請求的映射規則
該注解可以注解在方法上,也可以注解在類上,但意義是不同的
value 屬性值常以“/”開始
一個@Controller 所注解的類中,可以定義多個處理器方法,當然,不同的處理器方法所匹配的 URI 是不同的
這些不同的 URI 被指定在注解于方法之上的@RequestMapping 的value 屬性中
但若這些請求具有相同的 URI 部分,則這些相同的 URI,可以被抽取到注解在類之上的@RequestMapping 的 value 屬性中,此時的這個 URI 表示模塊的名稱
URI 的請求是相對于 Web 的根目錄
下面的例子還是在第一個程式的上面進行改寫
/**
*@RequestMapping:
* value:所有請求地址的公共部分,叫做模塊名稱
* 位置:放在類的上面
*/
@Controller
@RequestMapping(value = https://www.cnblogs.com/mengd/p/"/test")
public class MyController {
@RequestMapping(value = "/some.do")
public ModelAndView doSome(){
ModelAndView mv = new ModelAndView();
mv.addObject("msg","歡迎使用springmvc");
mv.addObject("fun","執行的是doSome方法");
mv.setViewName("show");
return mv;
}
@RequestMapping(value = "/other.do")
public ModelAndView doOther(){
ModelAndView mv = new ModelAndView();
mv.addObject("msg","歡迎使用springmvc");
mv.addObject("fun","執行的是doOther方法");
mv.setViewName("show");
return mv;
}
}
此時在index.jsp中
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<p>第一個springmvc專案</p>
<p> <a href=https://www.cnblogs.com/mengd/p/"test/some.do">發起test/some.do的請求
