码迷,mamicode.com
首页 > 移动开发 > 详细

SpringMVC之使用 @RequestMapping 映射请求

时间:2018-05-25 23:33:31      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:tar   private   NPU   header   form   链接   标记   class   params   

@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.

SpringMVC之使用 @RequestMapping 映射请求

标签:tar   private   NPU   header   form   链接   标记   class   params   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!