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. setup 命令中防火墙配置选项无法打开

    故障提示 1.1 如何让setup 命令中防火墙配置生效 1.1.1 CentOS系统找不到setup命令工具的解决方法 yum -y install setuptool #安装setup命令工具 y ...

  2. 【每天半小时学框架】——React.js的模板语法与组件概念

           [重点提前说:组件化与虚拟DOM是React.js的核心理念!]        先抛出一个论题:在React.js中,JSX语法提倡将 HTML 和 CSS 全都写入到JavaScrip ...

  3. VS2013装扩展RazorGenerator

    问题:vs2013工具扩展和更新搜索关键字:Razor Generator查找不到,如图 解决:下载网址:https://github.com/RazorGenerator/RazorGenerato ...

  4. 【APP问题定位(三)】adb安装

    先来剧透一下我们需要使用的工具 bin包               一个安装目录,可以免安装直接调用adb命令 Android SDK platform tools 下面依次为大家介绍,第1个和第2 ...

  5. 免费好用的阿里云云盾证书服务(https证书)申请步骤

    推荐一个免费的阿里云产品:云盾证书(https证书) 为了能让非专业人士看懂,同样尽量用直白的话,一般来说:当你个人需要建立网站,或者公司要建立官网.商城,通常需要先购买服务器或云主机,虚拟空间,然后 ...

  6. C#中抽象类与接口的区别

    1.面向接口编程和面向对象编程是什么关系 首先,面向接口编程和面向对象编程并不是平级的,它并不是比面向对象编程更先进的一种独立的编程思想,而是附属于面向对象思想体系,属于其一部分.或者说,它是面向对象 ...

  7. C#中的静态成员和非静态成员

    C#的类中可以包含两种方法:C#静态方法与非静态方法.那么他们的定义有什么不同呢?他们在使用上会有什么不同呢? 让我们来看看最直观的差别:使用了static 修饰符的方法为静态方法,反之则是非静态方法 ...

  8. 学习cordic算法所得(流水线结构、Verilog标准)

    最近学习cordic算法,并利用FPGA实现,在整个学习过程中,对cordic算法原理.FPGA中流水线设计.Verilog标准有了更加深刻的理解. 首先,cordic算法的基本思想是通过一系列固定的 ...

  9. phpcms v9 sql注入脚本

    phpcms v9 SQL注入脚本 用法:python phpcms.py http://www.baidu.com import requests,sys,urllib url = sys.argv ...

  10. 最大似然估计 (Maximum Likelihood Estimation), 交叉熵 (Cross Entropy) 与深度神经网络

    最近在看深度学习的"花书" (也就是Ian Goodfellow那本了),第五章机器学习基础部分的解释很精华,对比PRML少了很多复杂的推理,比较适合闲暇的时候翻开看看.今天准备写 ...