@RequestMapping注解。

一、知识点

(1)修饰类

不但可以修饰方法,也可以修饰类。

这样访问路径就变成了/springmvc/hello。

(2)请求方式

修改method参数。

如果这里改成POST,就只能通过post方式进行访问了。

改写index.jsp:

method=”POST”,换成post访问方式,就可以访问了。

(3)请求参数&请求头

@RequestMapping 的 value、method、params 及 heads 分别表示请求 URL、请求方法、请求参数及请求头的映射条件,他们之间是与的关系,联合使用多个条件可让请求映射更加精确化。

  1. params和headers支持简单的表达式。
  2. param1:请求必须包含名为 param1 的请求参数。
  3. !param1:请求不能包含名为 param1 的请求参数。
  4. param1 != value1:表示请求包含名为 param1 的请求参数,但其值不能为 value1。
  5. {“param1=value1”, “param2”}:请求必须包含名为 param1和param2的两个请求参数,且 param1 参数的值必须为 value1。

加上了参数的要求。

改写index.jsp:

godlikexie是无法访问的,因为参数age设为了18。只要改成不是18,就可以正常访问了。

头文件也是一个道理,headers={}就可以实现指定headers的内容。

所以,可以使用params和headers来更加精确地定义请求,可以使用简单的表达式。

(4)Ant风格资源地址

Ant风格资源地址支持3种匹配符:

  1. ?:匹配文件名中的一个字符。
  2. *:匹配文件名中的任意字符。
  3. **:** 匹配多层路径。

@RequestMapping 还支持 Ant 风格的 URL:

  1. /user/*/createUser: 匹配 /user/aaa/createUser、/user/bbb/createUser等URL。
  2. /user/**/createUser: 匹配/user/createUser、/user/aaa/bbb/createUser等URL。
  3. /user/createUser??: 匹配/user/createUseraa、/user/createUserbb等URL。

有一个*符号,代表这里可以填充任意路径。

访问:http://localhost:8080/5.1springmvc/godlikexie/hello,可以成功访问。

(5)@PathVariable 映射URL绑定的占位符

带占位符的URL是Spring3.0新增的功能,该功能在SpringMVC向REST目标挺进发展过程中具有里程碑的意义。

通过 @PathVariable ,可以将 URL 中占位符参数绑定到控制器处理方法的入参中。

这样在访问的时候控制台就可以输出username。

当然如果想玩得高级一点,这样也是可以的:

这样后台直接就可以获取参数值,不需要用servlet进行获取。

二、总结

以上就是@RequestMapping的部分功能,可以实现各种路由的映射。

发表评论

电子邮件地址不会被公开。 必填项已用*标注