• SpringMVC-RequestMapping注解


    说明

    源码:
    @Target({ElementType.METHOD, ElementType.TYPE})
    @Retention(RetentionPolicy.RUNTIME)
    @Documented
    @Mapping
    public @interface RequestMapping {
    }
    作用:
    用于建立请求 URL 和处理请求方法之间的对应关系
    出现位置:
    类上:
    请求 URL 的第一级访问目录。此处不写的话,就相当于应用的根目录。 写的话需要以/开头。
    它出现的目的是为了使我们的 URL 可以按照模块化管理:
    例如:
    账户模块:
    /account/add
    /account/update
    /account/delete
    ...
    订单模块:
    /order/add
    /order/update
    /order/delete
    红色的部分就是把 RequsetMappding 写在类上,使我们的 URL 更加精细。
    方法上:
    请求 URL 的第二级访问目录。
    属性:
    value:用于指定请求的 URL。 它和 path 属性的作用是一样的。
    method:用于指定请求的方式。
    params:用于指定限制请求参数的条件。 它支持简单的表达式。 要求请求参数的 key value 必须和
    配置的一模一样。
    例如:
    params = {"accountName"},表示请求参数必须有 accountName
    params = {"moeny!100"},表示请求参数中 money 不能是 100
    headers:用于指定限制请求消息头的条件。
    注意:
    以上四个属性只要出现 2 个或以上时,他们的关系是与的关系

    method示例

    控制器代码

    /**
    * 保存账户
    * @return
    */
    @RequestMapping(value="/saveAccount",method=RequestMethod.POST)
    public String saveAccount() {
    System.out.println("保存了账户");
    return "success";
    }

    jsp代码

    <!-- 请求方式的示例 -->
    <a href="account/saveAccount">保存账户, get 请求</a>
    <br/>
    <form action="account/saveAccount" method="post">
    <input type="submit" value="保存账户, post 请求">
    </form>

    当使用 get 请求时,提示错误信息是 405,信息是方法不支持 get 方式请求

    params示例

    控制器代码

    /**
    * 删除账户
    * @return
    */
    @RequestMapping(value="/removeAccount",params= {"accountName","money>100"})
    public String removeAccount() {
    System.out.println("删除了账户");
    return "success";
    }

    jsp代码

    <!-- 请求参数的示例 -->
    <a href="account/removeAccount?accountName=aaa&money>100">删除账户,金额 100</a>
    <br/>
    <a href="account/removeAccount?accountName=aaa&money>150">删除账户,金额 150</a>

    当我们点击第一个超链接时,可以访问成功。
    当我们点击第二个超链接时,无法访问。如下图:

    headers示例

    控制器代码

    爱生活,爱码字

    我是匆匆、我曾喂自己半年酒。

    好好生活吧,有缘或许相见。

  • 相关阅读:
    curl发送post请求,统计响应时间
    云集微店、拼多多等顽疾凸显,社交电商如何突围?
    App音频内录 录音
    nginx支持android、ios、微信扫一扫
    hadoop 2.7.1安装和配置
    Centos7上HBase的安装和配置
    HBase各版本对Hadoop版本的支持情况
    40个Java多线程问题总结
    JAVA多线程之volatile 与 synchronized 的比较
    深入解析spring中用到的九种设计模式
  • 原文地址:https://www.cnblogs.com/ccoonngg/p/11838783.html
Copyright © 2020-2023  润新知