zoukankan      html  css  js  c++  java
  • Controller和RequestMapping

    一、Controller返回值,String或者ModelAndView
          首先看一下spring的配置文件,如下:
    第一种,返回类型为String,Controller中的方法如下:
    根据spring配置文件和以上controller,访问“/welcome”时,对应的返回页面为“/WEB-INF/user/users.jsp”
    第二种,返回类型为ModelAndView,Controller中的方法如下:
    两种方法返回的页面相同,不同的是第二种方法将model和view整合成ModelAndView实例,方法中不需要再加入model参数。
     
    二、 @RequestMapping关联url
    @RequestMapping可以是类级别和方法级别。
    1.  类级别,类前有@RequestMapping
    2.   方法级别,类前没有@RequestMapping
     
    3.  @RequestMapping支持多个映射路径映射到同一个controller
    以上“/hello”和“/foo”映射到同一个函数处理。
     
    三、@RequestMapping的属性

    @RequestMapping有如下几个属性:value、method、params、headers

    这几个属性用法如下:

    (1)@RequestMaRequestMapping中的pping中的Value属性

         通过value属性,表达主要的映射,在Servlet环境中,映射路径(如,/myPath.do),也支持Any风格的(如,/myPath/*.do)。在方法级别中的相对路径需要类级别的主路径支持。

    @RequestMapping("/user")等同于@RequestMapping(value="/user")

    (2)@RequestMapping中的method属性

        通过HTTP请求的method来缩小主映射的范围。GET, POST, HEAD, OPTIONS, PUT, DELETE, TRACE。支持定义在类级别或方法级别。

    (3)@RequestMapping中的Params属性

        格式为“paramname=paramvalue” 或 “paramname!=paramvalue”。不带参数则表示paramvalue可以为任意值。

    例如,params =  {"param1=1","param2!=2","param3"},表示对应的url必须包括param1,param2,param3三个参数,其中param1的值必须为1,param2的值不能为2,param3的值可以为任意值。

    (4)@RequestMapping中的headers属性

        headers用来限定对应的reqeust请求的headers中必须包括的内容,例如

        headers={"Connection=keep-alive"}, 表示请求头中的connection的值必须为keep-alive。

  • 相关阅读:
    Git 获取远程分支
    entOS查看系统信息-CentOS查看命令
    CentOS6.5下用yum安装 git
    CENTOS如何禁用ROOT本地或远程SSH登录
    ProtoBuf练习(二)
    ProtoBuf练习(一)
    ProtoBuf练习
    Protocol Buffers官方文档(开发指南)
    Protocol Buffers官方文档(proto3语言指南)
    Boost Python学习笔记(五)
  • 原文地址:https://www.cnblogs.com/moonandstar08/p/5027747.html
Copyright © 2011-2022 走看看