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

相关文章
相关标签/搜索