文档章节

SpringMVC中 @RequestMapping的6种基本用法小结

迪拜驻开源中国大使
 迪拜驻开源中国大使
发布于 2015/04/22 23:43
字数 388
阅读 5
收藏 0
点赞 0
评论 0

  小结下spring mvc中的@RequestMapping的用法。 

 1)最基本的,方法级别上应用,例如:  

Java代码  

@RequestMapping(value="/departments")  

public String simplePattern(){  

  System.out.println("simplePattern method was called");  

  return "someResult";  

}  

则访问http://localhost/xxxx/departments的时候,会调用 simplePattern方法了 

2) 参数绑定 

Java代码  

@RequestMapping(value="/departments")  

public String findDepatment(  

  @RequestParam("departmentId") String departmentId){  

    System.out.println("Find department with ID: " + departmentId);  

    return "someResult";  

  形如这样的访问形式: 

   /departments?departmentId=23就可以触发访问findDepatment方法了 

3 ) REST风格的参数 

Java代码  

@RequestMapping(value="/departments/{departmentId}")  

public String findDepatment(@PathVariable String departmentId){  

  System.out.println("Find department with ID: " + departmentId);  

  return "someResult";  

}  

形如REST风格的地址访问,比如: 

/departments/23,其中用(@PathVariable接收rest风格的参数 

4) REST风格的参数绑定形式之2 ,先看例子,这个有点象之前的: 

Java代码  

@RequestMapping(value="/departments/{departmentId}")  

public String findDepatmentAlternative(  

  @PathVariable("departmentId") String someDepartmentId){  

    System.out.println("Find department with ID: " + someDepartmentId);  

    return "someResult";  

}  

 这个有点不同,就是接收形如/departments/23的URL访问,把23作为传入的departmetnId,,但是在实际的方法findDepatmentAlternative中,使用 

@PathVariable("departmentId") String someDepartmentId,将其绑定为 

someDepartmentId,所以这里someDepartmentId为23 

5) url中同时绑定多个id 

Java代码  

@RequestMapping(value="/departments/{departmentId}/employees/{employeeId}")  

public String findEmployee( @PathVariable String departmentId,  @PathVariable String employeeId){  

    System.out.println("Find employee with ID: " + employeeId +   " from department: " + departmentId);  

    return "someResult";  

}  

 这个其实也比较好理解了。 

6 )支持正则表达式 

Java代码  

@RequestMapping(value="/{textualPart:[a-z-]+}.{numericPart:[\\d]+}")  

public String regularExpression( @PathVariable String textualPart,  @PathVariable String numericPart){  

    System.out.println("Textual part: " + textualPart +   ", numeric part: " + numericPart);  

    return "someResult";  

}  

 比如如下的URL:/sometext.123,则输出: 

Textual part: sometext, numeric part: 123. 

© 著作权归作者所有

共有 人打赏支持
迪拜驻开源中国大使
粉丝 4
博文 29
码字总数 2966
作品 0
大连
程序员
Spring MVC 入门指南(二):@RequestMapping用法详解

一、@RequestMapping 简介 在Spring MVC 中使用 @RequestMapping 来映射请求,也就是通过它来指定控制器可以处理哪些URL请求,相当于Servlet中在web.xml中配置 的映射作用一致。让我们先看一...

kolbe ⋅ 2015/09/22 ⋅ 6

Spring mvc中@RequestMapping 6个基本用法小结

小结下spring mvc中的@RequestMapping的用法。 1)最基本的,方法级别上应用,例如: @RequestMapping(value="/departments") public String simplePattern(){ System.out.println("simpleP......

迷途树袋熊 ⋅ 2013/02/21 ⋅ 0

Spring mvc中@RequestMapping 6个基本用法小结

小结下spring mvc中的@RequestMapping的用法。 1)最基本的,方法级别上应用,例如: @RequestMapping(value="/departments") public String simplePattern(){ System.out.println("simpleP......

jackyrong ⋅ 2013/02/17 ⋅ 2

Spring mvc中@RequestMapping 6个基本用法小结

小结下spring mvc中的@RequestMapping的用法。 1)最基本的,方法级别上应用,例如: Java代码 @RequestMapping(value="/departments") public String simplePattern(){ System.out.println(......

again-Y ⋅ 2013/06/24 ⋅ 0

springmvc学习笔记(5)-入门程序小结

springmvc学习笔记(5)-入门程序小结 标签: springmvc [TOC] 通过入门程序理解springmvc前端控制器、处理器映射器、处理器适配器、视图解析器用法。并附上入门程序的非注解的完整的配置文件,...

brianway ⋅ 2016/03/10 ⋅ 0

学习SpringMVC——如何获取请求参数

  @RequestParam,你一定见过;@PathVariable,你肯定也知道;@QueryParam,你怎么会不晓得?!还有你熟悉的他(@CookieValue)!她(@ModelAndView)!它(@ModelAttribute)!没错,仅注解...

Java团长 ⋅ 01/13 ⋅ 0

Spring框架自学(四)注解注入

1、@Controller 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的Vie...

大二架构师 ⋅ 05/09 ⋅ 0

SpringMvc的使用

目录结构 一、SpringMvc相关知识 11、SpringMvc的大体认识 ? 12、什么是MVC ? 13、SpringMvc内部是怎么样工作的? 二、环境以及第三方技术的说明 三、我们进入正题,下边通过一个个实例来介...

丈量大地 ⋅ 2015/11/26 ⋅ 4

SpringMVC_使用

1.@RequestMapping 用法 SpringMVC中,@RequestMapping用来处理请求,比如XXX.do } 2:接收带参数的请求,接收用户请求参数值 请求1: /test/start.do?name=zhangsan 请求2: /test/start/zhan...

李长春 ⋅ 2011/09/15 ⋅ 0

Spring boot环境搭建(一)-基础环境

1.打开网址http://start.spring.io/,点击生成下载简单demo。 表单的头部,两个问题。使用Maven还是Gradle构建项目,以及Spring Boot版本 表单左侧的基本信息:主要用于生成Maven的pom.xml文...

lar555 ⋅ 04/06 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

BS与CS的联系与区别【简】

C/S是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、InFORMix或 SQL Server。客户端需要安装专用的客户端软件。 B/S是Brower/...

anlve ⋅ 36分钟前 ⋅ 0

发生了什么?Linus 又发怒了?

在一个 Linux 内核 4.18-rc1 的 Pull Request 中,开发者 Andy Shevchenko 表示其在对设备属性框架进行更新时,移除了 union 别名,这引发了 Linus 的暴怒。 这一次 Linus Torvalds 发怒的原...

问题终结者 ⋅ 56分钟前 ⋅ 0

在树莓派上搭建一个maven仓库

在树莓派上搭建一个maven仓库 20180618 lambo init 项目说明 家里有台树莓派性能太慢。想搭建一个maven私服, 使用nexus或者 jfrog-artifactory 运行的够呛。怎么办呢,手写一个吧.所在这个...

林小宝 ⋅ 今天 ⋅ 0

Spring发展历程总结

转自与 https://www.cnblogs.com/RunForLove/p/4641672.html 目前很多公司的架构,从Struts2迁移到了SpringMVC。你有想过为什么不使用Servlet+JSP来构建Java web项目,而是采用SpringMVC呢?...

onedotdot ⋅ 今天 ⋅ 0

Python模块/包/库安装(6种方法)

Python模块/包/库安装(6种方法) 冰颖机器人 2016-11-29 21:33:26 一、方法1: 单文件模块 直接把文件拷贝到 $python_dir/Lib 二、方法2: 多文件模块,带setup.py 下载模块包(压缩文件zip...

cswangyx ⋅ 今天 ⋅ 0

零基础学习大数据人工智能,学习路线篇!系统规划大数据之路?

大数据处理技术怎么学习呢?首先我们要学习Python语言和Linux操作系统,这两个是学习大数据的基础,学习的顺序不分前后。 Python:Python 的排名从去年开始就借助人工智能持续上升,现在它已经...

董黎明 ⋅ 今天 ⋅ 0

openJdk和sun jdk的区别

使用过LINUX的人都应该知道,在大多数LINUX发行版本里,内置或者通过软件源安装JDK的话,都是安装的OpenJDK, 那么到底什么是OpenJDK,它与SUN JDK有什么关系和区别呢? 历史上的原因是,Ope...

jason_kiss ⋅ 今天 ⋅ 0

梳理

Redux 是 JavaScript 状态容器,提供可预测化的状态管理。 它是JS的状态容器,是一种解决问题的方式,所以即可以用于 react 也可以用于 vue。 需要理解其思想及实现方式。 应用中所有的 stat...

分秒 ⋅ 今天 ⋅ 0

Java 后台判断是否为ajax请求

/** * 是否是Ajax请求 * @param request * @return */public static boolean isAjax(ServletRequest request){return "XMLHttpRequest".equalsIgnoreCase(((HttpServletReques......

JavaSon712 ⋅ 今天 ⋅ 0

Redis 单线程 为何却需要事务处理并发问题

Redis是单线程处理,也就是命令会顺序执行。那么为什么会存在并发问题呢? 个人理解是,虽然redis是单线程,但是可以同时有多个客户端访问,每个客户端会有 一个线程。客户端访问之间存在竞争...

码代码的小司机 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部