zoukankan      html  css  js  c++  java
  • SpingMVC常用注解

    @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中的对应值传入对应参数

        

      

  • 相关阅读:
    Java实现 LeetCode 30 串联所有单词的子串
    Java实现 LeetCode 29 两数相除
    Java实现 LeetCode 29 两数相除
    Java实现 LeetCode 29 两数相除
    Java实现 LeetCode 28 实现strStr()
    Java实现 LeetCode 28 实现strStr()
    Java实现 LeetCode 28 实现strStr()
    Java实现 LeetCode 27 移除元素
    Java实现 LeetCode 27 移除元素
    字符编码终极笔记:ASCII、Unicode、UTF-8、UTF-16、UCS、BOM、Endian
  • 原文地址:https://www.cnblogs.com/zawjdbb/p/7532895.html
Copyright © 2011-2022 走看看