Spring MVC 的RequestMapping注解

RequestMapping注解

使用说明

  • 作用:用于建立请求URL和处理请求方法之间的对应关系。

  • 出现位置:

    • 类上:

      请求 URL的第一级访问目录。此处不写的话,就相当于应用的根目录。写的话需要以/开头。它出现的目的是为了使我们的 URL 可以按照模块化管理,例如:

      账户模块:

      /account/add

      /account/update

      /account/delete ...

      订单模块:

      /order/add

      /order/update

      /order/delete

      红色的部分就是把RequsetMappding写在类上,使我们的URL更加精细。

    • 方法上:

      请求URL的第二级访问目录,可以窄化请求路径

  • 属性:

    value:用于指定请求的URL。它和path属性的作用是一样的。

    method:用于指定请求的方式。

    注意:以上属性只要出现2个或以上时,他们的关系是与的关系。

窄化路径示例

  • 使用二级目录访问

    md-end-block 复制代码
    <span style="background-color:#f8f8f8"><span style="color:#555555">@Controller</span>
    <span style="color:#555555">@RequestMapping</span>(<span style="color:#aa1111">"/account"</span>)
    <span style="color:#770088">public</span> <span style="color:#770088">class</span> <span style="color:#0000ff">AccountController</span> {
    ​
        <span style="color:#555555">@RequestMapping</span>(<span style="color:#aa1111">"/findAccount"</span>)
        <span style="color:#770088">public</span> <span style="color:#000000">ModelAndView</span> <span style="color:#000000">findAccount</span>() {
            <span style="color:#000000">ModelAndView</span> <span style="color:#000000">mv</span> <span style="color:#981a1a">=</span> <span style="color:#770088">new</span> <span style="color:#000000">ModelAndView</span>();
            <span style="color:#000000">mv</span>.<span style="color:#000000">addObject</span>(<span style="color:#aa1111">"msg"</span>, <span style="color:#aa1111">"欢迎你 springmvc"</span>);
            <span style="color:#000000">mv</span>.<span style="color:#000000">setViewName</span>(<span style="color:#aa1111">"success"</span>);
            <span style="color:#770088">return</span> <span style="color:#000000">mv</span>;
        }
    }</span>
  • 在index.jsp里面定义超链接

    md-end-block 复制代码
    <span style="background-color:#f8f8f8"><span style="color:#117700"><</span><span style="color:#117700">a</span> <span style="color:#0000cc">href</span>=<span style="color:#aa1111">"/account/findAccount"</span><span style="color:#117700">></span>窄化路径<span style="color:#117700"></</span><span style="color:#117700">a</span><span style="color:#117700">></span></span>

method属性示例

  • 描述需要使用指定的请求方式来请求该方法

    md-end-block 复制代码
    <span style="background-color:#f8f8f8"><span style="color:#555555">@Controller</span>
    <span style="color:#555555">@RequestMapping</span>(<span style="color:#aa1111">"/account"</span>)
    <span style="color:#770088">public</span> <span style="color:#770088">class</span> <span style="color:#0000ff">AccountController</span> {
        <span style="color:#aa5500">//指定的请求方式</span>
        <span style="color:#555555">@RequestMapping</span>(<span style="color:#000000">value</span> <span style="color:#981a1a">=</span> <span style="color:#aa1111">"/findAccount1"</span>, <span style="color:#000000">method</span> <span style="color:#981a1a">=</span> <span style="color:#000000">RequestMethod</span>.<span style="color:#000000">POST</span>)
        <span style="color:#770088">public</span> <span style="color:#000000">ModelAndView</span> <span style="color:#000000">findAccount1</span>() {
            <span style="color:#000000">ModelAndView</span> <span style="color:#000000">mv</span> <span style="color:#981a1a">=</span> <span style="color:#770088">new</span> <span style="color:#000000">ModelAndView</span>();
            <span style="color:#000000">mv</span>.<span style="color:#000000">addObject</span>(<span style="color:#aa1111">"msg"</span>, <span style="color:#aa1111">"欢迎你 springmvc"</span>);
            <span style="color:#000000">mv</span>.<span style="color:#000000">setViewName</span>(<span style="color:#aa1111">"success"</span>);
            <span style="color:#770088">return</span> <span style="color:#000000">mv</span>;
        }
    }</span>
  • 测试:在index.jsp里使用get方式请求

    md-end-block 复制代码
    <span style="background-color:#f8f8f8"><span style="color:#117700"><</span><span style="color:#117700">a</span> <span style="color:#0000cc">href</span>=<span style="color:#aa1111">"/account/findAccount1"</span><span style="color:#117700">></span>请求方式<span style="color:#117700"></</span><span style="color:#117700">a</span><span style="color:#117700">></span></span>

    结果:

  • 我们再换一种请求方式

    md-end-block 复制代码
    <span style="background-color:#f8f8f8">  <span style="color:#117700"><</span><span style="color:#117700">form</span> <span style="color:#0000cc">action</span>=<span style="color:#aa1111">"account/findAccount1"</span> <span style="color:#0000cc">method</span>=<span style="color:#aa1111">"post"</span><span style="color:#117700">></span>
        <span style="color:#117700"><</span><span style="color:#117700">input</span> <span style="color:#0000cc">type</span>=<span style="color:#aa1111">"submit"</span> <span style="color:#0000cc">value</span>=<span style="color:#aa1111">"保存账户,post 请求"</span><span style="color:#117700">></span>
      <span style="color:#117700"></</span><span style="color:#117700">form</span><span style="color:#117700">></span></span>

    结果:

相关推荐
步行cgn11 小时前
Spring 启动报错:BeanFactory not initialized 的原因与解决
java·python·spring
步行cgn11 小时前
Spring 报错:No bean class specified on bean definition 的原因与解决
java·后端·spring
重生之我是Java开发战士12 小时前
【Spring Cloud】Nacos注册中心
后端·spring·spring cloud
Wang's Blog13 小时前
Java框架快速入门:Spring Security+OAuth2之用户注册与唯一性校验实现
java·数据库·spring
Wang's Blog13 小时前
Java框架快速入门: Spring Security+OAuth2之多因子认证与TOTP实战
java·spring·ui
vx_Biye_Design15 小时前
springboot游泳馆系统93765-计算机课程设计、毕业设计
java·javascript·spring boot·后端·python·spring·课程设计
名字还没想好☜15 小时前
Java NIO ByteBuffer 实战:flip/clear/compact 三个绕晕人的方法与 position/limit 心智模型
java·开发语言·后端·spring·nio
Wang's Blog15 小时前
Java框架快速入门: Spring Security+OAuth2之短信服务多供应商动态切换(阿里云与LeanCloud)
java·spring·阿里云
卓怡学长16 小时前
w233基于vue和springboot的宠物管理系统的设计与实现
java·vue.js·spring boot·spring·intellij-idea
Wang's Blog17 小时前
Java框架快速入门: Spring Security+OAuth2之邮件验证码发送(SMTP与API方式)
java·数据库·spring