`

RequestMapping的使用

 
阅读更多

RequestMapping的使用

1)@RequestMapping除了修饰方法,还可以修饰类

2)

@RequestMapping的value,method,params和heads分别表示请求URL,请求方法,请求参数以及请求头

的映射条件,他们之间是与的关系,联合使用多个条件可以让请求映射更加精确化

params和headers支持简单的表达式

--param1:表示请求必须包含名为param1的请求参数

--!param1:表示请求不能包含名为param1的请求参数

--param1!=value1:表示请求包含名为param1的请求参数,但值不能为value1

--{“param1=value1”,“param2”}:请求必须包含名为param1和param2的两个请求参数,且param1

参数的值必须为value1

 

3)

Ant风格资源地址支持3种匹配符

-?:匹配文件名中的一个字符

-*:匹配文件名中任意字符

-**:**匹配多层路径

 

@RequestMapping还支持Ant风格的URL

-/user/*/createUser:匹配/user/aaa/createUser

/user/bbb/createUser等URL

-/user/**/createUser:匹配/user/createUser

/user/aaa/bbb/createUser等URL

-/user/createUser??:匹配/user/createUseraa

/user/createUserbb等URL

 

4)

通过@PathVariable可以将URL中占位符参数绑定到控制器处理方法的入参中:

URL中的{xxx}占位符可以通过@PathVariable("xxx")绑定到操作方法的入参中

 

以下是代码示例,按号入座

 

package com.hous.springmvc.controller;

import org.junit.runner.Request;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@RequestMapping("/shanshanbox")
@Controller
public class ShanShanBox {

	private static final String SUCCESS = "success";
	
	/**
	 * 1. @RequestMapping除了修饰方法,还可以修饰类
	 * 2. 
	 * 	1)类定义处:提供初步请求映射信息,相对于WEB应用的根目录
	 * 	2)方法处:提供细分映射信息,相对于类定义处的URL。
	 * 	      若类处未标明@RequestMapping,则方法处的URL相对于WEB应用的根目录
	 * @return
	 */
	@RequestMapping("/testRequestMapping")
	public String testRequestMapping() {
		System.out.println("testRequestMapping");
		return SUCCESS;
	}
	
	/**
	 * 使用method指定请求的方式
	 * @return
	 */
	@RequestMapping(value="/testMethod", method=RequestMethod.POST)
	public String testMethod() {
		System.out.println("testMethod");
		return SUCCESS;
	}
	
	/**
	 * 使用params和headers可以更加精确的映射请求
	 * params和headers支持简单的表达式
	 * @return
	 */
	@RequestMapping(value="/testParamsAndHeaders",
			params={"user","age!=24"}, headers={})
	public String testParamsAndHeaders() {
		System.out.println("testParamsAndHeaders");
		return SUCCESS;
	}
	
	
	/**
	 * 支持通配符
	 * ?表示一个字符
	 * *表示任意字符
	 * **匹配多层路径
	 * @return
	 */
	@RequestMapping("/testAntPath/*/abc")
	public String testAntPath() {
		System.out.println("testAntPath");
		return SUCCESS;
	}
	
	/**
	 * @PathVariable可以映射URL中的占位符到目标方法的参数中
	 * @param id
	 * @return
	 */
	@RequestMapping("/testPathVariable/{id}")
	public String testPathVariable(@PathVariable("id") Integer id) {
		System.out.println("testPathVariable: " + id);
		return SUCCESS;
	}
	
}

 

分享到:
评论

相关推荐

    springmvc关于@requestMapping和@requestParam的使用

    1. **类级别的@RequestMapping**:当在类上使用时,该注解会应用于类中所有方法,为整个控制器设定一个基础的请求路径。例如,`@RequestMapping("/api")` 将使类中的所有方法都处理以"/api"开头的URL请求。 2. **...

    基于框架的Web开发-RequestMapping通配符和占位符.doc

    类上指定的URL相对于应用根目录 @RequestMapping注解可以使用在控制器类和控制器类的方法上,一般情况下,类定义处的@ RequestMapping提供初步的请求映射信息,方法定义处的@ RequestMapping 类上指定的URL相对于...

    springmvc之@RequestMapping的demo

    本教程将通过一个简单的`springmvc_helloworld`项目来深入探讨`@RequestMapping`的使用。 首先,Spring MVC是一个基于Spring框架的轻量级MVC(Model-View-Controller)设计模式实现。它简化了Java Web应用的开发,...

    利用反射获取requestMapping注解的value

    利用反射获取requestMapping注解的value,springMvc实现路径映射功能的逻辑

    Spring MVC--2.@RequestMapping 映射请求

    本篇文章将深入探讨`@RequestMapping`的使用、功能以及相关知识点。 ### 1. `@RequestMapping`介绍 `@RequestMapping`是Spring MVC提供的一个类型级别的注解,可以应用在类或方法上,用于定义HTTP请求的映射规则。...

    简化版@requestmapping注解注册源码

    4. **模型数据**:`@ModelAttribute`注解可以用来将请求参数绑定到对象属性,或者将对象添加到模型中供视图使用。 现在我们来看看如何实现一个简化的`@RequestMapping`注解。首先,你需要创建一个新的注解,比如`@...

    SpringMVC-2 使用@RequestMapping映射请求

    `@RequestMapping`还支持使用通配符和占位符来映射更复杂的路径模式。例如,使用`*`通配符: ```java @RequestMapping("/users/*") public String handleUserRequest(String userId) { // 处理用户请求的逻辑 } ``...

    Springmvc中 RequestMapping 属性用法归纳.docx

    @RequestMapping RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。 RequestMapping注解有六个属性(分成三类进行说明)与六个...

    SpringMVC@RequestMapping(重点)@RequestParam@PathVariable示例

    在实际应用中,`@RequestMapping`、`@RequestParam`和`@PathVariable`经常一起使用,以实现更灵活的请求处理。例如,你可以在一个方法中同时使用`@PathVariable`和`@RequestParam`来处理包含动态路径和请求参数的...

    获取RequestMapping所有的方法和路径|SpringMvc的Controller

    通过编译文件的class路径,反射得到Class,获取RequestMapping对应注解和value路径

    springMVC中 RequestMapping的使用.docx

    该注解的最大作用:完成"请求路径"到"处理该请求方法"之间的映射关系,放在类上方,主要是给类中的方法,定义一个namespace(命名空间)、放在方法上表示请求到达方法的具体位置。 比如:(那么访问路径就是“/sys/...

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

    在上面的例子中,我们使用 @RequestMapping 注解将 simplePattern 方法映射到 /departments 地址上。当用户访问 http://localhost/xxxx/departments 时,该方法将被调用。 2. 参数绑定 在 Spring MVC 中,我们可以...

    Spring MVC之@RequestMapping详解

    前段时间项目中用到了REST风格来开发程序,但是当用POST、PUT模式提交数据时,发现服务器端接受不到提交的数据(服务器端参数绑定没有加任何注解),查看了提交方式为application/json, 而且服务器端通过request....

    详解获取Spring MVC中所有RequestMapping以及对应方法和参数

    "详解获取Spring MVC中所有...通过使用 RequestMappingHandlerMapping 和 JAVAssist,我们可以获取Spring MVC中所有的RequestMapping及其对应的方法和参数。这对于实现权限控制和日志记录等功能非常有用。

    02@RequestMapping映射.md

    02@RequestMapping映射.md

    Spring MVC 学习笔记 五 controller与requestmapping

    工程文件 博文链接:https://starscream.iteye.com/blog/1063966

    java8集合源码-tips:尖端

    RequestMapping 使用使用示例 编程闯关、完成挑战 设计模式 图片 图形化代码生成器 秒杀分析 排错工具 垃圾回收 log 权限框架比较 cron-utils time String 生产.java源代码 ,可以用来构建一些基础的代码,必须一些...

    java8集合源码-tips:小贴士

    RequestMapping 使用使用示例 编程闯关、完成挑战 设计模式 图片 图形化代码生成器 秒杀分析 排错工具 垃圾回收 log 权限框架比较 cron-utils time String 生产.java源代码 ,可以用来构建一些基础的代码,比如一些...

    框架Spring的Controller注解和RequestMapping注解 在MVC应用注意事项

    SpringMVC不能只使用@Controller而不使用@RequestMapping

    Spring MVC之@RequestMapping注解详解

    此外,@RequestMapping还可以与其他注解如@RequestParam、@RequestBody、@PathVariable、@RequestHeader等结合使用,以实现更精细的请求处理。例如,@RequestParam用于从请求参数中获取值,@RequestBody用于从请求体...

Global site tag (gtag.js) - Google Analytics