SpringMVC 第三章 不同风格的URL

Ant风格的资源地址支持3种匹配符:
    ?:匹配文件名中的一个字符
    * :匹配文件名中的任意字符
    ** : **匹配多层路径

@RequestMapping还支持Ant风格的URL
    /user/*/createUser: 匹配 /user/aaa/createUser; /user/bbb/createUser 等URL
        => 中间会有一个路径层
    /user/**/createUser: 匹配 /user/createUser; /user/aaa/bbb/createUser 等URL
        => URL头尾是确定的,中间可以是任意个路径层,也可以没有任何路径层
    /user/createUser??: 匹配 /user/createUseraa; /user/createUserbb
        => 一个问号代表一个字符,在指定问号的位置可以是任意的字符

举例:
        

使用Ant风格URL

Ant Style 风格 URL @RequestMapping(value="/*/antstyle") public String antStyle() { System.out.println("you in ant style url!"); return "success";

说明:
        访问路径springmvc/anything/antstyle中anything可以切换成一个任意路径名称,
        不会影响访问结果,因为requestMapping中*表示可以替代任意一层路径名称
        如果此时requestMapping改为@RequestMapping(value="/**/antstyle")
        则说明只要确定了类的reqeustMapping和方法访问的antStyle,
        中间可以放置任意层级的路径都是可以访问成功的

 

带有占位符的URL映射
@PathVariable 映射URL绑定的占位符
通过@PathVariable可以将URL中占位符参数绑定到控制器处理方法的入参中:
URL中的{xxx}占位符可以通过@PathVariable("xxx")绑定到操作方法的入参中

例如:
	/*Rest风格的url请求*/
	@RequestMapping(value="/rest/{name}")
	public String restPathVariable(@PathVariable(value="name") String name) {
		System.out.println("通过Rest风格Url传入的name参数:" + name);
		return "success";
	}
	访问的url:
	http://localhost:8080/spring-mvc-1/springmvc/rest/zhangsan

 

你可能感兴趣的:(spring系列,springmvc,url,ant,占位符)