返回顶部
首页 > 资讯 > 后端开发 > Python >SpringMVC获取请求参数实现方法介绍
  • 724
分享到

SpringMVC获取请求参数实现方法介绍

SpringMVC获取请求参数SpringMVC请求参数 2022-11-13 19:11:17 724人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录一、通过Servletapi获取二、通过控制器方法的形参获取请求参数三、@RequestParam四、@RequestHeader五、@CookieValue六、通过POJO获取

我们已经学习过@RequestMapping了,学的属性可能比较多,但是我们常用的也就value和method。所以说我们已经可以把我们的浏览器发送的请求和控制器方法来创建映射关系了。

一、通过ServletAPI获取

httpservletRequest作为控制器方法的形参,此时HttpServletRequest类型的参数表示封装了当前请求的请求报文的对象

    <fORM th:action="@{/param/servletAPI}" method="post">
        用户名:<input type="text" name="username"><br>
        密码:<input type="passWord" name="password"><br>
        <input type="submit" value="登录"><br>
    </form>
@Controller
public class TestParamController {
    @RequestMapping("/param/servletAPI")
    public String getParamByServletAPI(HttpServletRequest request) {
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        System.out.println("username:" + username + ",password:" + password);
        return "success";
    }
}

二、通过控制器方法的形参获取请求参数

在控制器方法的形参位置,设置和请求参数同名的形参,当浏览器发送请求,匹配到请求映射时,在 DispatcherServlet中就会将请求参数赋值给相应的形参

<form th:action="@{/param}" method="post">
        用户名:<input type="text" name="username"><br>
        密码:<input type="password" name="password"><br>
        <input type="submit" value="登录"><br>
    </form>
    @RequestMapping("/param")
    public String getParam(String username,String password) {
        System.out.println("username:" + username + ",password:" + password);
        return "success";
    }

注:

若请求所传输的请求参数中有多个同名的请求参数,此时可以在控制器方法的形参中设置字符串 数组或者字符串类型的形参接收此请求参数

若使用字符串数组类型的形参,此参数的数组中包含了每一个数据

若使用字符串类型的形参,此参数的值为每个数据中间使用逗号拼接的结果

三、@RequestParam

@RequestParam是将请求参数和控制器方法的形参创建映射关系

@RequestParam注解一共有三个属性:

value:指定为形参赋值的请求参数的参数名

required:设置是否必须传输此请求参数,默认值为true

若设置为true时,则当前请求必须传输value所指定的请求参数,若没有传输该请求参数,且没有设置 defaultValue属性,则页面报错400:Required String parameter 'xxx' is not present;若设置为 false,则当前请求不是必须传输value所指定的请求参数,若没有传输,则注解所标识的形参的值为null

defaultValue:不管required属性值为true或false,当value所指定的请求参数没有传输或传输的值为""时,则使用默认值为形参赋值

<form th:action="@{/param}" method="post">
        用户名:<input type="text" name="name"><br>
        密码:<input type="password" name="password"><br>
        <input type="submit" value="登录"><br>
    </form>
    @RequestMapping("/param")
    public String getParam(
            @RequestParam(value = "username",required = false,defaultValue = "hello") String username,
            String password
    ) {
        System.out.println("username:" + username + ",password:" + password);
        return "success";
    }
}

四、@RequestHeader

@RequestHeader是将请求头信息和控制器方法的形参创建映射关系

@RequestHeader注解一共有三个属性:value、required、defaultValue,用法同@RequestParam

五、@CookieValue

@CookieValue是将cookie数据和控制器方法的形参创建映射关系

@CookieValue注解一共有三个属性:value、required、defaultValue,用法同@RequestParam

六、通过POJO获取请求参数

可以在控制器方法的形参位置设置一个实体类类型的形参,此时若浏览器传输的请求参数的参数名和实 体类中的属性名一致,那么请求参数就会为此属性赋值

    <form th:action="@{/param/pojo}" method="post">
        用户名:<input type="text" name="username"><br>
        密码:<input type="password" name="password"><br>
        <input type="submit" value="登录"><br>
    </form>
    @RequestMapping("/param/pojo")
    public String getParamByPojo(User user) {
        System.out.println(user);
        return "success";
    }

七、解决获取请求参数的乱码问题

解决获取请求参数的乱码问题,可以使用springMVC提供的编码过滤器CharacterEncodingFilter,但是 必须在WEB.xml中进行注册

 <!--配置spring的编码过滤器-->
    <filter>
        <filter-name>CharacterEncodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>CharacterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

注: Springmvc中处理编码的过滤器一定要配置到其他过滤器之前,否则无效

到此这篇关于SpringMVC获取请求参数实现方法介绍的文章就介绍到这了,更多相关SpringMVC获取请求参数内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: SpringMVC获取请求参数实现方法介绍

本文链接: https://lsjlt.com/news/170980.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • SpringMVC获取请求参数实现方法介绍
    目录一、通过ServletAPI获取二、通过控制器方法的形参获取请求参数三、@RequestParam四、@RequestHeader五、@CookieValue六、通过POJO获取...
    99+
    2022-11-13
    SpringMVC获取请求参数 SpringMVC请求参数
  • SpringMVC实现获取请求参数方法详解
    目录1、通过ServletAPI获取2、通过控制器方法的形参获取请求参数3、@RequestParam4、@RequestHeader5、@CookieValue6、通过POJO获取...
    99+
    2024-04-02
  • java中springMVC获取请求参数的方法
    目录原生方式获取请求参数控制器方法形参获取请求参数@RequestParam注解@RequestHeader注解@CookieValue注解通过POJO获取请求参数原生方式获取请求参...
    99+
    2023-05-18
    springMVC 请求参数 springMVC 请求
  • SpringMVC中请求参数的获取方式
    目录SpringMVC请求参数获取方式一、通过 ServletAPI 获取二、通过控制器方法的形参获取处理多个同名的请求参数三、通过 @RequestParam 注解四、@Reque...
    99+
    2024-04-02
  • springMVC获取请求参数的方式有哪些
    这篇文章主要讲解了“springMVC获取请求参数的方式有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“springMVC获取请求参数的方式有哪些”吧!初步认识可以直接在请求地址中给于请...
    99+
    2023-06-29
  • SpringMVC获取请求参数笔记整理
    目录前言一、使用ServletAPI获取参数二、通过控制器方法的形参获取请求参数三、@RequestParam四、@RequestHeader五、@CookieValue六、通过实体...
    99+
    2024-04-02
  • springMVC获取请求参数的几种方式汇总
    目录一、前言二、初步认识三、servletAPI四、方法参数五、@RequestParam六、实体类七、总结一、前言 大家好,我是卷心菜,大二学生一枚。 大家在学习springMVC...
    99+
    2024-04-02
  • ReactHooks获取数据实现方法介绍
    目录前言useStateuseEffect获取数据前言 react16.8推出hooks更好的支持函数组件,使用函数组件更容易进行代码的复用,拓展性更强。 useState useS...
    99+
    2022-11-13
    React Hooks React Hooks获取数据
  • javascript获取请求参数的方法是什么
    这篇文章主要讲解了“javascript获取请求参数的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript获取请求参数的方法是什么”...
    99+
    2024-04-02
  • HttpServletRequest核心方法以及获取请求参数
    一. 展示HttpServletRequest中一些重要方法 当Tomcat 通过 Socket API 读取 HTTP 请求(字符串), 并且按照 HTTP 协议的格式把字符串解析成HttpServletRequest 对象. 创建一个S...
    99+
    2023-08-21
    tomcat servlet java
  • Java中SpringMVC怎么获取请求数据
    本文小编为大家详细介绍“Java中SpringMVC怎么获取请求数据”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java中SpringMVC怎么获取请求数据”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.获...
    99+
    2023-06-29
  • php怎么获取请求参数
    在PHP中,有多种方法可以获取请求参数。以下是几种常见的方法:1. 使用`$_GET`和`$_POST`全局变量来获取GET和POS...
    99+
    2023-10-09
    php
  • php 获取请求参数的函数
    在 PHP 中,可以使用 $_GET、$_POST 和 $_REQUEST 来获取请求参数。以下是介绍它们的一些细节: $_GET 用于获取通过 URL 传递的参数,一般用于获取请求方式为 GET ...
    99+
    2023-09-01
    php 开发语言
  • springmvc之获取参数的方法(必看)
    1、导包,四大核心包,一个切面包(AOP),logging,web,springmvc2、配置文件,核心代码如下:web.xml<servlet> <servlet-name>springDispatcherSer...
    99+
    2023-05-31
    springmvc 获取参数 sprin
  • 二、Gin 路由(Route)和获取请求参数的方法
    路由(Route)方法 支持方法 路由方法有 GET, POST, PUT, PATCH, DELETE 和 OPTIONS,当然匹配所有类型的请求方法是 Any package main import ( "githu...
    99+
    2024-04-02
  • django如何获取get请求参数
    在Django中,可以通过`request.GET`来获取GET请求的参数。`request.GET`是一个类字典的对象,你可以通过...
    99+
    2023-09-26
    django
  • django怎么获取get请求参数
    在Django中,可以通过`request.GET`属性来获取GET请求参数。`request.GET`是一个类似字典的对象,可以使...
    99+
    2023-10-10
    django
  • java如何获取get请求参数
    在Java中,可以使用HttpServletRequest对象来获取GET请求参数。HttpServletRequest类是Java...
    99+
    2023-10-21
    java
  • php如何获取post请求参数
    在PHP中,可以使用`$_POST`全局变量来获取POST请求中的参数。`$_POST`是一个关联数组,其中键是表单中的输入字段的名...
    99+
    2023-08-11
    php
  • php如何获取get请求参数
    在PHP中,可以通过超全局数组$_GET来获取GET请求参数。以下是一些示例:1. 获取单个GET请求参数:```php$id = ...
    99+
    2023-08-15
    php
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作