码迷,mamicode.com
首页 > Web开发 > 详细

SpingMVC常用注解z

时间:2017-09-16 21:55:49      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:default   传递   text   param   赋值   属性   lan   变量   referer   

@Controller

  指明Spring类的实例是一个控制器,是SpringMVC Controller对象

@RequestMapping

  指定哪个类或者方法处理请求动作

  修饰方法,映射对应请求,每个请求处理方法可以有多个不同类型的参数,Spring会自动将对象正确的传递给方法

  修饰类,所有方法映射为类级别的请求,表示该控制器的所有请求都被映射到value属性指定的路径下

    @Controller

    @RequestMapping("/user")

    public class UserController{

      @RequestMapping("/register")

      public String register(){...}

      @RequestMapping("/login")

      public String login(){...}

    }

    被映射的URL:http://localhost:8080/user/register  http://localhost:8080/user/login

  支持的属性:

    value:默认属性,是唯一属性的时候可以省略属性名,映射一个请求和一种方法  @RequestMapping()value="/user")

    method:指定该方法仅仅处理那些HTTP请求方式  @RequestMapping()value="/user",method=RequestMethod.POST)

      多个则为@RequestMapping()value="/user",method={RequestMethod.POST,RequestMethod.GET})

    consumes:指定处理请求的提交内容类型(Content-type)

      @RequestMapping()value="/user",method={RequestMethod.POST,RequestMethod.GET},consumes="application/json")

      方法仅处理request Content-type为application/json类型的请求

    produces:指定返回的内容类型,返回的内容类型必须是request请求头(Accept)中所包含的类型

      @RequestMapping()value="/user",method={RequestMethod.POST,RequestMethod.GET},consumes="application/json",produces="application/json")

      方法仅处理request请求中Accept头中包含了application/json的请求,同时指明了返回类型为applicatioin/json

    params:指定request中必须包含某些参数值,才会处理

      @RequestMapping(value="/hello",params="myParam=myValue")

      方法仅处理其中名为myParam,值为myValue的请求

    headers:指定request中必须包含某些指定的header值,才会处理

      @RequestMapping(value="/hello",headers="Referer=http://....")

      方法仅处理request的header中包含了Referer请求头和对应值为http://...的请求

@RequestParam

  将指定的请求参数复制给方法中的形参

  @RequestMapping("/hello")

  public ModelAndView login(@RequestParam("loginname") String loginname, @RequestParam("password") String password){...}

  对应的请求:http://localhost:8080/context/login?loginname=amm&password=loveangel

  支持的属性:name 绑定的名称,value name属性的别名,required 是否必须绑定 defaultValue 没有传递参数时使用的默认值

  @RequestParam(value="loginname",required=true,defaultValue="admin")

@PathVariable

  获得请求的URL中的动态参数

  只支持一个属性value,类型为String,表示绑定的名称,省略则默认绑定同名参数

  @RequestMapping(value="/hello/{id}")

  public void hello(@PathVariable Integer id)

  对应的请求:http://localhost:8080/context/hello/1  把id变量赋值为1

@RequestHeader

  将请求头的数据映射到处理方法的参数上

  支持的属性:name,value,required,defaultValue

  @ReuqestMapping("/hello")

  public void hello(@RequestHeader("User-Agent") String userAgent){...}

  自动将请求头中User-Agent的值赋值到userAgent上

@CookieValue

  将请求的Cookie数据映射到参数上

@SessionAttributes

  只能声明在类上,不能声明在方法上,选择指定Model中那些属性转存到HttpSession对象中

  @SessionAttributes("user")

  public class aa{public void login(Model model){model.addAttribute("user","a")}}

  将model中的user属性转存到HttpSession对象中

@ModelAttribute

  将请求参数绑定到Model对象

  只支持一个属性name,没有时按默认返回值的类型命名

  修饰void返回值方法:先于@RequestMapping修饰的方法调用,可以把请求参数赋值给对应变量(初始化)

  修饰有返回值的方法:把返回值存入Model中

  修饰参数:把Model中的对应值传入对应参数

    

  

SpingMVC常用注解z

标签:default   传递   text   param   赋值   属性   lan   变量   referer   

原文地址:http://www.cnblogs.com/zawjdbb/p/7532895.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!