Spring前后端传递参数的几种方法(转)

2023-11-06

Spring前后端传递参数的几种方法(转)

原文链接:

https://www.cnblogs.com/zc-blog-com/p/13360027.html.

一、准备工作

1.建立HelloController类

@RestController
public class HelloController {
//  @ResponseBody//将方法的返回值以json字符串的形式进行返回
    @RequestMapping("/hello.do")
    public String action() {
        System.out.println(123);
        return "null";
    }
}

2. 在webapp下建一个hello.html文件

在这里插入图片描述

hello.html文件中写一个表单

<body>
<form action="/hello.do" method="get">
    姓名:<input type="text" name="username">
    密码:<input type="password" name="password">
    <input type="submit" value="提交">
</form>
</body>

二、传值方法:

1.使用servlet,通过request请求

导入servlet依赖

<dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.5</version>
</dependency>

修改HelloController类里面的内容

@RestController
public class HelloController {

//    @ResponseBody//将方法的返回值以json字符串的形式进行返回

    @RequestMapping("hello.do")
    public String action(HttpServletRequest request) {
        String username = request.getParameter("username");
        String password = request.getParameter("password");

        System.out.println(username+ " "+password);
        return null;
    }
}

username和password要和HTML里面的名字一样

运行项目,输入信息,可以在控制台看到输入的信息

在这里插入图片描述


2.通过反射,匹配参数名来注入值

(用的比较多一种方法,适用于参数较少)

修改HelloController类里面的内容

@RequestMapping("hello1.do")
    //通过反射,匹配参数名来注入值
    //java反射机制本身会注入失败,使用@RequestParam来解决。当有多个参数时,发现某个参数接收不到,可以试试这个注解
    public String action1(@RequestParam ("username")String username, String password) {
        System.out.println(username+ " "+password);
        return null;
    }
}

修改HTML内容

<form action="/hello1.do" method="get">
    姓名:<input type="text" name="username">
    密码:<input type="password" name="password">
    <input type="submit" value="提交1">
</form>

运行项目,输入信息,可以在控制台看到输入的信息


3.通过传递对象

(适用于参数比较多)

创建一个实体类User

在这里插入图片描述

引入lombok依赖

<dependency>
	<groupId>org.projectlombok</groupId>
	<artifactId>lombok</artifactId>
	<version>1.18.12</version>
</dependency>

这时User就会自动生成set,get方法

修改HelloController类里面的内容

//针对参数比较多时
@RequestMapping("hello2.do")
//通过反射,匹配参数名来注入值
public String action2(User user) {
    System.out.println(user);
    return null;
}

修改HTML内容

<form action="/hello2.do" method="get">
    姓名:<input type="text" name="username">
    密码:<input type="password" name="password">
    <input type="submit" value="提交2">
</form>

运行项目,输入信息,可以在控制台看到输入的信息


4.AJAX

https://blog.csdn.net/weixin_30765319/article/details/95006250
以上均为转载,自己学习记录,侵权立删

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring前后端传递参数的几种方法(转) 的相关文章

  • 如何使用 FileChannel 将一个文件的内容附加到另一个文件的末尾?

    File a txt好像 ABC File d txt好像 DEF 我正在尝试将 DEF 附加到 ABC 所以a txt好像 ABC DEF 我尝试过的方法总是完全覆盖第一个条目 所以我总是最终得到 DEF 这是我尝试过的两种方法 File
  • AES 加密 Java/plsql

    我需要在Java和plsql DBMS CRYPTO for Oracle 10g 上实现相同的加密 解密应用程序 两种实现都工作正常 但这里的问题是我对相同纯文本的加密得到了不同的输出 下面是用于加密 解密过程的代码 Java 和 PLS
  • 线程自动利用多个CPU核心?

    假设我的应用程序运行 2 个线程 例如渲染线程和游戏更新线程 如果它在具有多核 CPU 当今典型 的移动设备上运行 我是否可以期望线程在可能的情况下自动分配给不同的核心 我知道底层操作系统内核 Android linux内核 决定调度 我的
  • 如何查找 Android 设备中的所有文件并将它们放入列表中?

    我正在寻求帮助来列出 Android 外部存储设备中的所有文件 我想查找所有文件夹 包括主文件夹的子文件夹 有办法吗 我已经做了一个基本的工作 但我仍然没有得到想要的结果 这不起作用 这是我的代码 File files array file
  • Java8无符号算术

    据广泛报道 Java 8 具有对无符号整数的库支持 然而 似乎没有文章解释如何使用它以及有多少可能 有些函数 例如 Integer CompareUnsigned 很容易找到 并且似乎可以实现人们所期望的功能 但是 我什至无法编写一个简单的
  • java.io.IOException: %1 不是有效的 Win32 应用程序

    我正在尝试对 XML 文档进行数字签名 为此我有两个选择 有一个由爱沙尼亚认证中心为程序员创建的库 还有一个由银行制作的运行 Java 代码的脚本 如果使用官方 认证中心 库 那么一切都会像魅力一样进行一些调整 但是当涉及到银行脚本时 它会
  • 一种使用 Java Robot API 和 Selenium WebDriver by Java 进行文件上传的解决方案

    我看到很多人在使用 Selenium WebDriver 的测试环境中上传文件时遇到问题 我使用 selenium WebDriver 和 java 也遇到了同样的问题 我终于找到了解决方案 所以我将其发布在这里希望对其他人有所帮助 当我需
  • hibernate总是自己删除表中的所有数据

    您好 我正在开发一个 spring mvc 应用程序 它使用 hibernate 连接到存储文件的 mysql 数据库 我有两个方法 一个方法添加我选择的特定文件路径中的所有文件 另一种方法调用查询以返回从 mysql 存储的文件列表 问题
  • 如何在jsp代码中导入java库?

    我有以下jsp代码 我想添加 java io 等库 我怎样才能做到这一点
  • Microsoft Graph 身份验证 - 委派权限

    我可以使用 Microsoft Graph 访问资源无需用户即可访问 https developer microsoft com en us graph docs concepts auth v2 service 但是 此方法不允许我访问需
  • Prim 的迷宫生成算法:获取相邻单元格

    我基于 Prim 算法编写了一个迷宫生成器程序 该算法是 Prim 算法的随机版本 从充满墙壁的网格开始 选择一个单元格 将其标记为迷宫的一部分 将单元格的墙壁添加到墙壁列表中 While there are walls in the li
  • Spring Data 与 Spring Data JPA 与 JdbcTemplate

    我有信心Spring Data and Spring Data JPA指的是相同的 但后来我在 youtube 上观看了一个关于他正在使用JdbcTemplate在那篇教程中 所以我在那里感到困惑 我想澄清一下两者之间有什么区别Spring
  • 使用 Flyway 和 Hibernate 的 hbm2ddl 在应用程序的生命周期中管理数据库模式

    我正在开发 Spring Hibernate MySql 应用程序 该应用程序尚未投入生产 我目前使用 Hibernatehbm2ddl该功能对于管理域上的更改非常方便 我也打算用Flyway用于数据库迁移 在未来的某个时候 该应用程序将首
  • 使用 SAX 进行 XML 解析 |如何处理特殊字符?

    我们有一个 JAVA 应用程序 可以从 SAP 系统中提取数据 解析数据并呈现给用户 使用 SAP JCo 连接器提取数据 最近我们抛出了一个异常 org xml sax SAXParseException 字符引用 是无效的 XML 字符
  • 将 JSON 参数从 java 发布到 sinatra 服务

    我有一个 Android 应用程序发布到我的 sinatra 服务 早些时候 我无法读取 sinatra 服务上的参数 但是 在我将内容类型设置为 x www form urlencoded 之后 我能够看到参数 但不完全是我想要的 我在
  • Keycloak - 自定义 SPI 未出现在列表中

    我为我的 keycloak 服务器制作了一个自定义 SPI 现在我必须在管理控制台上配置它 我将 SPI 添加为模块 并手动安装 因此我将其放在 module package name main 中 并包含 module xml 我还将其放
  • Android JNI C 简单追加函数

    我想制作一个简单的函数 返回两个字符串的值 基本上 java public native String getAppendedString String name c jstring Java com example hellojni He
  • Netbeans 8 不会重新加载静态 Thymeleaf 文件

    我通过 Maven 使用 Spring Boot 和 Thymeleaf 当我进行更改时 我似乎无法让 Netbeans 自动重新部署我的任何 Thymeleaf 模板文件 为了看到更改 我需要进行完整的清理 构建 运行 这需要太长的时间
  • 如何测试 spring-security-oauth2 资源服务器安全性?

    随着 Spring Security 4 的发布改进了对测试的支持 http docs spring io spring security site docs 4 0 x reference htmlsingle test我想更新我当前的
  • 将 JTextArea 内容写入文件

    我在 Java Swing 中有一个 JTextArea 和一个 提交 按钮 需要将textarea的内容写入一个带有换行符的文件中 我得到的输出是这样的 它被写为文件中的一个字符串 try BufferedWriter fileOut n

随机推荐

  • 数据结构之概念与线性表

    算法 算法特征 1 有穷性 2 确定性 3 可行性 4 输入和输出 算法好坏评价 正确性 可读性 确定性 健壮性 效率和低存储 算法效率的度量 时间复杂度 空间复杂度 线性表 顺序存储 线性表 链式存储 指针实现 单链表 双链表 循环链表
  • 函数调用规范

    当高级语言函数被编译成机器码时 有一个问题就必须解决 因为CPU没有办法知道一个函数调用需要多少个 什么样的参数 即计算机不知道怎么给这个函数传递参数 传递参数的工作必须由函数调用者和函数本身来协调 为此 计算机提供了一种被称为栈的数据结构
  • QT5之信号槽概念以及实现机制

    概念 当一件事情发生之时便会发送一个信号 而槽就是一个函数 被用来响应这个信号当信号发生之时 关联方式 一个信号关联一个槽 connect Object1 SIGNAL signal Object2 SLOT slot signal1为对象
  • 如何在Linux中安装jdk?

    如何在Linux中安装jdk 学习目标 如何在Linux中安装jdk 1 先创建一个新的虚拟机 一共13步创建好虚拟机 2 配置虚拟机 3 在虚拟机中安装JDK 1 先创建一个新的虚拟机 一共13步创建好虚拟机 我使用的是VMware Wo
  • NIO群聊

    服务端 package nio import java io IOException import java net InetSocketAddress import java nio ByteBuffer import java nio
  • Python实验二 顺序结构程序设计

    1 阅读下面程序 i j 3 4 i j 2j i s i j print s s i j 3 4 i j 2j i s i j print s s i j 3 4 i j 2 j i s i j print s s 2 写出下列程序执行结
  • 腾讯云批量上传文件(前端)

    腾讯云批量上传文件 前端 前言 1 腾讯云上传文件 遍历调用上传方法 2 根据文件文件后缀名判断上传成功后 文件的回显形式 3 在腾讯云建立存储桶 需要后端配合写上传接口 线上测试 1 效果样式 如下 1 引入cos js sdk v5 j
  • 解决Mybatis-plus高版本不向后兼容的问题

    mybatis plus插件后面的版本没有兼容低版本 即 不存在低版本中EntityWrapper这个类了 而该类采用数据库表真实字段名作查询条件 这样硬编码形式确实不友好 比如如果后面数据库表中字段更名那么所有涉及到的业务都需要去修改 且
  • 2021年五一建模B赛题+思路

    背景 随着我国经济的高速发展 城市空间环境复杂性急剧上升 各种事故灾害频发 安全风险不断增大 消防救援队承担的任务也呈现多样化 复杂化的趋势 对于每一起出警事件 消防救援队都会对其进行详细的记录 某地有15个区域 分别用A B C 表示 各
  • ElasticSearch常用配置(内置账号密码修改、自定义角色自定义账号,日志定期删除等)...

    自定义内置账号 账户elastic为elasticsearch超级管理员 拥有所有权限 账户kibana用于kibana组件获取相关信息用于web展示 账户logstash system用于logstash服务获取elasticsearch
  • EasyAR脱卡方法

    首先说下大致思路 当卡片离开摄像头时间 ImageTarget Image的SetActive false 所以其子物体 model 也就不显示了 因此解决的办法就是在Target false 时间将模型放到一个合适的位置 这样就能实现脱卡
  • Fabric配置fabric-sample工程目录,并生成证书

    GitHub上的fabric sample工程 默认只有源码 缺少CA工具和加密工具 它需要从其他地方下载CA工具和加密工具 这里以fabric v1 4 0为例进行说明 步骤如下 1 下载fabric sample v1 4 0源码 官网
  • ABA问题

    这篇文章 http oceanbase org cn p 82 的第6小节讲述了Hazard Version的实现原理 它的设计思想最早由OB团队的席华锋提出 本文不再赘述 本文主要分享Hazard Version的实现要点 以及使用它实现
  • 【Hashmap】底层原理详解(JAVA 18)

    让我们在IDEA中打开HashMap源码 开始往下看 HashMap 继承自AbstractMap 实现了Map接口 HashMap类中定义了很多的默认值 比如默认初始容量 最大容量 加载因子等 HashMap底层基于数组 链表 红黑树 H
  • 【C++拷贝构造函数、深拷贝和浅拷贝】

    C 拷贝构造函数 深拷贝和浅拷贝的介绍与应用 1 引言 在C 中 拷贝构造函数和拷贝操作是用于创建对象的副本的重要概念 拷贝构造函数用于在创建新对象时初始化其值 而拷贝操作用于将一个对象的值复制到另一个对象 深拷贝和浅拷贝是两种不同的拷贝方
  • 针对Anaconda-navigator和spyder打不开的问题

    胡乱安装pyqt和qtpy等会导致qt的依赖混乱 以致于ananconda navigator和spyder会有打不开的情况发生 解决的办法有 1 常规套路 参考 https www cnblogs com zlslch p 8066662
  • EyygDlHuwc

    test
  • oracle 联机文档下载

    http www oracle com technetwork indexes downloads index html database setup2
  • dll破解

    1 安装Reflector 并用打开需要破解的Dll 分析并找到 需要调整的程序段 2 采用ildasm exe 将 dll 编译为 IL文件 3 采用UltraEdit NotePad 打开IL文件 找到对应的IL 代码 并将其修改 4
  • Spring前后端传递参数的几种方法(转)

    Spring前后端传递参数的几种方法 转 原文链接 一 准备工作 1 建立HelloController类 2 在webapp下建一个hello html文件 hello html文件中写一个表单 二 传值方法 1 使用servlet 通过