一、SpringMVC案例
在springmvc配置文件中配置扫描器
<!-- base-package : 表示扫描路径 --!>
<context:component-scan base-package="com.xin"></context:component-scan>
创建处理请求控制器
@Controller
public class ViewController {
// 返回String类型,返回的是视图名称。会被视图解析器接收,通过加上前缀 + 返回视图名 + 后缀解析完成之后返回给客户端的内容
@RequestMapping("/")
public String index() {
return "index";
}
}
二、@RequestMapping注解
用来建立请求与处理请求控制方法的映射关系。一个请求只有一个对应的控制方法,但是一个控制方法可以有多个请求。
@RequestMapping的属性
1.value : 请求地址 , 请求地址只要匹配其中一个就可以执行控制器方法
@Controller
public class ViewController {
// 当请求为test01 或者为 test02会执行控制器方法
@RequestMapping(value = {"/test01","/test02"})
public String index() {
return "success";
}
}
2.method : 请求方式 , 请求方式只要匹配其中一个就可以执行控制器方法
@Controller
public class ViewController {
// 当请求方式为 get 或 post
@RequestMapping(method = {RequestMapping.GET,RequestMapping.POST})
public String index() {
return "success";
}
}
3.params : 请求参数 , 请求参数都要满足才可以执行控制器方法
@Controller
public class ViewController {
// 当请求参数有username,password才会执行
@RequestMapping(params = {"username","password"})
public String test01() {
return "success";
}
// 当请求参数有username=admin,password=123456才会执行
@RequestMapping(params = {"username=admin","password=123456"})
public String test02() {
return "success";
}
// 当请求参数username不等于admin,password=123456才会执行
@RequestMapping(params = {"username!=admin","password=123456"})
public String test02() {
return "success";
}
// 当请求参数没有!username,有password=123456才会执行
@RequestMapping(params = {"!username","password=123456"})
public String test02() {
return "success";
}
}
4.headers : 请求头 , 请求头参数都要满足才可以执行控制器方法
@Controller
public class ViewController {
// 只有请求头的location = localhost:8080才会执行
@RequestMapping(header = {"location = localhost:8080"})
public String test01() {
return "success";
}
}