当前位置: 首页 > news >正文

SpringMVC的初理解

1. SpringMVC是对表述层(Controller)解决方案

主要是        1.简化前端参数接收( 形参列表 )

                   2.简化后端数据响应(返回值)

1.数据的接受

        1.路径的匹配 使用@RequestMapping(可以在类上或在方法上),支持模糊查询,在内部有method附带请求方式限制(有Post,get ,put delete).有GetMapping,PostMapping

        2.接受参数:(如果不是接受视图的,使用@ResponseBody)

                        1.params的参数:@RequestParam

                        2.路径的参数:在@RequestMapping使用{},使用@PathVaribale

                        3.json的数据:@RequestBody(需要配置jackson的Maven包在config中使用@

EnbaleWebMvc)

                        4.Cookie的数据:@CookieValue

                        5.获得请求头的数据:@RequestHeader

  2.响应数据:1.转发(forward:/*)与重定向(redirect:/*):

                                2.返回json的数据:@EnableWebMvc,在方法使用@ResponseBody

                                3.返回静态的资源:(在config中)

   //开启静态资源处理 <mvc:default-servlet-handler/>@Overridepublic void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {configurer.enable();}

3.使用RESTFul的风格:

                1.使用路径的命名

                2.使用什么参数响应

                3.使用什么方式请求

                

在命名的时候,建议不要去用动词(URL的路径要求.

总结:使用put与Post使用Json参数请求,而使用delete ,get 使用 param 与路径,返回值只有一个时,使用路径。

        4.SpringMvc的其他:

                        1.全局的异常处理:申明一个advice的类,@ResponseBody与@ControllerAdvicec

在类中写异常信息,使用@ExceptionHandle

                        2.使用拦截器:(在请求handle前,后与请求视图后),接口是WebMvcConfigurer

                                使用preHandle ,postHandle,afterCompletion方法,addInterceptRegistry,excludePathpatterns

                        3.参数校验:使用JSR303,需要区别@NotNull,@NotEmpty,@NotBlank

                             如果出现了异常,使用BindingResult(必须要与参数相邻)

                                

相关文章:

SpringMVC的初理解

1. SpringMVC是对表述层&#xff08;Controller&#xff09;解决方案 主要是 1.简化前端参数接收( 形参列表 ) 2.简化后端数据响应(返回值) 1.数据的接受 1.路径的匹配 使用RequestMapping(可以在类上或在方法上)&#xff0c;支持模糊查询&#xff0c;在内部有method附带…...

Python 基本库用法:数学建模

文章目录 前言数据预处理——sklearn.preprocessing数据标准化数据归一化另一种数据预处理数据二值化异常值处理 numpy 相关用法跳过 nan 值的方法——nansum和nanmean展开多维数组&#xff08;变成类似list列表的形状&#xff09;重复一个数组——np.tile 分组聚集——pandas.…...

Android Greendao的数据库复制到设备指定位置

方法如下&#xff1a; private void export() {// 确保您已经请求并获得了WRITE_EXTERNAL_STORAGE权限// 获取要储存的设备路径String picturesDirPath Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getAbsolutePath();// 在公共目录下创建…...

Ajax 揭秘:异步 Web 交互的艺术

Ajax 揭秘&#xff1a;异步 Web 交互的艺术 一 . Ajax 的概述1.1 什么是 Ajax ?1.2 同步和异步的区别1.3 Ajax 的应用场景1.3.1 注册表单的用户名异步校验1.3.2 内容自动补全 二 . Ajax 的交互模型和传统交互模型的区别三 . Ajax 异步请求 axios3.1 axios 介绍3.1.1 使用步骤3…...

TitleBar:打造高效Android标题栏的新选择

在Android应用开发中&#xff0c;标题栏是用户界面的重要组成部分。一个好的标题栏不仅能够提升应用的专业感&#xff0c;还能增强用户体验。然而&#xff0c;传统的标题栏实现方式往往存在代码冗余、样式不统一、性能开销大等问题。今天&#xff0c;我们将介绍一个名为TitleBa…...

Lua协同程序Coroutine

Lua 协同程序(Coroutine) 定义 Lua 协同程序(Coroutine)与线程类似&#xff1a;拥有独立的堆栈、局部变量、指令指针&#xff0c;同时又与其它协同程序共享全局变量和其它大部分东西。 协同程序可以理解为一种特殊的线程&#xff0c;可以暂停和恢复其执行&#xff0c;从而允…...

【vue+帆软】帆软升级,从版本9升级到版本11,记录升级过程

帆软要升级&#xff0c;记录下过程 1、帆软官网地址必不可少&#xff0c;戳这里&#xff0c;跳转帆软官网 点击前端开发指南 点击JS API 跳转过来就是版本11 一直往下翻&#xff0c;在最底部有个2.2 在Web中使用&#xff0c;圈起来的就是要引入到index.html中的脚本 在项…...

linux从0到1 基础完整知识

1. Linux系统概述 Linux是一种开源操作系统&#xff0c;与Windows或macOS等操作系统不同&#xff0c;Linux允许用户自由地查看、修改和分发其源代码。以下是Linux系统的一些显著的优势。 稳定性和可靠性&#xff1a; 内核以其稳定性而闻名&#xff0c;能够持续运行数月甚至数…...

“人大金仓”正式更名为“电科金仓”; TDSQL-C支持回收站/并行DDL等功能; BigQuery支持直接查询AlloyDB

重要更新 1. “人大金仓”正式更名为“电科金仓”&#xff0c;完整名称“中电科金仓&#xff08;北京&#xff09;科技股份有限公司”&#xff0c;突出金仓是中国电子科技集团有限公司在基础软件领域产品( [1] ) 。据悉人大金仓在上半年营收入为9056万元&#xff0c;净利润约21…...

大模型微调 - 用PEFT来配置和应用 LoRA 微调

大模型微调 - 用PEFT来配置和应用 LoRA 微调 flyfish PEFT&#xff08;Parameter-Efficient Fine-Tuning&#xff09;是一种参数高效微调库&#xff0c;旨在减少微调大型预训练模型时需要更新的参数量&#xff0c;而不影响最终模型的性能。它支持几种不同的微调方法&#xff…...

Ubuntu构建只读文件系统

本文介绍Ubuntu构建只读文件系统。 嵌入式系统使用过程中&#xff0c;有时会涉及到非法关机&#xff08;比如直接关机&#xff0c;或意外断电&#xff09;&#xff0c;这可能造成文件系统损坏&#xff0c;为了提高系统的可靠性&#xff0c;通常将根文件系统设置为只读&#xf…...

【黑金系】金融UI/UX体验设计师面试作品集 Figma源文件分享

在数字金融时代&#xff0c;UI/UX体验设计师扮演着至关重要的角色。他们不仅塑造着产品的界面&#xff0c;更引领着用户的使用体验。我们的面试作品集&#xff0c;正是这样一部展现金融UI/UX设计魅力的宝典。 这套作品集汇聚了众多经典案例&#xff0c;每一处设计都经过精心雕…...

Golang | Leetcode Golang题解之第392题判断子序列

题目&#xff1a; 题解&#xff1a; func isSubsequence(s string, t string) bool {n, m : len(s), len(t)f : make([][26]int, m 1)for i : 0; i < 26; i {f[m][i] m}for i : m - 1; i > 0; i-- {for j : 0; j < 26; j {if t[i] byte(j a) {f[i][j] i} else {…...

Liunx常用指令

1. 文件和目录管理 ls 用法&#xff1a;ls [选项] [文件/目录]示例&#xff1a;ls -l&#xff08;以长列表格式显示&#xff09;&#xff0c;ls -a&#xff08;显示所有文件&#xff0c;包括隐藏文件&#xff09;。 cd 用法&#xff1a;cd [目录]示例&#xff1a;cd ..&#xf…...

CSS基础:浮动(float)如何使用清楚以及代替方法

浮动元素在 CSS 中主要通过 float 属性来控制&#xff0c;影响元素的排列方式。浮动用于创建流式布局&#xff0c;常用于实现图文混排、布局列等效果。以下是浮动元素的相关属性和使用方法&#xff1a; 1. 基本浮动属性 float: 控制元素的浮动方向&#xff0c;可以设置为 left…...

margin重叠该怎么解决?

在CSS中&#xff0c;当两个或多个垂直相邻的块级元素&#xff08;如<div>&#xff09;的margin相遇时&#xff0c;它们不会叠加成两个margin的和&#xff0c;而是会取两个margin中的较大值&#xff0c;这种现象被称为“margin重叠”&#xff08;margin collapsing&#x…...

Linux学习笔记(黑马程序员,前四章节)

第一章 快照 虚拟机快照&#xff1a; 通俗来说&#xff0c;在学习阶段我们无法避免的可能损坏Linux操作系统&#xff0c;如果损坏的话&#xff0c;重新安装一个Linux操作系统就会十分麻烦。VMware虚拟机支持为虚拟机制作快照。通过快照将当前虚拟机的状态保存下来&#xff0c;…...

tekton pipeline resources

PipelineResource 代表着一系列的资源&#xff0c;主要承担作为 Task 的输入或者输出的作用。它有以下几种类型&#xff1a; git&#xff1a;代表一个 git 仓库&#xff0c;包含了需要被构建的源代码。将 git 资源作为 Task 的 Input&#xff0c;会自动 clone 此 git 仓库。pu…...

使用Python实现多个PDF文件的合并

使用Python可以很方便地实现多个PDF文件的合并。我们可以使用PyPDF2库来完成这个任务。以下是一个实现PDF合并的Python脚本&#xff1a; import os from PyPDF2 import PdfMergerdef merge_pdfs(input_dir, output_filename):# 创建一个PdfMerger对象merger PdfMerger()# 获取…...

微擎忘记后台登录用户名和密码怎么办?解决方法

微擎忘记后台登录名和登录密码是很常见的&#xff0c;服务器百科网fwqbk.com告诉你找回后台登录用户名和密码的方法&#xff1a; 一&#xff1a;找回微擎后台用户名 &#xff08;如果只是忘记了后台登录密码&#xff0c;请忽略此步骤&#xff0c;跳转到第二步&#xff09; 通…...

别再让AI瞎忙活了!用Claude Code的SubAgent打造你的专属开发团队(附React项目实战)

别再让AI瞎忙活了&#xff01;用Claude Code的SubAgent打造你的专属开发团队&#xff08;附React项目实战&#xff09; 在软件开发的世界里&#xff0c;我们常常面临一个困境&#xff1a;要么雇佣一个庞大的团队&#xff0c;每个成员各司其职但成本高昂&#xff1b;要么依赖全能…...

颠覆级工具:Unity游戏自动翻译与游戏本地化全攻略

颠覆级工具&#xff1a;Unity游戏自动翻译与游戏本地化全攻略 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 在全球化游戏市场中&#xff0c;语言障碍已成为制约玩家体验与开发者用户增长的核心痛点。XU…...

GraphRAG:当 RAG 遇上知识图谱,信息检索从此不一样了

假设你把公司过去三年的所有周报、会议纪要、项目文档丢进一个 RAG 系统&#xff0c;然后问它&#xff1a;“过去一年里&#xff0c;研发团队和产品团队之间的主要分歧有哪些&#xff1f;”——大概率你会得到几段看起来相关的文字片段&#xff0c;但拼不出一个完整的答案。 这…...

Greasy Fork:用户脚本管理的一站式开源解决方案

Greasy Fork&#xff1a;用户脚本管理的一站式开源解决方案 【免费下载链接】greasyfork An online repository of user scripts. 项目地址: https://gitcode.com/gh_mirrors/gr/greasyfork 从脚本新手到社区贡献者的进阶指南 一、功能探索&#xff1a;解锁浏览器增强新…...

机器人路径规划算法之VFH算法详解+MATLAB代码实现

目录 一、 运作原理&#xff1a;三步把地图变成方向 1. 建图&#xff1a;构建直方图网格&#xff08;Histogram Grid&#xff09; 2. 降维&#xff1a;生成极坐标直方图&#xff08;Polar Histogram&#xff09; 3. 决策&#xff1a;代价函数与山谷选择 二、 算法演进&…...

[260326] x-cmd v0.8.10:跨 Shell 统一配置命令短名;自动装好依赖运行 WhisperLiveKit 实时语音转写

[260326] x-cmd v0.8.10&#xff1a;跨 Shell 统一配置命令短名&#xff1b;自动装好依赖运行 WhisperLiveKit 实时语音转写 开放 shortcut 内部模块&#xff0c;配置命令短名&#xff0c;支持跨 Shell 统一使用whisper 模块新增 livekit 命令&#xff0c;自动装好依赖&#x…...

泛微OA Ecology 安全补丁管理账号配置与实战

1. 泛微OA Ecology安全补丁管理账号配置详解 第一次接触泛微OA Ecology系统的安全补丁管理功能时&#xff0c;我完全没意识到这个看似简单的配置背后藏着这么多门道。直到有次系统被恶意攻击&#xff0c;才发现默认的管理账号存在安全隐患。今天就带大家彻底搞懂这个关键配置&a…...

BootstrapBlazor滑块组件:如何实现垂直方向滑动控制

BootstrapBlazor滑块组件&#xff1a;如何实现垂直方向滑动控制 【免费下载链接】BootstrapBlazor 项目地址: https://gitcode.com/gh_mirrors/bo/BootstrapBlazor BootstrapBlazor滑块组件为Blazor开发者提供了强大的数值输入控件&#xff0c;而垂直方向滑块则是构建现…...

参数估计实战:从置信区间构建到样本量计算的完整指南

1. 参数估计的核心逻辑&#xff1a;从抽样到推断 第一次接触参数估计时&#xff0c;我盯着那个95%置信区间看了半小时——它既不像天气预报的降水概率&#xff0c;也不像考试分数的百分比排名。后来在分析用户行为数据时才恍然大悟&#xff1a;参数估计本质是用样本数据给总体参…...

uniapp中如何用lottie-miniprogram加载json动画?5分钟搞定炫酷效果

Uniapp中5分钟集成Lottie动画&#xff1a;从原理到实战的完整指南 在移动应用开发中&#xff0c;精美的动画效果往往能显著提升用户体验。对于Uniapp开发者来说&#xff0c;Lottie-miniprogram提供了一种高效的方式&#xff0c;可以直接加载设计师导出的JSON动画文件&#xff0…...