springmvc 中RequestMapping注解的使用
1、RequestMapping注解既可以修饰方法,又可以修饰类型,类型指定的url相对于web跟路径,而方法修饰的url相对于类url;
2、RequestMapping的几个属性:
value:用于指定url;
method:用于指定请求方式;
params:请求参数,支持简单的表达式,例子: params = {"username","age!=10"}表示请求参数中必须有username age不能等于10.
headers:请求头,支持简单表达式,例子:headers = {"Accept Language=zh-CN,zh;q=0.8"}表示Accept Lanuage必须等于这个否则无法找到链接
这些参数用于更加精确指定请求。
3、RequestMapping注解支持ant类型通配符:
?:表示一个字符;
*:表示任意多个字符
**:匹配多层路径
例如:RequestMapping("testAnt/*/abc") 表示 /testAnt/sndbsbhds(任意多个字符)/abc
测试代码示例:
/** * 四个属性用于指定更加详细的url headers = { "Accept-Language=zh-CN,zh;q=0.8,en;q=0.6" } * "username", * * @return */ @RequestMapping(value = "/helloworld", method = RequestMethod.GET, params = { "username", "age!=10" }, headers = { "Accept-Language=zh-CN,zh;q=0.8,en;q=0.6" }) public String hello() { System.out.println("hello"); return SUCCESS; } @RequestMapping(value = "/helloworld/*/abc", method = RequestMethod.GET) public String hello1() { System.out.println("hello"); return SUCCESS; }
请求:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>welcome page</title> </head> <body> <a href="test/helloworld?username=&age=11">Hello World</a> <br> <br> <a href="test/helloworld/adaf/abc">test Ant</a> </body> </html>
邮箱:wangh_2@sina.com