SpringMVCTest.java
package com.atguigu.springmvc.handlers;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@RequestMapping("/springmvc")
@Controller
public class SpringMVCTest {
private static final String SUCCESS="success";
@RequestMapping("/testRequestMapping")
public String testRequestMapping()
{
System.out.println("testRequestMapping");
return SUCCESS;
}
}
index.jsp
body
a href="springmvc/testRequestMapping"Test RequestMapping/a
/body
SpringMVCTest.java
package com.atguigu.springmvc.handlers;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@RequestMapping("/springmvc")
@Controller
public class SpringMVCTest {
private static final String SUCCESS="success";
@RequestMapping("/testRequestMapping")
public String testRequestMapping()
{
System.out.println("testRequestMapping");
return SUCCESS;
}
//使用Method属性来指定请求方式
@RequestMapping(value="/testMethod",method=RequestMethod.POST)
public String testMethod()
{
System.out.println("testMethod");
return SUCCESS;
}
}
index.jsp
!--因为@RequestMapping中的method属性指定的是POST,所以不能使用get请求--
form action="springmvc/testMethod" method="POST"
input type="submit" value="submit"/
/form
SpringMVCTest.java
package com.atguigu.springmvc.handlers;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@RequestMapping("/springmvc")
@Controller
public class SpringMVCTest {
private static final String SUCCESS="success";
@RequestMapping("/testRequestMapping")
public String testRequestMapping()
{
System.out.println("testRequestMapping");
return SUCCESS;
}
//使用Method属性来指定请求方式
@RequestMapping(value="/testMethod",method=RequestMethod.POST)
public String testMethod()
{
System.out.println("testMethod");
return SUCCESS;
}
//可以使用params和headers来更加精确地映射请求,params和headers支持简单的表达式
@RequestMapping(value="testParamsAndHeaders",
params={"username","age!=10"}, headers={"Accept-Language=zh-CN,zh;q=0.8"})
public String testParamsAndHeaders()
{
System.out.println("testParamsAndHeaders");
return SUCCESS;
}
}
index.jsp
a href="springmvc/testParamsAndHeaders?username=zhangsanage=11"testParamsAndHeaders/a
浏览器中:
http://localhost:8080/springmvc-1/springmvc/testParamsAndHeaders?username=zhangsanage=11
Ant 风格资源地址支持 3 种匹配符:
- ?:匹配文件名中的一个字符
- *:匹配文件名中的任意字符
- : 匹配多层路径
@RequestMapping 还支持 Ant 风格的 URL:
- /user/*/createUser: 匹配/user/aaa/createUser、/user/bbb/createUser 等 URL
- /user/**/createUser: 匹配/user/createUser、/user/aaa/bbb/createUser 等 URL
- /user/createUser??: 匹配/user/createUser**aa**、/user/createUser**bb **等 URL
SpringMVCTest.java
package com.atguigu.springmvc.handlers;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@RequestMapping("/springmvc")
@Controller
public class SpringMVCTest {
private static final String SUCCESS="success";
@RequestMapping("/testRequestMapping")
public String testRequestMapping()
{
System.out.println("testRequestMapping");
return SUCCESS;
}
//使用Method属性来指定请求方式
@RequestMapping(value="/testMethod",method=RequestMethod.POST)
public String testMethod()
{
System.out.println("testMethod");
return SUCCESS;
}
//可以使用params和headers来更加精确地映射请求,params和headers支持简单的表达式
@RequestMapping(value="testParamsAndHeaders",
params={"username","age!=10"}, headers={"Accept-Language=zh-CN,zh;q=0.8"})
public String testParamsAndHeaders()
{
System.out.println("testParamsAndHeaders");
return SUCCESS;
}
@RequestMapping("/testAntPath/*/abc")
public String testAntPath()
{
System.out.println("testAntPath");
return SUCCESS;
}
}
index.jsp
a href="springmvc/tetAntPath/fdsagfdas/abc"TestAntPath/a