使用@RequestMapping(“/xxx”)来映射请求
* 返回值回通过视图解析器解析为实际的物理视图,对于InternalResourceViewResolver 视图解析器,会做如下解析:
* prefix + returnVal +后缀, 这样的方式得到实际的物理视图,然后会做转发操作
* `@RequestMapping("/helloworld")
public String hello(){
System.out.println("hello world");
return "success";
}`
这里:
* eg: /WEB-INF/views/success.jsp
@RequestMapping(“/xxx”) 除了修饰方法,还可以修饰类
@RequestMapping("/springmvc")
@Controller
public class SpringMVCTest {
private static final String SUCCESS = "success";
@RequestMapping("/testRequestMapping")
public String testRequestMapping(){
System.out.println("testRequestMapping");
return SUCCESS;
}
}
1.类定义处:
提供初步的请求映射信息,相对于WEB应用的根目录
2.方法处:
提供进一步的细分映射信息。相对于类定义处的URL。若类定义处未标注@RequestMapping,则方法处标记的URL 相对于WEB应用的根目录
@RequestMapping(value=”/testMethod”, method = RequestMethod.POST) 页面提交必须使用post才能接收到
/**
* 使用method属性来指定请求方式
* @return
*/
@RequestMapping(value="/testMethod", method = RequestMethod.POST)
public String testMethod(){
System.out.println("testMethod");
return SUCCESS;
}
@RequestMapping(value=”testParamAndHeader”, params={“username”,”age=10”},headers={“Accept-Language=zh-CN,zh;q=0.8”})
/**
* 了解:可以使用params 和使用headers 来更加精确的映射请求,params 和headers 支持简单的表达式
* @return
*/
@RequestMapping(value="testParamAndHeader", params={"username","age=10"},headers={"Accept-Language=zh-CN,zh;q=0.8"})
public String testParamAndHeader(){
System.out.println("testParamAndHeader");
return SUCCESS;}
@RequestMapping 支持Ant风格资源地址支持3种通配符
?:匹配文件名中的一个字符
*:匹配文件名种的任意字符
**:匹配多层路径
@RequestMapping("/testAntPath/*/abc")
public String testAntPath(){
System.out.println("testAntPath");
return SUCCESS;
}