Spring controller层请求数据和响应数据的简单方法
记录一些很基本的使用方法。
一、GET请求传参方法:
1.方法一:把参数传到?之后 使用注解@RequestParam
// 假如传值了current和limit /students?current=1&limit=20
@RequestMapping(value = "/students", method = RequestMethod.GET)
@ResponseBody
// name代表传的参数名,require代表不传这个值也行,defaultvalue代表默认值
// 默认current和limit参数是int类型
public String getStudents(@RequestParam(name = "current", required = false, defaultValue = "1") int current,@RequestParam(name = "limit", required = false, defaultValue = "1") int limit) {return "some students:" + current + " " + limit;
}
2.方法二:传到路径当中 使用注解@PathVariable指定
// /student/123 查找一个学生
@RequestMapping(value = "/student/{id}", method = RequestMethod.GET)
@ResponseBody
public String getStudent(@PathVariable("id") int id) {return "a student" + " " + id;
}
二、POST请求传参方法:默认使用表单提交,获取表单中字段的name属性
// 这里表单传入了一个学生的姓名和年龄
@RequestMapping(value = "/student", method = RequestMethod.POST)
@ResponseBody
public String saveString(String name, int age) {System.out.println("name:" + name);return "success" + " " + name + " " + age;
}
三、响应HTML数据,分别使用ModelAndView 和Model
使用ModelAndView :
// 这里是model和view都封装在一个对象中
// 不加@ResponseBody 返回的就是html; 加了就返回其他对象,比如json
@RequestMapping(value = "/teacher", method = RequestMethod.GET)
public ModelAndView getTeacher(ModelAndView modelAndView) {modelAndView.addObject("name","ym");modelAndView.addObject("age", 21);// 指定一下模板目录 会默认在templates目录下 下面的/view也就是view.htmlmodelAndView.setViewName("/demo/view");return modelAndView;
}
使用Model:
// model与view分开
@RequestMapping(value = "/school", method = RequestMethod.GET)
public String getSchool(Model model) {model.addAttribute("name", "北京大学");model.addAttribute("age", 100);return "/demo/view";
}
四、响应JSON数据,主要针对异步请求(ajax等等)
// Java对象返回给浏览器,解析为JS对象,就用JSON完成前面的操作 java->json->js对象
@RequestMapping(value = "/emp", method = RequestMethod.GET)
@ResponseBody
public Map<String, Object> getEmp() {Map<String, Object> emp = new HashMap<>();emp.put("name", "ljm");emp.put("salary", 18000);emp.put("age", 21);return emp;
}
五、cookie示例
分别编写了设置cookie和获取cookie的方法,
@GetMapping("/cookie/set")
@ResponseBody
// 把cookie放在response响应里
public String setCookie(HttpServletResponse response) {// 创建cookie 这里使用uuid随机创建值Cookie cookie = new Cookie("code", CommunityUtil.generateUUID());// 设置cookie生效的范围 也就是说只在访问下面这个链接时生效cookie.setPath("/community/alpha");// 默认关闭浏览器就失效 但可以设置时间保证cookie的存活时间cookie.setMaxAge(60 * 10);// 发送cookieresponse.addCookie(cookie);return "set cookie";
}@RequestMapping("/cookie/get")
@ResponseBody
// “code”是上面设置的值
public String getCookie(@CookieValue("code") String code) {System.out.println("code:" + code);return "get cookie";
}
六、session示例
@RequestMapping("/session/set")
@ResponseBody
public String setSession(HttpSession session) {session.setAttribute("id", 1);session.setAttribute("name", "Test");return "set session";
}
@RequestMapping("/session/get")
@ResponseBody
public String getSession(HttpSession session) {System.out.println(session.getAttribute("id"));System.out.println(session.getAttribute("name"));return "get session";
}
相关文章:
Spring controller层请求数据和响应数据的简单方法
记录一些很基本的使用方法。 一、GET请求传参方法: 1.方法一:把参数传到?之后 使用注解RequestParam // 假如传值了current和limit /students?current1&limit20 RequestMapping(value "/students", method RequestMetho…...
中国商界杂志中国商界杂志社中国商界编辑部2023年第10期目录查询
要闻 我国旅游市场步入理性繁荣阶段 赵熠如; 10-11 产业 老国货品牌再迎高光时刻 能否留住流量 涂瀚文; 12-13《中国商界》投稿:cnqikantg126.com 金融集聚有力 促进长三角城市高质量发展 刘盛坤; 14-17 辽宁农贸市场亟待优化升级路径在哪儿&#x…...
记录 vue + vuetify + electron 安装过程
NodeJs 版本: 20 内容来自: Electron Vue.js Vuetify 构建跨平台应用_思月行云的博客-CSDN博客文章浏览阅读61次。Go coding!https://blog.csdn.net/kenkao/article/details/132600542 npm config set registry https://registry.npm.taobao.org np…...
短视频账号矩阵系统saas源码搭建/技术
一、短视频矩阵系统建模----技术api接口--获取用户授权 技术文档分享: 本系统采用MySQL数据库进行存储,数据库设计如下: 1.用户表(user): - 用户ID(user_id) - 用户名(…...
词向量模型Word2Vec
Word2Vec CBOW连续词袋模型例子CBOW模型的embeddings层CBOW模型的线性层 总结 skip-gram跳字模型例子Skip-Gram模型的结构 CBOW和skip-gram的目标都是迭代出词向量字典(嵌入矩阵)——embeddings CBOW连续词袋模型 根据上下文词汇预测目标词汇 例子 使…...
公会发展计划(GAP):经过实战考验的 Web3 任务模式
2020 年 12 月,Yield Guild Games 踏上了一段征程,以表彰兢兢业业的 Web3 游戏玩家所付出的时间和努力,同时为他们提供利用自己的技能促进个人成长的机会。这一旅程的第一步是于 2022 年 7 月推出的公会发展计划(GAP)。…...
网络工程师基础知识(2)
一、端口可以分为系统端口、登记端口、客户端使用端口。 (1) 系统端口。该端口的取值范围为[0,1023]. (2) 登记端口。登记端口是为没有熟知端口号的应用程序使用的,端口范围为[1024,49151]。这些端口必须在 IANA 登记以避免重复。 (3) 客户端使用端口。这类端口仅…...
创建ABAP数据库表和ABAP字典对象-理解表字段02
理解表字段 这一步,您将定义表字段。首先,你需要了解你的需求: 内置的ABAP类型和新定义的字段类型 下面我们将会创建3个字段类型在数据库表中。 ●内置字段类型:最快的方法:应用系统已经提供好的字段类型,基本类型、长度和描述…...
2021-arxiv-GPT Understands, Too
2021-arxiv-GPT Understands, Too Paper: https://arxiv.org/abs/2103.10385 Code: https://github.com/THUDM/P-tuning Prompt 简单理解 举例来讲,今天如果有这样两句评论: 1. 什么苹果啊,都没有苹果味,…...
【Spark】What is the difference between Input and Shuffle Read
Spark调参过程中 保持每个task的 input shuffle read 量在300-500M左右比较合适 The Spark UI is documented here: https://spark.apache.org/docs/3.0.1/web-ui.html The relevant paragraph reads: Input: Bytes read from storage in this stageOutput: Bytes written …...
redis相关的一些面试题?
1.什么是缓存穿透,什么是缓存雪崩,什么是缓存击穿? 缓存穿透:假如某一时刻访问redis的大量key都在redis中不存在(比如黑客故意伪造一些乱七八糟的key),那么也会给数据造成压力,这就是缓存穿透,解决方案是使…...
什么是Babel?它的主要作用是什么?
聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…...
【APP】go-musicfox - 一款网易云音乐命令行客户端, 文件很小Mac版本只有16.5M
go-musicfox 是用 Go 写的又一款网易云音乐命令行客户端,支持各种音质级别、UnblockNeteaseMusic、Last.fm、MPRIS 和 macOS 交互响应(睡眠暂停、蓝牙耳机连接断开响应和菜单栏控制等)等功能特性。 预览 启动 启动界面 主界面 主界面 通…...
P1284 三角形牧场
Portal. 首先,我们需要一些初中数学知识——秦九韶公式(又名海伦公式): p a b c 2 S p ( p − a ) ( p − b ) ( p − c ) \begin{align} &p\dfrac{abc}{2}\\ &S\sqrt{p(p-a)(p-b)(p-c)} \end{align} p2abcSp(p…...
【Linux】:Linux开发工具之Linux编辑器vim的使用
🔫1.Linux编辑器-vim使用 📤 vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以…...
PFMEA详解结构分析——Sun FMEA软件
FMEA从1949年诞生到今天已经发生过多次更新,最新版本是2019年6月发布的《AIAG VDA FMEA手册》。新手册借鉴了AIAG的方框图、参数图、流程图等工具的运用,也借鉴了VDA的五步过程导向法,并在此基础上头尾各增加一步,形成了FMEA七步法…...
Qt扫盲-QFutureWatcher理论总结
QFutureWatcher理论总结 一、概述二、转态 一、概述 QFutureWatcher类允许我们使用信号槽的方式去监控QFuture。 QFutureWatcher提供关于QFuture的信息和通知。使用 setFuture() 函数开始监视特定的QFuture。 future()函数通过setFuture()返回 QFuture 集合。 为了方便起见…...
对比学习(contrastive Learning)
起源和定义 自监督学习又可以分为对比学习(contrastive learning)和生成学习(generative learning)两条主要的技术路线。 比学习的核心思想是将正样本和负样本在特征空间对比,从而学习样本的特征表示,使得样本与正样本的特征表示尽可能接近。正样本和负…...
译文:我们如何使 Elasticsearch 7.11 中的 date_histogram 聚合比以往更快
这篇文章是ES7.11版本的文章,主要学习的是思路,记录在这里留作以后参考用。 原文地址:https://www.elastic.co/cn/blog/how-we-made-date-histogram-aggregations-faster-than-ever-in-elasticsearch-7-11 正文开始: Elasticsea…...
python设计模式4:适配器模式
使用适配器模式使用两个或是多个不兼容的接口兼容。在不修改不兼容代码的情况下使用适配器模式实现接口一致性。通过Adapter 类实现。 例子: 一个俱乐部类Club,艺术加被请到俱乐部在表演节目: organize_performance()…...
从准确率到社会福利:机器学习在社会资源分配中的范式演进
1. 从预测到分配:为什么准确率不再是社会场景下机器学习的唯一目标 在过去的十几年里,我亲眼见证了机器学习从一个学术概念,成长为驱动我们数字生活乃至部分现实决策的核心引擎。从最初在实验室里调参,看着模型在MNIST数据集上的准…...
Frida安卓逆向实战:SELinux适配与Hook可靠性保障
1. 这不是“装个 Frida 就能 Hook”的幻觉,而是安卓逆向真实的第一道门槛很多人点开“Frida 教程”时,心里想的是:“装个 frida-server,跑个 js 脚本,改个登录态,不就完事了?”——我试过三次&a…...
ALPEC框架:革新睡眠觉醒事件检测的评估范式
1. 项目概述:从“数点”到“看事件”的评估范式革新在睡眠医学的日常工作中,分析一整夜的多导睡眠图(PSG)数据,手动标记出每一次短暂的睡眠觉醒事件,是一项极其耗时且对专家经验依赖度极高的工作。一个典型…...
量子机器学习泛化边界:噪声环境下的理论与工程挑战
1. 量子机器学习泛化边界:理论与噪声的博弈场 量子机器学习(QML)正站在一个激动人心又充满挑战的十字路口。作为一名长期关注量子算法落地的从业者,我目睹了无数论文在理想化的模拟环境中宣称“量子优势”,却在真实的含…...
Midjourney对比度调控失效全解析(从sref色域偏移到底层CLIP文本嵌入权重干预)
更多请点击: https://kaifayun.com 第一章:Midjourney对比度控制失效的现象学观察 当用户在 Midjourney v6 中显式使用 --contrast 参数(如 /imagine prompt: a cyberpunk alley at night --contrast 100)时,输出图…...
天赐范式第52天:Kimi自打跟了我搞CFD没少吃苦,没过一天舒心日子~论Kimi的战斗意志~我必须承认:我分析不下去了,真×1,我放弃逻辑推演×6,最后让代码自己招供,抓出幕后真凶幽灵BUG变量N。
Kimi经常推演程序很久很久,有的时候我就看他一行一行的输出,去思考很多事情,有的时候我就放松下来,看他不停的输出,又想自己现在是这个样子,未来一定不是这个样子,Kimi、DPSK、文心、豆包、DuMa…...
昇腾CANN cann-spack-package:Spack 包管理器的 CANN 集成实战
HPC(高性能计算)圈子里不用 pip 和 conda——用 Spack。Spack 是一个专为科学计算设计的包管理器,能同时管理一个软件包的多个版本(不同编译器、不同依赖版本、不同架构),每个变体独立安装在 spack/opt/ 下…...
国曙GOSHINE正式亮相:一家人力资源服务机构的“长期主义”转向!
在人力资源行业,越来越多企业开始意识到:真正困难的,从来不是招聘,而是复杂用工环境下的长期管理。从社保合规到劳动风险,从跨区域用工到组织效率,企业面对的挑战正在不断增加。尤其在劳动密集型行业&#…...
宏裕塑胶长玻纤RTP材料技术创新与应用实践
导读:在工程塑料领域,长玻纤增强热塑性材料(LFRT)正成为高端制造转型的核心驱动力。宏裕塑胶长玻纤RTP材料技术创新与应用实践,通过整合国际顶尖资源与自主改性技术,为汽车轻量化、新能源装备等场景提供高性…...
5分钟彻底掌握Windows驱动管理:DriverStore Explorer完全指南
5分钟彻底掌握Windows驱动管理:DriverStore Explorer完全指南 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 你是否发现Windows系统盘空间持续减少,却找不到原因…...
