使用注解映射请求参数

一,使用@RequestMapping映射请求

  (1)使用请求URL映射请求:

    1,SpringMVC使用@RequestMapping注解为控制器指定可以处理哪些URL请求

      2,标注在类定义处:提供初步的请求映射信息。相对于WEB应用的根目录

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

    3,DispatcherServlet截获请求后,就通过控制器上@RequestMapping提供的映射信息确定请求所对应的处理方法

  (2)还可以使用请求方法,请求参数及请求头映射请求

    @RequestMapping的value,method,params及heads分别表示请求URL,请求方法,请求参数及请求头的映射条件,他们之间是与的关系,联合使用可使请求映射更加精确。

  

如:

即为映射URL为/testParamsAndHeaders,且包含参数username及值不等于10的age参数的请求

@RequestMapping(value="/testParamsAndHeaders",params= {"username","age!=10"})

二,使用@PathVariable映射URL绑定的占位符

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

  

三,REST(即Representational State Transfer)资源表现层状态转换。

  状态转换就是HTTP协议里面,四个表示操作方式的动词:GET,POST,PUT,DELETE。分别对应四种操作:GET用来获取找资源,POST用来新建资源,PUT用来更新资源,DELETE用来删除资源。

  

  HiddenHttpFilter:浏览器form表单只支持GET与POST请求,而DELETE,PUT等method并不支持,Spring3.0添加了一个过滤器,可以将这些请求转换为标准的http方法,使得支持这四种请求。

①配置filter

 <!-- 配置 HiddenHttpMethodFilter-->
  <filter>
      <filter-name>HiddenHttpMethodFilter</filter-name>
      <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
  </filter>
  <filter-mapping>
      <filter-name>HiddenHttpMethodFilter</filter-name>
      <url-pattern>/*</url-pattern>
  </filter-mapping>

②客户端发起请求:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
    <form action="springmvc/testRest/1" method="post">
    <input type="hidden" name="_method" value="DELETE"/>
    <input type=submit value="TestRest DELETE"/>
    </form>
    <br><br>

    <form action="springmvc/testRest/1" method="post">
    <input type="hidden" name="_method" value="PUT"/>
    <input type=submit value="TestRest PUT"/>
    </form>
    <br><br> 

    <form action="springmvc/testRest" method="post">
    <input type=submit value="TestRest POST"/>
    </form>
    <br><br>

    <a href="springmvc/testRest/1">Test Rest Get</a>
    <br><br>
    <a href="springmvc/testParamsAndHeaders?username=boogie3&age=10">TestParamsAndHeaders</a>

    <br><br>
    <form action="springmvc/testMethod" method="post">
        <input type=submit value=submit>
    </form>
    <a href="springmvc/testMethod">test Method</a>

    <br><br>
    <a href="HelloWorld">Hello World</a>
    <br><br>
    <a href="springmvc/testRequestMapping">test RequestMapping</a>
</body>
</html>

3,编写后端控制器

在tomcat8上面是不支持delete和post请求的,因此以上只能在tomcat7上面执行

tomcat8运行时可以进入到相应的控制器,但是视图渲染返回的时候,由于不支持这两种方法,就会报出异常页面

改正方法一:在执行完跳转的JSP页面加上isErrorPage="true";

运行结果为:

原文地址:https://www.cnblogs.com/boogie-xy/p/12233977.html

时间: 2024-10-08 17:27:28

使用注解映射请求参数的相关文章

SpringMVC简单映射请求参数介绍

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

关于springMVC的请求参数如何处理(@RequestMapping 来映射请求参数)

用 @RequestMapping来解析http请求中的参数. 1   通过浏览器发送一个带参数的get请求来访问服务器中的服务, http://localhost:8080/springmvc/RequestParam/testRequestParam2?username=xiaoming&age=11 url描述了一个get请求 域名为springmvc  ,后端是一个控制器的映射RequestParam,testRequestParam2是发布的服务名的映射,问号后面对应的请求参数和参数值

springmvc中@requestbody注解接收请求参数

一.POST请求的四种常用方式 1.application/x-www-form-urlencoded 浏览器原生的表单,值为urlencoded之后的  key1=value1&key2=value2...... 2.multipart/form-data 浏览器原生的文件表单,用于传输文件 3.application/json 常用的请求头格式,值为json串  {"key1":"value1","key2":"value2

注解@RequestParam——取请求参数

一.创建index.jsp 创建一个用来发送请求的测试jsp <a href="springMVC/testRequestParam?username=lzj&age=20">Test RequestParam</a> 当发送该请求时,在控制方法中药获取请求中的参数username和age 二.控制器方法 1 @Controller 2 @RequestMapping("/springMVC") 3 public class Test

Spring4MVC 请求参数映射和Content-type

目录 前言 不使用注解 前言 对于spring的controller方法参数映射,常用的注解有@RequestParam, @PathVariable, @RequestBody.另外不使用注解,请求参数也能够自动映射到方法形参上.到底有什么区别呢, 什么情况下该使用什么注解呢,本文做一个简单总结,不涉及源码,只是使用总结.使用的spring4版本为最新的 4.3.24.RELEASE. 不使用注解 基本数据类型和日期类型 不用注解,springmvc可以自动的将请求参数映射到同名的方法形参上,

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

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

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

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

SpringMVC RequestMapping &amp; 请求参数

SpringMVC 概述 Spring 为展现层提供的基于 MVC 设计理念的优秀的Web 框架,是目前最主流的 MVC 框架之一 Spring3.0 后全面超越 Struts2,成为最优秀的 MVC 框架 Spring MVC 通过一套 MVC 注解,让 POJO 成为处理请求的控制器,而无须实现任何接口. 支持 REST 风格的 URL 请求 采用了松散耦合可插拔组件结构,比其他 MVC 框架更具扩展性和灵活性 HelloWorld 步骤: –加入 jar 包 –在 web.xml 中配置

SpringMVC之使用 @RequestMapping 映射请求

@RequestMapping注解 SpringMVC使用该注解让控制器知道可以处理哪些请求路径的,除了可以修饰方法,还可以修饰在类上. – 类定义处:提供初步的请求映射信息.相对于 WEB 应用的根目录– 方法处:提供进一步的细分映射信息.相对于类定义处的 URL.若类定义处未标注 @RequestMapping,则方法处标记的 URL 相对于WEB 应用的根目录 . DispatcherServlet作为SpringMVC的前置控制器,拦截客户端请求后,通过该注解的映射信息确定请求的处理方法