【SpringBoot】返回参数

返回参数

  • 返回页面
  • 返回数据
  • 返回 html 代码
  • 返回 json 数据
  • 两数相加
  • 用户登录

返回页面

首先在 static 文件夹中创建 index.html 文件:
在这里插入图片描述
代码:

<html>
<body><h1>hello word!!!</h1><p>this is a html page</p>
</body>
</html>

可以直接使用地址访问(确保 index.html 文件在 static 文件夹中):
在这里插入图片描述

也可以后端返回 index.html:

@RequestMapping("/return")
@Controller
public class ReturnController {// 返回 html页面@RequestMapping("/r1")public String r1() {return "/index.html";}
}

在这里插入图片描述

早期,后端会返回前端视图,所以使用 @Controller 注解,而现在大多是前后端分离,只需要给前端返回数据即可,因此使用 @RestController 注解。而 @RestController 相当于 @Controller + @ResponseBody,所以如下两种方式等价:
在这里插入图片描述

返回数据

@RequestMapping("/return")
@Controller
public class ReturnController {@RequestMapping("/r2")public String r2() {return "Hello springboot";}
}

在这里插入图片描述
若只想返回数据,则使用 @ResponseBody 注解, @ResponseBody 注解即是类注解,也是方法注解,注解在类上,该类中所有方法返回数据,注解在方法上,该方法放回数据:

    @ResponseBody@RequestMapping("/r2")public String r2() {return "Hello springboot";}

在这里插入图片描述

返回 html 代码

在这里插入图片描述

返回 json 数据

在这里插入图片描述

两数相加

前端传递两个数给后端,后端计算并返回给前端:
前端代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body>
// 将两个数传到 calc/sum 中
<form action="calc/sum" method="post"><h1>计算器</h1>数字1:<input name="num1" type="text"><br>数字2:<input name="num2" type="text"><br><input type="submit" value=" 点击相加 ">
</form>
</body></html>

后端代码:

@RestController
@RequestMapping("/calc")
public class CalcController {@RequestMapping("/sum")public String sum(Integer num1, Integer num2) {Integer sum = num1 + num2;return "计算结果是:"+sum;}
}

在这里插入图片描述

用户登录

输⼊账号和密码,后端进行校验密码是否正确。
前端 login.html 代码:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><title>登录页面</title>
</head><body>
<h1>用户登录</h1>
用户名:<input name="userName" type="text" id="userName"><br>
密码:<input name="password" type="password" id="password"><br>
<input type="button" value="登录" onclick="login()"><script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.4/jquery.min.js"></script>
<script>function login() {$.ajax({type:"post",url: "login/check",data:{userName: $("#userName").val(),password: $("#password").val()},success: function(result){if(result==true){location.href="index.html";}else{alert("用户名或密码错误!");}}});}</script>
</body></html>

前端 index.html 代码:

<!doctype html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport"content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>用户登录首页</title>
</head><body>
登录人: <span id="loginUser"></span><script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.4/jquery.min.js"></script>
<script>$.ajax({url: "/login/getuser",type:"get",success:function(result){$("#loginUser").text(result);}});
</script>
</body></html>

后端代码:

@RestController
@RequestMapping("/login")
public class LoginController {@RequestMapping("/check")public Boolean check(String username, String password, HttpSession session) {// 如果用户名或密码为空,返回falseif (!StringUtils.hasText(username) || !StringUtils.hasText(password)) {return false;}// 如果用户和密码都正确,则存储会话信息if ("zhangsan".equals(username) && "123456".equals(password)) {session.setAttribute("username", username);return true;}return false;}@RequestMapping("/getuser")public String getuser(HttpSession session) {// 返回当前登录用户return (String) session.getAttribute("username");}
}

运行结果:

在这里插入图片描述

login.html 前后端交互关键代码 :

在这里插入图片描述

index.html 前后端交互关键代码 :

在这里插入图片描述

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

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

相关文章

JS-29-Promise对象

一、JavaScript的异步操作 在JavaScript的世界中&#xff0c;所有代码都是单线程执行的。 由于这个“缺陷”&#xff0c;导致JavaScript的所有网络操作&#xff0c;浏览器事件&#xff0c;都必须是异步执行。异步执行可以用回调函数实现&#xff1a; function callback() {c…

temux安装debian自用记录

http://ip:9001/ user/123 http://ip:5705/index admin/drpy 一、安装Ubuntu1804 1&#xff0e;首先安装termux.app 2&#xff0e;启动该app&#xff0c;输入命令 curl -Lo l l.tmoe.me; sh l 3&#xff0e;运行过程中连续选“Y”&…

兼容性之边缘:解决Windows Edge常见兼容性问题

引言&#xff1a; Windows Edge是一款现代化的浏览器&#xff0c;随着Windows 10的推出而被引入到我们的生活中。Windows Edge具有优异的性能和功能&#xff0c;如高速浏览和更好的安全性。然而&#xff0c;在日常使用过程中&#xff0c;Windows Edge用户仍然常常遭遇兼容性问…

ip数据报

IP数据报格式详解 在 TCP/IP 协议中&#xff0c;使用 IP 协议传输数据的包被称为 IP 数据包&#xff0c;每个数据包都包含 IP 协议规定的内容。IP 协议规定的这些内容被称为 IP 数据报文&#xff08;IP Datagram&#xff09;或者 IP 数据报。 IP 数据报文由首部&#xff08;称…

C++11 列表初始化、initializer_list、auto、decltype、array

&#x1f436;博主主页&#xff1a;ᰔᩚ. 一怀明月ꦿ ❤️‍&#x1f525;专栏系列&#xff1a;线性代数&#xff0c;C初学者入门训练&#xff0c;题解C&#xff0c;C的使用文章&#xff0c;「初学」C &#x1f525;座右铭&#xff1a;“不要等到什么都没有了&#xff0c;才下…

git突然不能更新

【Q】 git 更新经常报这种错 Update failed WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)…

Linux学习-数据库

数据库软件: 关系型数据库: Mysql Oracle SqlServer Sqlite 非关系型数据库&#xff1a; Redis NoSQL 1.数组、链表、文件、数据库 数组、链表: 内存存放数据的方式(代码运行结束、关机数据丢失) 文件、…

GitHub repository - Branch - SSH clone URL - Clone in Desktop - Download ZIP

GitHub repository - Branch - SSH clone URL - Clone in Desktop - Download ZIP 1. Branch2. SSH clone URL3. Clone in Desktop4. Download ZIPReferences 1. Branch 显示当前分支的名称。从这里可以切换仓库内分支&#xff0c;查看其他分支的文件。 2. SSH clone U…

每日汇评:黄金会在鲍威尔讲话之前重回 2,400 美元吗?

在避险情绪的影响下&#xff0c;金价在 2400 美元下方巩固反弹&#xff1b; 尽管中东紧张局势有所缓和&#xff0c;美元仍因美国零售销售数据强劲而上涨&#xff1b; 由于有利的四小时技术结构&#xff0c;金价的看涨潜力仍然完好无损&#xff1b; 周二亚洲交易中&#xff0c;金…

oraclelinux 增加静态路由

背景&#xff1a;有一套oracle19c RAC &#xff0c;主机rac1及rac2,IP地址分别为192.168.56.101、192.168.56.102,通过vyos软路由的nat&#xff0c;已经实现192.168.56.0可以与IP:192.168.128.179通讯。现在需要实现与192.168.128.0网段通讯。 [rootemcc ~]# route add -net …

vue3中setup函数的理解

在 Vue 3 中&#xff0c;setup 函数是用于设置组件的配置和状态的地方。它是组件内部的一个新特性&#xff0c;用于替代 Vue 2.x 中的 data、computed、methods 等选项。setup 函数的主要作用可以概括为以下几点&#xff1a; 接收参数&#xff1a; setup 函数接收两个参数&…

智能装箱机:打造高效物流新时代的革命性工具

在快节奏的现代生活中&#xff0c;物流行业的效率与智能化水平直接关系到消费者的购物体验和企业的市场竞争力。装箱机作为物流包装中重要的一个环节&#xff0c;其智能化升级已成为行业发展的必然趋势。星派将与大家探讨装箱机为什么说是智能化装箱解决方案? 一、装箱机的智能…

【应急响应篇】内存马应急响应指南

【应急响应篇】内存马应急响应指南 1.Java内存马原理2.Java内存马分类Tomcat型Spring型Agent型3.内存马查杀思路1.Java内存马原理 内存马无文件落地,存在于内存之中,隐蔽性强,缺点是 一般的内存🐎重启后就不在了 Java内存马按照实现原理大致可以分为如下两种 利用Java W…

喜讯 | “泰迪杯”数据挖掘挑战赛再次进入计算机类竞赛指数榜单

4月15日&#xff0c;第61届中国高等教育博览会在福州召开。在教师教学发展与创新人才培养论坛上&#xff0c;浙江大学何钦铭教授代表《全国普通高校大学生计算机类竞赛指数》专家工作组发布了最新一年的竞赛指数。据悉&#xff0c;今年的竞赛项目清单包含了28项赛事&#xff0c…

Pytorch DistributedDataParallel(DDP)教程二:快速入门实践篇

Pytorch DistributedDataParallel&#xff08;DDP&#xff09;教程二&#xff1a;快速入门实践篇 文章目录 一、简要回顾DDP二、DDP训练框架的流程1. 准备DDP环境2. 准备数据加载器3. 准备DDP模型和优化器4. 开始训练5. 评估测试 三、完整代码四、DP, DDP性能对比五、总结1. H…

20.java openCV4.x 入门-Imgproc之点集拟合

专栏简介 &#x1f492;个人主页 &#x1f4d6;心灵鸡汤&#x1f4d6;我们唯一拥有的就是今天&#xff0c;唯一能把握的也是今天建议把本文当作笔记来看&#xff0c;据说专栏目录里面有相应视频&#x1f92b; &#x1f4f0;专栏目录 Imgproc之点集拟合 一、拟合直线1.字段…

Android11应用安装未知来源的权限改动

最近开发的App需要下载安装另一个App。这就涉及到了app的安装代码。关于App的安装代码&#xff0c;写了不少&#xff0c;所以这一块觉得不是问题&#xff1a; 判断版本&#xff0c;Android8.0判断是否有未知来源安装全选&#xff0c;没有则打开未知来源安装权限设置界面去开启…

【团体程序设计天梯赛 往年关键真题 详细分析完整AC代码】L2-001 紧急救援(最短路+路径打印) L2-002 链表去重(模拟链表)

L2-001 紧急救援 最短路路径打印 作为一个城市的应急救援队伍的负责人&#xff0c;你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时…

C语言:文件操作(三)

目录 前言 5、文章的随机读写 5.1 fseek 5.2 ftell 5.3 rewind 结语 前言 本篇文章继续讲解文件操作&#xff0c;讲解文件的随机读写&#xff0c;主要有三个函数&#xff1a;fseek&#xff1b;ftell&#xff1b;rewind。 前面讲解的函数都是对文件内容进行顺序读写&#x…

win10 64位装三菱PLC软件出现oleaut32.dll拒绝访问

win10 64位装 三菱PLC软件GX works2出现以下情况&#xff1a;以下文件没有自注册或撤消注册 c:/Windows/SysWOW64/oleaut32.dll拒绝访问 经过百度说是兼容问题 解决方案&#xff1a;在安装包启动图标上右键-兼容性疑难解答-尝试建议的设置-测试程序。 点击测试程序后setup正常…