一、RequestMapping的作用
作用:@RequestMapping注解可以完成url请求映射。
可以作用在方法上。
@RequestMapping("/addUI")
public String addUI(Model model){
return "addUI";
}
也可以作用在Java类上,用来细化请求路径。
在Java类上使用了该注解,访问路径/addUI前就要加上一级user路径。
package com.gql.springmvc02;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
@RequestMapping("/user")
public class UserController {
public UserController() {
super();
System.out.println("构造函数...");
}
//跳转到添加页面
@RequestMapping("/addUI")
public String addUI(Model model){
//model.addAttribute("msg", "双笙");
return "addUI";//forward写不写都是转发,redirect代表重定向.
}
}
二、RequestMapping的属性
属性 | 说明 |
---|---|
value | 默认属性,指定请求的实际地址,可以是具体地址、RestFul动态获取、使用正则设置 |
method | 指定请求的method类型, 分为GET、POST、PUT、DELETE等 |
params | 指定request中必须包含某些参数值时才让该方法处理,细化请求。 |
headers | 指定request中必须包含某些指定的header值,才能让该方法处理请求。 |
consumes | 指定处理请求的提交内容类型(Content-Type) |
produces | 指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回。 |
1.method属性
使用下面的方式指定请求的method类型后,必须使用指定的请求方式。
@RequestMapping(value="/user",method=RequestMethod.POST)
2.params属性
使用了下面的params属性,request中必须拼接上一个name属性和不等于20的age属性,例如:
http://localhost:8080/SpringMVC01/user/addUI.do?name=%22%E5%91%A8%E5%86%AC%E9%9B%A8%22&age=21
是可以访问的。
@RequestMapping(value="/user",method=RequestMethod.POST,params={"name","age!=20"})
3.headers属性
下面的RequestMapping指定了headers属性,只有指定的请求头才可以访问。
@RequestMapping(value="/user",method=RequestMethod.GET,params={"name","age!=20"},headers={"Accept-Language=zh-CN,zh;q=0.9"})