SpringMVC--获取请求参数

1、通过的ServletAPI获取

只需要在控制器的方法的形参位置设置HTTPRequest  request 类型的形参就i可以在控制器方法种使用request对象获取请求参数

@RequestMapping("/servletAPI")public String getByServletAPI(HttpServletRequest request){HttpSession session = request.getSession();String username = request.getParameter("username");String password = request.getParameter("password");System.out.println("username = " + username + "," + "password = " +  password);return "success";

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

前端页面

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

 * 只需要在控制器方法的形参位置,设置一个形参,形参的名字和请求参数的名字一致即可

3、通过@RequestParam获取请求参数

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

http://localhost:8080/springmvc_rest/param?password=123

@RequestMapping("/param")
public String getParam(@RequestParam(value = "username",required = true,        defaultValue = "hello")String username, String password){System.out.println("username:" + username + ",password:" + password);return "success";
}


@RequestParam注解的属性:
value:设置和形参绑定的请求参数的名字
required:设置是否必须传输value所对应的请求参数

  • 默认值为true,表示value所对应的请求参数必须传输否则页面报错 Required String parameter 'xxx' is not present
  • 若设置为false,则表示value所对应的请求参数不是必须传输,如果此时获取该参数的值,则为nul

defaultValue:设置当没有传输value所对应的请求参数时,为形参设置的默认值,此时和required属性值无关

4、通过@RequestHeaher获取请求参数

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


@RequestMapping("/param")public String getParam(String username, String password,@RequestHeader("referer") String referer){System.out.println("username = " + username + "," + "password = " +  password);System.out.println("referer = " + referer);return "success";}

5、通过@CookieValue获取请求参数

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

@RequestMapping("/param")public String getParam(String username, String password,@CookieValue("JSESSIONID") String jsessionId){System.out.println("username = " + username + "," + "password = " +  password);System.out.println("jsessionId = " + jsessionId);return "success";}

 返回结果

 6、通过pojo获取请求参数

先创建实体类

package com.pojo;
public class User {private  Integer id;private String username;private String password;public User() {    }public User(Integer id, String username, String password) {this.id = id;this.username = username;this.password = password;}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}@Overridepublic String toString() {return "User{" +"id=" + id + ", username='" + username + '\'' +", password='" + password + '\'' +'}';}
}

前端页面

<form th:action="@{/param/pojo}" method="post">用户名:<input type="text" name="username"><br>密码:<input type="password" name="password"><br><input type="submit" value="登录">
</form>

控制器

@RequestMapping("/param/pojo")
public String getParamByPojo(User user){System.out.println(user);return "success";
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/372663.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JAVA集合Collection常用方法详解

一、Collection介绍 提到集合就不得不提一下数组&#xff0c;好多集合底层都是依赖于数组的实现。数组一旦初始化后&#xff0c;长度就确定了&#xff0c;存储数据对象不能达到动态扩展&#xff0c;其次数组存储元素不便于对数组进行添加、修改、删除操作&#xff0c;而且数组…

ubuntu关于docker部署 项目一站式教程

**假设已有ubuntu服务器并且登录root账号 ** **FinalShell中复制快捷键是 ****Ctrl+Shift+V** 卸载老版本docker sudo apt-get remove docker docker-engine docker.io containerd runc安装docker步骤 更新软件包sudo apt update sudo apt upgrade安装docker依赖sudo apt-get …

Ubuntu配置GitHub(第一次clone/push)

文章目录 1. 安装Git&检查连接2. 注册GitHub3. 生成&GitHub添加SSH3.1. 检查&删除已有id_rsa3.2. 生成SSH3.3. GitHub添加id_rsa.pub SSH3.4. 检查SSH 4. 继续开发可以参考参考 1. 安装Git&检查连接 安装 sudo apt-get install git检查SSH连接 ssh -T gitgi…

交通气象站:保障道路安全的智慧之眼

随着社会的快速发展&#xff0c;交通运输日益繁忙&#xff0c;道路安全成为公众关注的焦点。在这个背景下&#xff0c;交通气象站作为保障道路安全的重要设施&#xff0c;正发挥着越来越重要的作用。它们不仅为交通管理部门提供及时、准确的气象信息&#xff0c;也为广大驾驶员…

Mysql-01-主从搭建

一、安装Mysql 下载 https://downloads.mysql.com/archives/community/ 安装 注意顺序 tar -xvf mysql-8.0.38-1.el9.x86_64.rpm-bundle.tar rpm -ivh mysql-community-common-8.0.38-1.el9.x86_64.rpm rpm -ivh mysql-community-client-plugins-8.0.38-1.el9.x86_64.r…

【Proteus】按键的实现『⒉种』

&#x1f6a9; WRITE IN FRONT &#x1f6a9; &#x1f50e; 介绍&#xff1a;"謓泽"正在路上朝着"攻城狮"方向"前进四" &#x1f50e;&#x1f3c5; 荣誉&#xff1a;2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评…

windows系统无法使用网络共享服务,设置防火墙入站规则解决

我们使用虚拟机的时候&#xff0c;已经配置好了网络&#xff0c;但是虚拟机和物理机就是无法通讯。可以使用关闭防火墙的方式解决这个问题&#xff0c;但是这个方法不是长久之计&#xff0c;非常不安全。那么&#xff0c;有什么其他的解决办法吗&#xff1f; 其中&#xff0c;p…

Redis基础教程(十八):Redis管道技术

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; &#x1f49d;&#x1f49…

Java基础-组件及事件处理(上)

(创作不易&#xff0c;感谢有你&#xff0c;你的支持&#xff0c;就是我前行的最大动力&#xff0c;如果看完对你有帮助&#xff0c;请留下您的足迹&#xff09; 目录 Swing 概述 MVC 架构 Swing 特点 控件 SWING UI 元素 JFrame SWING 容器 说明 常用方法 示例&a…

AE常用工具

目录 图形工具&#xff08;快捷键Q&#xff09; 选取工具&#xff08;快捷键V&#xff09; 抓手工具&#xff08;快捷键H或空格&#xff09; 放缩工具&#xff08;快捷键Z或滚动滑轮&#xff09; 图形工具&#xff08;快捷键Q&#xff09; 按住alt并点击&#xff0c;可切换…

Kafka系列之Kafka知识超强总结

一、Kafka简介 Kafka是什么 Kafka是一种高吞吐量的分布式发布订阅消息系统&#xff08;消息引擎系统&#xff09;&#xff0c;它可以处理消费者在网站中的所有动作流数据。 这种动作&#xff08;网页浏览&#xff0c; 搜索和其他用户的行动&#xff09;是在现代网络上的许多社…

设计模式之职责链模式(Chain of Responsibility Pattern)

1.概念 职责链模式&#xff08;Chain of Responsibility Pattern&#xff09;&#xff1a;避免将请求发送者与接收者耦合在一起&#xff0c;让多个对象都有机会接收请求&#xff0c;将这些对象连接成一条链&#xff0c;并且沿着这条链传递请求&#xff0c;直到有对象处理它为止…

「Pytorch」CopyPaste 数据增强

数据增广是提升模型泛化能力重要的手段之一&#xff0c;CopyPaste 是一种新颖的数据增强技巧&#xff0c;已经在目标检测和实例分割任务中验证了有效性。利用 CopyPaste&#xff0c;可以合成文本实例来平衡训练图像中的正负样本之间的比例。相比而言&#xff0c;传统图像旋转、…

HTML5文本标签、图像标签、超链接

一、文本样式标签 字体样式标签&#xff1a; 加粗&#xff1a;<strong>…</strong> 斜体&#xff1a; < em >…</ em> eg&#xff1a; <h3>徐志摩人物简介</h3> <p> <strong>1910</strong>年入杭州学堂<br/> &l…

java之循环练习题

思路分析&#xff1a; 代码&#xff1a; public static void main(String[] args) {int sum0;for (int i1;i<100;i){for (int j1;j<i;j) {sum j;}}System.out.println(sum);} 结果为&#xff1a;

uniapp上架到appstore遇到的问题

1、appstore在美国审核&#xff0c;需要把服务器接口的国外访问权限放开 2、登陆部分 a、审核时只能有密码登陆&#xff0c;可以通过接口响应参数将其他登陆方式暂时隐藏&#xff0c;审核成功后放开即可 b、需要有账号注销功能 3、使用照相机和相册功能时需要写清楚描述文案

制作问卷表单二维码的方法,扫码登记信息更快捷

为了更好地收集用户信息&#xff0c;现在很多场景下会使用生成二维码的方式&#xff0c;让用户可以扫码自行填写相关信息&#xff0c;从而提高获取信息的效率以及填写数据的便捷性。那么用于收集用户数据的表单二维码是如何生成的呢&#xff1f;其实方法很简单&#xff0c;现在…

leetcode 283.移动零

leetcode 283.移动零 自己刷题并且进行记录一下 题解 c class Solution { public:void moveZeroes(vector<int>& nums) {int count 0;for (int i 0; i < nums.size(); i) {if(nums[i] ! 0) {nums[count] nums[i];if (count !i) {nums[i] 0;}count;}}} };

使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-飞船动画(三)

文章目录 开发思路飞船尾焰左右移动动画唯一名称的添加 使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击&#xff08;一&#xff09; 使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-激光组件&#xff08;二&#xff09; 开发思路 整体开发还是基于组件的思维。相比…

录音的内容怎么做二维码?支持多种音频格式使用的制作技巧

怎么把录制的音频文件做成二维码呢&#xff1f;现在用二维码来存储内容是一种很常用的方式&#xff0c;让其他人扫描二维码来查看内容&#xff0c;从而提升内容传输的速度。比如现在很多人会将音频生成二维码&#xff0c;其他人可以通过扫码在手机上播放音频内容&#xff0c;那…