SpringMVC(二)

Model

        以Map方式进行存储,用于向作用域中存值。

        注意:在Model中增加模型数据,若不指定key,则默认使用对象的类型作为key

@Controller //控制器类
public class IndexController {@RequestMapping("/index3")public String index3(SmbmsUser smbmsUser, Model model){model.addAttribute("smbmsUser",smbmsUser);return "/demo03.jsp";//并返回 "/demo03.jsp" 作为视图名称。}
}

Map

        以Map方式进行存储,用于向作用域中存值。

@Controller //控制器类
public class IndexController {@RequestMapping("/index4")public String index4(SmbmsUser smbmsUser, Map<String,Object> map){map.put("smbmsUser",smbmsUser);return "/demo03.jsp";//并返回 "/demo03.jsp" 作为视图名称。}
}

@ModelAttribute

        用于将请求参数绑定到模型对象上。

@Controller
@RequestMapping("/user")
public class DemoController {@RequestMapping("/demo")public String demo(@ModelAttribute("smbmsUser") SmbmsUser smbmsUser){System.out.println(smbmsUser);return "/demo03.jsp";}
}

@SessionAttributes

        只能定义在类上,作用是将指定的Model中的键值对添加至session中。

<%@ page contentType="text/html;charset=UTF-8" isELIgnored="false" language="java" %>
<html><head><title>Title</title></head><body>${requestScope.smbmsUser}=======${sessionScope.smbmsUser}</body>
</html>
@Controller
@RequestMapping("/user")
@SessionAttributes("smbmsUser")//session作用域
public class DemoController {@RequestMapping("/demo02")public String demo02( SmbmsUser smbmsUser){ModelAndView modelAndView = new ModelAndView();modelAndView.addObject("smbmsUser",smbmsUser);//request作用域System.out.println(smbmsUser);return "/demo04.jsp";}
}

servlet方式

        引入servlet-api.jar

<!--servlet-api-->
<dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope>
</dependency
@Controller
@RequestMapping("/user")
public class DemoController {@RequestMapping("/demo04")public String demo04(SmbmsUser smbmsUser,HttpServletRequest request,HttpSession session){System.out.println(smbmsUser.toString());session.setAttribute("smbmsUser",smbmsUser);request.setAttribute("smbmsUser",smbmsUser);return "/demo04.jsp";}
}

转发与重定向

return "redirect:/user.jsp";//重定向
return "forward:页面";//转发

@ResponseBody

        用于将控制器方法的返回值直接写入 HTTP 响应体中,而不是解析为视图名称。

        对象中添加:

        @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)表示属性为null不返回。

@Controller
@RequestMapping("/user")
public class DemoController {@ResponseBody@RequestMapping("/demo05")public ResultJSON demo05(){Bill bill = new Bill();bill.setId(1111);bill.setBillCode("abccc");bill.setProductDesc("aaaaaa");return ResultJSON.success(bill);}
}

HTTP响应体

        HTTP 响应体(HTTP Response Body)是 HTTP 响应消息的一部分,用于携带从服务器返回给客户端的数据。

        HTTP 响应由三个部分组成:

                状态行(Status Line):包含 HTTP 版本、状态码和状态描述。

                响应头(Response Headers):包含关于响应的元数据,如内容类型、内容长度、缓存控制等。

                响应体(Response Body):实际的数据内容,可以是 HTML、JSON、XML、文本等。

视图解析

        在传统的 MVC 框架中,控制器方法的返回值通常是一个视图名称(例如,一个 JSP 文件名)。Spring MVC 会根据这个视图名称找到对应的视图模板,并将模型数据渲染到该视图中,最终生成 HTML 页面并返回给客户端。

@RestController

        标注该类中所有的方法都返回JSON 用于类中。无须在写@Controller。

@DateTimeFormat

        用户对象属性,控制入参时日期类型转换。

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

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

相关文章

ABE 中的隐藏属性:DIPPE(去中心化内积谓词加密)

1. 引言 相关论文有&#xff1a; Yan Michalevsky 和 Marc Joye 2018年论文 Decentralized policy-hiding ABE with receiver privacy&#xff0c;发表于23rd European Symposium on Research in Computer Security, ESORICS 2018。Amit Sahai 和 Brent Waters 2005年论文 Fu…

计算机网络——不同版本的 HTTP 协议

介绍 HTTP&#xff0c;即超文本传输协议&#xff08;HyperText Transfer Protocol&#xff09;&#xff0c;是应用层的一个简单的请求-响应协议&#xff0c;它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。本文将介绍 HTTP 协议各个版本。 HTTP/1.0 HTTP/1…

Linux——基础命令(2) 文件内容操作

目录 ​编辑 文件内容操作 1.Vim &#xff08;1&#xff09;移动光标 &#xff08;2&#xff09;复制 &#xff08;3&#xff09;剪切 &#xff08;4&#xff09;删除 &#xff08;5&#xff09;粘贴 &#xff08;6&#xff09;替换,撤销,查找 &#xff08;7&#xff…

嵌入式硬件实战提升篇(三)商用量产电源设计方案 三路电源输入设计 电源管理 多输入供电自动管理 DCDC降压

引言&#xff1a;本文你能实际的了解到实战量产产品中电源架构设计的要求和过程&#xff0c;并且从实际实践出发搞懂电源架构系统&#xff0c;你也可以模仿此架构抄板到你自己的项目&#xff0c;并结合硬件篇之前的项目以及理论形成正真的三路电源输入设计与开发板电源架构块供…

30分钟学会正则表达式

正则表达式是对字符串操作的一种逻辑公式&#xff0c;就是用事先定义好的一些特定字符、及这些特定字符的组合&#xff0c;组成一个“规则字符串”&#xff0c;这个“规则字符串”用来表达对字符串的一种过滤逻辑。 作用 匹配 查看一个字符串是否符合正则表达式的语法 搜索 正…

如何手搓一个智能激光逗猫棒

背景 最近家里的猫胖了&#xff0c;所以我就想做个逗猫棒。找了一圈市场上的智能逗猫棒&#xff0c;运行轨迹比较单一&#xff0c;互动性不足。 轨迹单一&#xff0c;活动范围有限 而我希望后续可以结合人工智能物联网&#xff0c;通过摄像头来捕捉猫的位置&#xff0c;让小…

【C语言】递归的内存占用过程

递归 递归是函数调用自身的一种编程技术。在C语言中&#xff0c;递归的实现会占用内存栈&#xff08;Call Stack&#xff09;&#xff0c;每次递归调用都会在栈上分配一个新的 “栈帧&#xff08;Stack Frame&#xff09;”&#xff0c;用于存储本次调用的函数局部变量、返回地…

Bert+CRF的NER实战

CRF&#xff08;条件随机场-Conditional Random Field&#xff09; 原始本文&#xff1a;我在北京吃炸酱面 标注示例&#xff08;采用BIO标注方式&#xff09;&#xff1a; 我O在O北B-PLA京I-PLA吃O炸B-FOOD酱I-FOOD面I-FOOD CRF&#xff1a; 目的&#xff1a;提出一些不可能…

pycharm链接neo4j数据库(简单)

1.安装pycharm 2.安装库 pip install py2neo -i https://pypi.tuna.tsinghua.edu.cn/simple 3.代码试运行 from py2neo import Graph, Node, Relationship# 连接到Neo4j数据库&#xff0c;使用Bolt协议 graph Graph("bolt://localhost:7687", auth("neo…

故障诊断 | Transformer-LSTM组合模型的故障诊断(Matlab)

效果一览 文章概述 故障诊断 | Transformer-LSTM组合模型的故障诊断(Matlab) 源码设计 %% 初始化 clear close all clc disp(此程序务必用2023b及其以上版本的MATLAB!否则会报错!) warning off %

flask的第一个应用

本文编写一个简单的实例来记录下flask的使用 文章目录 简单实例flask中的路由无参形式有参形式 参数类型不同的http方法本文小结 简单实例 flask的依赖包都安装好之后&#xff0c;我们就可以写一个最简单的web应用程序了&#xff0c;我们把这个应用程序命名为first.py: from fl…

jmeter 压测常用静默参数解释应用

简介&#xff1a; JMeter静默压测&#xff08;即无界面压测&#xff09;是一种常用的性能测试方法&#xff0c;用于模拟多个用户同时访问系统并测量系统的响应时间和吞吐量等关键性能指标。在JMeter静默压测中&#xff0c;常用的压测参数及其解释如下&#xff1a; 一、基本…

《Python基础》之Pandas库

目录 一、简介 二、Pandas的核心数据结构 1、Series 2、DataFrame 三、数据读取与写入 1、数据读取 2、数据写入 四、数据清洗与处理 1、处理缺失值 2、处理重复值 3、数据转换 五、数据分析与可视化 1、统计描述 2、分组聚合 3、数据可视化 六、高级技巧 1、时…

【C语言】结构体(四)

本篇重点是typedef关键字 一&#xff0c;是什么&#xff1f; typedef用来定义新的数据类型&#xff0c;通常typedef与结构体的定义配合使用。 简单来说就是取别名 ▶ struct 是用来定义新的数据类型——结构体 ▶ typedef是给数据类型取别名。 二&#xff0c;为什么&#xf…

12月2日星期一今日早报简报微语报早读

12月2日星期一&#xff0c;农历十一月初二&#xff0c;早报#微语早读。 1、公安部&#xff1a;全国机动车所有人12月2日起均可申领电子行驶证&#xff1b; 2、2025年国考笔试开考&#xff1a;参考率约为86.7%&#xff0c;约65人录1人&#xff1b; 3、今日头条、拼多多等9款A…

Navicat连接SQL Server及SpringBoot连接SQL Server(jtds)

Navicat连接SQL Server 安装自带的SQL Server客户端 去到Navicat安装目录&#xff0c;找到安装程序&#xff0c;安装即可。 安装对应版本的Microsoft ODBC Driver for SQL Server 打开Navicat输入对应的SQL Server相关信息 然后点测试连接&#xff0c;提示连接成功。 Spr…

【机器学习】CatBoost 模型实践:回归与分类的全流程解析

一. 引言 本篇博客首发于掘金 https://juejin.cn/post/7441027173430018067。 PS&#xff1a;转载自己的文章也算原创吧。 在机器学习领域&#xff0c;CatBoost 是一款强大的梯度提升框架&#xff0c;特别适合处理带有类别特征的数据。本篇博客以脱敏后的保险数据集为例&#x…

用三维模型的顶点法向量计算法线贴图

法线贴图的核心概念是在不增加额外多边形数目的情况下&#xff0c;通过模拟细节来改善光照效果。具体流程包括&#xff1a; 法线的计算与存储&#xff1a;通过法线映射将三维法线向量转化为法线贴图的 RGB 值。渲染中的使用&#xff1a;在片段着色器中使用法线贴图来替代原有的…

Hadoop分布式文件系统(二)

目录 1. 引言1. Hadoop文件操作命令2. 部分常用的Hadoop FS Shell命令2.1 ls列出文件2.2 mkdir创建目录2.3 put上传文件2.4 cat查看文件2.5 get复制文件2.6 rm删除文件 3. Hadoop系统管理命令4. HDFS Java API 示例参考 1. 引言 大多数HDFS Shell命令的行为和对应的Unix Shell命…

ESP32-S3模组上跑通ES8388(13)

接前一篇文章&#xff1a;ESP32-S3模组上跑通ES8388&#xff08;12&#xff09; 二、利用ESP-ADF操作ES8388 2. 详细解析 上一回解析了es8388_init函数中的第6段代码&#xff0c;本回继续往下解析。为了便于理解和回顾&#xff0c;再次贴出es8388_init函数源码&#xff0c;在…