spring mvc 部分注解使用方式
- 该注解用于的value属性的值用于声明访问路径
@RequestMapping(value="/hi")
public ModelAndView firstrequestMapping(){
System.out.println("来了");
ModelAndView andView=new ModelAndView();
andView.setViewName("index");
return andView;
}
-
method属性用于设置方法的请求方式,默认两种均支持
@RequestMapping(value="/mypost",method = RequestMethod.POST) public String postMethod(User user){ System.out.println(user); return "index"; }
3.RESTful风格 及设置成另一种赋值方式
eg:/user/admin/123 ------- /user?username=admin&password=123
@RequestMapping("/user/{password}/{username}")
public String Stafull(@PathVariable("username") String username,
@PathVariable("password") String password){
System.out.println(username+"\t"+password);
return "index";
}
4.RequestParam用于设定参数的默认值,name为参数名称;defaultValue默认值;required限制请求参数的名称
@RequestMapping("/defualt")
public String setDefault(@RequestParam(
name="nowPage",defaultValue = "1",required =true) int nowPage,int totalPage){
System.out.println(nowPage+"\t"+totalPage);
return "index";
}
5.cookie的添加和取出
@RequestMapping("/addcookie")
public String addCookie(HttpServletResponse response){
Cookie c=new Cookie("name","haha");
c.setPath("/");
response.addCookie(c);
return "forward:/getcookie";
}
@RequestMapping("/getcookie")
public String getCookie(@CookieValue("JSESSIONID") String cookie,HttpServletRequest request){
System.out.println(cookie);
System.out.println(request.getAttribute("test"));
return "index";
}
6.请求转发的写法 转发:forward:/转发路径;重定向:redirect:/重定向路径
@RequestMapping("/testforward")
public String myforward(HttpServletRequest request){
request.setAttribute("test","转发");
return "forword:/testrequest";
}
@RequestMapping("/testredirect")
public String myRedirect(HttpServletRequest request){
request.setAttribute("test","重定向");
return "redirect:/testrequest";
}
@RequestMapping("/testrequest")
public String myTest(HttpServletRequest request){
System.out.println(request.getAttribute("test"));;
return "index";
}
7.请求表达式:
param:请求必须包含该参数
!param:请求必须不包含该参数
param=value:请求包含该参数且值必须为value
param!=value:请求包含该参数但值不为value
@RequestMapping(value = "/param" , params = {"username=admin","password!=10","!age"})
public String testParam(String username , String password){
System.out.println("usernam:"+username);
System.out.println("password:"+password);
return "index";
}
8.ant风格:模糊匹配路径;*表示任意字符;**表示任意层级任意字符;?表示任意一个字符
@RequestMapping("/ant/*/can")
public String ant(){
return "index";
}
@RequestMapping("/ant/**/can")
public String ant1(){
return "index";
}
@RequestMapping("/ant/?can")
public String ant2(){
return "index";
}