springMVC学习总结(二)路径映射和请求方法限定

一、路径映射

无参数的访问路径

  • 对springmvc项目的访问路径,是由根路径和子路径组成;在注解式开发中,根路径标注在类名之上,子路径标注在方法名之上,例:

     @Controller
    @RequestMapping(value = "/rootpath")
    public class Demo01Controller {
    @RequestMapping(value = "/childpath.action")
    public ModelAndView test(){
    System.out.println("访问成功!");
    ModelAndView mv = new ModelAndView();
    mv.addObject("message", "测试成功");
    mv.setViewName("hello");
    return mv;
    }
    }

在这个例子中:

根路径是类名上方的 RequestMapping(value = "/rootpath")

方法名上方的 RequestMapping(value = "/rootpath")

因此该方法的访问路径是:http://localhost:8080/rootpath/childpath.action

路径中有参数的访问路径

  • 如果我们想通过url传递一个或多个参数到后台,在不考虑安全问题的情况下可以使用url的方式携带参数访问,比如我们要获取一个id值,我们后台编码如下:

     @Controller
    @RequestMapping(value = "/rootpath",method = RequestMethod.GET)
    public class Demo01Controller { @RequestMapping(value = "/childpath/{id}")
    public ModelAndView test(@PathVariable String id){
    System.out.println("get提交的参数为:"+id);
    ModelAndView mv = new ModelAndView();
    mv.addObject("message", "测试成功");
    mv.setViewName("hello");
    return mv;
    }
    }

    此时的访问路径是: http://localhost:8080/rootpath/childpath.action/3.action

    这个url中传递的参数值是 id=1

    • 当有多个参数的时候,只要方法的参数名与路径中的参数命名一一对应便可一一对应的取到值,如:

        @Controller
      @RequestMapping(value = "/rootpath",method = RequestMethod.GET)
      public class Demo01Controller { @RequestMapping(value = "/childpath/{id}/{username}")
      public ModelAndView test(@PathVariable String id,@PathVariable String username){
      System.out.println("get提交的参数id为:"+id+"用户名为:"+username);
      ModelAndView mv = new ModelAndView();
      mv.addObject("message", "测试成功");
      mv.setViewName("hello");
      return mv;
      }
      }

    此时的访问路径是: http://localhost:8080/rootpath/childpath.action/3/sunwukong.action

    这个url中传递的参数值是 id=1,用户名为:sunwukong

二、方法限定

  • 方法的限定编码位置同样在注解@RequestMapping()中,如下图:

    方法名上方的: method = RequestMethod.GET 是对请求方法的限定,可选择的常用方法有以下几种:

springMVC学习总结(二)路径映射和请求方法限定的更多相关文章

  1. springmvc学习(二)——使用RequestMapper请求映射

    本次内容是@RequestMapping,后面会有实例代码 Spring MVC 使用 @RequestMapping 注解为控制器指定可以处理哪些 URL 请求在控制器的类定义及方法定义处都可标注@ ...

  2. (转)SpringMVC学习(十二)——SpringMVC中的拦截器

    http://blog.csdn.net/yerenyuan_pku/article/details/72567761 SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter, ...

  3. SpringMVC学习记录二——非注解和注解的处理器映射器和适配器

    3      非注解的处理器映射器和适配器 3.1      非注解的处理器映射器 处理器映射器: org.springframework.web.servlet.handler.BeanNameUr ...

  4. springMVC学习笔记(二)-----注解和非注解入门小程序

    最近一直在做一个电商的项目,周末加班,忙的都没有时间更新博客了.终于在上周五上线了,可以轻松几天了.闲话不扯淡了,继续谈谈springMvc的学习. 现在,用到SpringMvc的大部分使用全注解配置 ...

  5. SpringMVC学习笔记二:常用注解

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6831976.html  参考:http://www.cnblogs.com/leskang/p/5445698 ...

  6. SpringMVC学习(二)———— 参数绑定

    一.参数绑定 1.1.什么是参数绑定? 客户在浏览器端会提交一些参数到服务器端,比如用户的登录等,就会传username 和 password过来,springmvc则通过参数绑定组件将请求参数的内容 ...

  7. SpringMVC 学习笔记(二) @RequestMapping、@PathVariable等注解

    版权声明:本文为博主原创文章,博客地址:http://blog.csdn.net/a67474506?viewmode=contents 1.1. @RequestMapping映射请求 Spring ...

  8. 【SpringMVC】SpringMVC系列2之@RequestMapping 映射约束请求

    @RequestMapping 映射约束请求 2.1.映射请求URL Spring MVC 使用 @RequestMapping 注解为控制器指定可以处理哪些 URL 请求,在控制器的类定义及方法定义 ...

  9. Spring MVC 根据请求方法限定:请求方法(四)

    请求方法 说明 GET 使用GET方法检索一个表述(representation)——也就是对资源的描述.多次执行同一GET请求,不会对系统造成影响,GET方法具有幂等性[指多个相同请求返回相同的结果 ...

随机推荐

  1. 一款超好用轻量级JS框架——Zepto.js(上)

       前  言 絮叨絮叨 之前我们介绍过JQuery怎么自定义一个插件,但没有详细介绍过JQuery,那么今天呢....我们还是不说JQuery,哈哈哈哈 但是今天我们介绍一款和JQuery超级像的一 ...

  2. hbase的HQuorumPeer和QuorumPeerMain

    hbase是列式数据库,既可以单机也可以以集群的方式搭建,以集群的方式搭建一般建立在hdfs之上. 分布式的hbase如何启动? 首先启动hadoop,然后就来问题了:zookeeper和hbase的 ...

  3. Shuffle过程的简单介绍

    Shuffle是连接Map和Reduce的桥梁 Shuffle分为Map端的Shuffle和Reduce端的Shuffle Map端的shuffle 1输入数据和执行任务: 分片后分配Map任务,每个 ...

  4. html的块级元素和内联元素

    常用的块级元素: address , center , div , dl ,, form , h1 , h2 , h3 , h4 , h5 , h6 , menu , ol , p , table , ...

  5. python中pygame模块的Linux下安装过程

    一.使用pip安装Python包 大多数较新的Python版本都自带pip,因此首先可检查系统是否已经安装了pip.在Python3中,pip有时被称为pip3. 1.在Linux和OS X系统中检查 ...

  6. Flex布局(引用阮一峰大神)

    Flex 布局教程:语法篇 http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html Flex 布局教程:实例篇 http://www.ruan ...

  7. Python连接Oracle数据库

    今天使用Python连接数据库,连接没有问题,就是中文显示乱码,网上找了很多解决方案, 最后选择使用这个 #!/usr/bin/env python # -*- coding:utf-8 -*- #A ...

  8. C#的Main(String[] args)参数输入问题

    1.新建一个控制台应用程序,保存在桌面上,Main函数如下所示 using System;using System.Collections.Generic;using System.Linq;usin ...

  9. fragmentTabHost 使用示例

    目前我们看微信的底部,有四个导航栏,那我们应该来怎么实现类似的导航栏呢? 在 android 4.0 的时候,推出了一个新的工具,fragmentTabHost . fragmentTabHost  ...

  10. boot之mybatis

    特别注意,此种方法和starter不兼容,我用了两个方式混蛋,发现跑不起来! spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driv ...