SpringMVC之使用 @RequestMapping 映射请求

@RequestMapping注解

SpringMVC使用该注解让控制器知道可以处理哪些请求路径的,除了可以修饰方法,还可以修饰在类上。

– 类定义处:提供初步的请求映射信息。相对于 WEB 应用的根目录
– 方法处:提供进一步的细分映射信息。相对于类定义处的 URL。若
类定义处未标注 @RequestMapping,则方法处标记的 URL 相对于
WEB 应用的根目录 。

DispatcherServlet作为SpringMVC的前置控制器,拦截客户端请求后,通过该注解的映射信息确定请求的处理方法。

 @RequestMapping接口定义:
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Mapping
public @interface RequestMapping {

下面是一个测试类

package com.led.test;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * @author Alan
 * @date 2018/5/25 22:03
 */
@Controller
@RequestMapping("/test")
public class SpringMVCTest {
    private static final String SUCCESS = "success";

    @RequestMapping("/testRequestMapping")
    public String testRequestMapping(){
        System.out.println("testRequestMapping");
        return SUCCESS;
    }
}

index.jsp加上发送对应请求的链接:

<a href="test/testRequestMapping">Test RequestMapping</a>

运行项目,点击该链接,可以看到请求路径是类上的请求路径和方法的请求路径拼接起来的,同时控制台也有对应输出。

@RequestMapping里面还可以使用method属性定义请求方式:

 /**
     * 使用method定义请求方式
     * @return
     */
    @RequestMapping(value = "/testMethod",method = RequestMethod.POST)
    public String testMethod(){
        System.out.println("test method");
        return SUCCESS;
    }

index.jsp新增发送post方式的按钮,点击后成功跳转到success.jsp

<form action="test/testMethod" method="post">
      <input type="submit" value="submit">
  </form>

如果使用超链接方式(其实发送的是GET请求),将报如下错误:

@RequestMapping映射请求参数(params)、请求方法或请求头 (headers)示例;

@RequestMapping(value = "/testParamsAndHeaders",
            headers = {"Accept-Language=zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7"},
            params = {"username","age!=10"})
    public String testParamsAndHeaders(){
        System.out.println("testParamsAndHeaders");
        return SUCCESS;
    }

index.jsp加上测试链接:

<a href="test/testParamsAndHeaders?username=zhangsan&age=11">Test ParamsAndHeaders</a>

由于params和headers都符合设置的值,所以成功返回success.jsp.

原文地址:https://www.cnblogs.com/stm32stm32/p/9090899.html

时间: 2024-12-09 22:01:10

SpringMVC之使用 @RequestMapping 映射请求的相关文章

SpringMVC之使用requestMapping映射请求、映射参数、映射头

1. 映射请求 作用:使用requestMapping可以指定处理器可以处理那些请求 地方:类和方法前面都可以 @requestMapping 类定义处: 提供初步的请求映射信息,相对于web应用的根目录. 方法定义处: 提供进一步的细分映射信息,相对于类定义处的URL.若类定义处未标注 @requestMapping,则方法处的URL相对于web应用的根目录 2. 映射参数和映射头 @RequestMapping(value="testParamsAndHandler",params

Spring MVC - 02 RequestMapping映射请求

使用 @RequestMapping 映射请求 1.SpringMVC 使用@RequestMapping 注解为 控制器 指定可以处理哪些URL 请求 2. 在控制器的 类定义 及 方法定义处 都可以标注@RequestMapping 类定义处: 提供初步的请求映射信息. 相对于 WEB 应用的根目录 方法处: 提供进一步的细分映射信息.相对于类定义处的URL.若类定义处未标注 @RequestMapping,则方法 处标记的URL 相对于WEB 应用的根目录 3.DispatcherServ

@RequestMapping映射请求,@PathVariable,@RequestParam,@RequestHeader的使用

1.@RequestMapping Spring MVC 使用 @RequestMapping 注解为控制器指定可以处理哪些 URL 请求,在控制器的类定义及方法定义处都可标注. @RequestMapping 类定义处:提供初步的请求映射信息.相当于当前 WEB 应用的根目录 方法处:提供进一步的细分映射信息.相对于类定义处的 URL. 若类定义处未标注 @RequestMapping,则方法处标记的 URL 相当于当前 WEB 应用的根目录 若类定义处标注 @RequestMapping,则

用@RequestMapping映射请求

DispatcherServlet接受一个web请求之后,将请求发送给@Controller注解声明的不同控制器类. 这个调度过程依赖控制器类及其处理程序方法中声明的各种@RequestMapping注解. Spring MVC中,web请求通过控制器类中声明的一个或者多个@RequestMapping注解映射到处理程序. 处理程序映射根据与上下文路径(Web应用上下文路径)和servlet路径(映射到DispatcherServlet的路径)的相对路径匹配URL. 使用@RequestMapp

@RequestMapping映射请求

1.SpringMVC使用@RequestMapping注解为控制器指定可以处理哪些URL请求. 2.在控制器的类定义和方法定义处都可标注@RequestMapping 2.1 类定义处:提供初步的请求映射信息.相对于WEB应用的根目录 2.2 方法处:提供进一步的细分映射信息.相对于类定义处的URL. 3.DispatcherServlet截获请求后,就通过控制器上@RequestMapping提供的映射信息确定请求所对应的处理方法. 4. @RequestMapping请求URL(value

获取SpringMVC中所有RequestMapping映射URL信息

SpringMVC启动的时候,会把接口信息收集在RequestMappingHandlerMapping中,故可以通过这个类,拿到全部的映射信息,Sample代码段如下: @Autowired private ApplicationContext applicationContext; Set<String> noLoginUrlSet = new HashSet<>(); RequestMappingHandlerMapping mapping = applicationCont

使用注解映射请求参数

一,使用@RequestMapping映射请求 (1)使用请求URL映射请求: 1,SpringMVC使用@RequestMapping注解为控制器指定可以处理哪些URL请求    2,标注在类定义处:提供初步的请求映射信息.相对于WEB应用的根目录     标注在方法处:提供进一步的细分映射信息.相对于类定义处的URL,若类定义处未标注@RequestMapping,则方法处标记的URL相对于WEB应用的根目录. 3,DispatcherServlet截获请求后,就通过控制器上@Request

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

@RequestMapping 映射约束请求 2.1.映射请求URL Spring MVC 使用 @RequestMapping 注解为控制器指定可以处理哪些 URL 请求,在控制器的类定义及方法定义处都可标注. 类定义处:提供初步的请求映射信息.相对于 WEB 应用的根目录 方法处:提供进一步的细分映射信息.相对于类定义处的 URL.若类定义处未标注 @RequestMapping,则方法处标记的 URL 相对于WEB 应用的根目录 DispatcherServlet 截获请求后,就通过控制器

SpringMVC简单映射请求参数介绍

1. @RequestMapping @RequestMapping除了修饰方法, 还可来修饰类 1). 类定义处: 提供初步的请求映射信息.相对于 WEB 应用的根目录 2). 方法处: 提供进一步的细分映射信息. 相对于类定义处的 URL.若类定义处未标注 @RequestMapping,则方法处标记的 URL相对于 WEB 应用的根目录 @RequestMapping("/testRequestMapping") public String testRequestMapping(