SpringMVC----RequestMapping映射請求

    1.SpringMVC使用@RequestMapping註解爲控制指定能夠處理哪些URL請求。
java

    2.在控制器的類定義及方法定義處均可標註。
spring

        @RequestMappingmvc

        --類定義處:提供初步的請求映射信息。相對於WEB應用的根目錄
app

        --方法處:提供進一步的細分映射信息。相對於類定義處的URL若類定義處未標註:@RequestMapping,則方法處標記            的URL相對於WEB應用的根目錄。
spa

     3.DispatcherServlet截獲請求後,就經過控制器上@RequestMapping提供的隱射信息肯定請求所對應的處理方法。
code

@RequestMapping("/hello")
@Controller
public class HelloWorld{
    
    @RequestMapping("/spingmvc")
    public String springmvc(){
        System.out.println("hello world");
        return "hello";
    }
}

 @RequestMapping除了能夠使用請求URL映射請求外,還能夠使用請求方法、請求參數及請求頭映射請求
資源

 @RequestMapping 的value、method、params及heads分別表示請求URL、請求參數及請求頭的映射條件,他們之間是與的關係,聯合使用多個條件可以讓請求映射更加精準化。class

    4.params 和 headers支持簡單的表達式:
test

    --param1:表示請求必須包含爲param1的請求參數
請求

    --!param1:表示請求不能包含名爲param1的請求參數

    --param1!=value1:表示請求包含名爲param的請求參數,但其值不能爲value!

    --{"param1 = value1","param2"};請求必須包含名爲param1 和 param2的兩個請求參數,且param1參數的值必須爲value1.

/**
	 * 使用method屬性來制定請求方式
	 * header的用法相似。
	 * headers={"Accept-Language=zh-CN,zh;q=0.8"}
	 */
	@RequestMapping(value="/testParamOrHeaders",params={"username","password!=12345678"},method=RequestMethod.POST)
	public String testParamOrHeaders(){
		System.out.println("testParamOrHeaders");
		return SUCCESS;
	}
	
	
	/**
	 * 使用method屬性來制定請求方式
	 */
	@RequestMapping(value="/testMethod",method=RequestMethod.POST)
	public String testMethod(){
		System.out.println("testMethod");
		return SUCCESS;
	}

 5.Ant風格資源地址支持3種匹配符:

       ?:匹配文件名中的一個字符 

        *:匹配文件名中的任意字符

        **:匹配多層路徑

    @RequestMapping還支持Ant風格的URL:

        -- /user/*/createUser: 匹配/user/aaa/createUser、/user/bbb/createUser等

        -- /user/**/createUser:匹配/user/createUser、/user/aaa/bbb/createUser等

        -- /user/createUser??:匹配/user/createUseraa 、/user/createUserbb等URL

相關文章
相關標籤/搜索