`
jiahh
  • 浏览: 38617 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

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

阅读更多
小结下spring mvc中的@RequestMapping的用法。

1)最基本的,方法级别上应用,例如:
   
Java代码 
1. 
2.@RequestMapping(value="/departments")  
3.public String simplePattern(){  
4. 
5.  System.out.println("simplePattern method was called");  
6.  return "someResult";  
7. 
8.} 

@RequestMapping(value="/departments")
public String simplePattern(){

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

}


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

2) 参数绑定
  
Java代码 
1.@RequestMapping(value="/departments")  
2.public String findDepatment(  
3.  @RequestParam("departmentId") String departmentId){  
4.    
5.    System.out.println("Find department with ID: " + departmentId);  
6.    return "someResult";  
7. 
8.} 
@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代码 
1. 
2.@RequestMapping(value="/departments/{departmentId}")  
3.public String findDepatment(@PathVariable String departmentId){  
4. 
5.  System.out.println("Find department with ID: " + departmentId);  
6.  return "someResult";  
7. 
8.} 

@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代码 
1.@RequestMapping(value="/departments/{departmentId}")  
2.public String findDepatmentAlternative(  
3.  @PathVariable("departmentId") String someDepartmentId){  
4. 
5.    System.out.println("Find department with ID: " + someDepartmentId);  
6.    return "someResult";  
7. 
8.} 
@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代码 
1.@RequestMapping(value="/departments/{departmentId}/employees/{employeeId}")  
2.public String findEmployee(  
3.  @PathVariable String departmentId,  
4.  @PathVariable String employeeId){  
5. 
6.    System.out.println("Find employee with ID: " + employeeId +   
7.      " from department: " + departmentId);  
8.    return "someResult";  
9. 
10.} 
@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代码 
1.@RequestMapping(value="/{textualPart:[a-z-]+}.{numericPart:[\\d]+}")  
2.public String regularExpression(  
3.  @PathVariable String textualPart,  
4.  @PathVariable String numericPart){  
5. 
6.    System.out.println("Textual part: " + textualPart +   
7.      ", numeric part: " + numericPart);  
8.    return "someResult";  
9.} 
@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.
分享到:
评论

相关推荐

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

    Spring MVC 中的 RequestMapping 6个基本用法小结 Spring MVC 是一个基于 Java 的 Web 应用程序框架,提供了强大的 RequestMapping 机制来处理 HTTP 请求。在 Spring MVC 中,RequestMapping 是一个核心组件,负责...

    spring mvc注释文档

    本文介绍了Spring MVC在Spring 2.5版本中引入的基于注解的配置方式,包括使用`@Controller`、`@RequestMapping`等注解来定义Controller及其处理方法,以及如何配置DispatcherServlet等关键组件。通过使用这些注解,...

    Spring 2.5 基于注解驱动的Spring MVC

    一个Controller可以处理多个URL请求,这是通过在方法上使用`@RequestMapping`注解实现的。这个注解可以接受一个或多个字符串参数,代表对应的URL路径。例如: ```java @Controller public class MyController { @...

    spring boot 的常用注解使用小结

    Spring Boot 中的常用注解使用小结 作为一个java开发人员,特别是使用 Spring Boot 框架的开发人员,了解常用的注解是非常重要的。本文主要总结了 Spring Boot 中的常用注解,包括 @RestController、@...

    编写Spring MVC控制器的14个技巧(小结)

    实现控制器接口是Spring MVC中创建控制器的另一种方法。控制器类必须实现Controller接口,并重写handleRequest()方法,该方法将由Spring调度程序Servlet调用。这种方法的缺点是控制器类无法处理多个请求URL。 3. ...

    Spring3 MVC请求参数获取的几种方法小结

    Spring3 MVC请求参数获取的几种方法小结 在 Spring3 MVC 框架中,获取请求参数是非常重要的步骤,本文将介绍四种获取请求参数的方法,分别是通过@PathVariabl获取路径中的参数、@ModelAttribute获取POST请求的FORM...

    springMVC部分注解

    ### Spring MVC 注解详解 #### 一、`@ResponseBody` `@ResponseBody` 是一个非常重要的注解,在Spring MVC中主要用于将控制器返回的...希望本文能够帮助大家更好地理解和掌握Spring MVC中的各种注解及其使用方法。

    Spring中文帮助文档

    14.5.2. 小结 14.6. 文档视图(PDF/Excel) 14.6.1. 简介 14.6.2. 配置和安装 14.7. JasperReports 14.7.1. 依赖的资源 14.7.2. 配置 14.7.3. 构造ModelAndView 14.7.4. 使用子报表 14.7.5. 配置Exporter的...

    Spring.3.x企业应用开发实战(完整版).part2

    Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。  Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...

    Spring攻略(第二版 中文高清版).part1

    14.1 用Spring Portlet MVC开发一个简单的Portlet 544 14.1.1 问题 544 14.1.2 解决方案 545 14.1.3 工作原理 546 14.2 将Portlet请求映射到处理程序 553 14.2.1 问题 553 14.2.2 解决方案 553 14.2.3...

    Spring攻略(第二版 中文高清版).part2

    14.1 用Spring Portlet MVC开发一个简单的Portlet 544 14.1.1 问题 544 14.1.2 解决方案 545 14.1.3 工作原理 546 14.2 将Portlet请求映射到处理程序 553 14.2.1 问题 553 14.2.2 解决方案 553 14.2.3...

    Spring3.x企业应用开发实战(完整版) part1

    Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。  Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...

    Spring API

    14.5.2. 小结 14.6. 文档视图(PDF/Excel) 14.6.1. 简介 14.6.2. 配置和安装 14.7. JasperReports 14.7.1. 依赖的资源 14.7.2. 配置 14.7.3. 构造ModelAndView 14.7.4. 使用子报表 14.7.5. 配置Exporter的...

    SpringMVC返回图片的几种方式(小结)

    SpringMVC返回图片的几种方式小结 在SpringMVC中,返回图片的方式有多种,主要包括返回二进制图片、返回图片的HTTP地址、返回base64格式的图片、直接返回二进制的图片等。下面是对这些方式的详细介绍。 I. 返回二...

    springMvc注解之@ResponseBody和@RequestBody详解

    下面,我们将详细介绍这两个注解的作用和使用方法。 @ResponseBody注解 @ResponseBody注解用于将方法的返回值序列化为HTTP响应体。例如,在控制器中,我们可以使用@ResponseBody注解来将方法的返回值序列化为JSON...

    SpringMVC访问静态资源的三种方式小结

    在Spring MVC框架中,处理静态资源的访问是一个常见的需求,比如HTML、CSS、JavaScript、图片等。本篇文章将总结Spring MVC访问静态资源的三种主要方式,帮助开发者更好地理解和配置项目。 ### 方案一:利用Tomcat...

    SSM集成应用

    **12.5 SpringMVC小结** - **优势**:清晰的架构、易于理解和使用。 - **自由度和扩展性**:通过各种配置和自定义实现高度的灵活性。 #### 补充 **13.1 前台传method的方法名,后台通过反射调用方法** 通过动态...

    SpringBoot入门之集成JSP的示例代码

    #### 小结 通过上述内容,我们可以了解到如何将JSP集成到SpringBoot项目中,并通过一个简单的示例进行了操作演示。在实际开发中,虽然现在前后端分离架构越来越流行,但依然有许多企业级应用需要使用模板页面技术。...

    java代码实现excel导入

    小结 通过以上分析,我们可以看到 Java 实现 Excel 导入涉及到了前端表单设计、JavaScript 交互、后端控制器处理、数据验证、Excel 解析以及数据持久化等多个环节。这些步骤共同构成了一个完整的 Excel 导入功能...

Global site tag (gtag.js) - Google Analytics