Spring Web MVC快速入門

什么是Spring Web MVC

Spring Web MVC 是基于 Servlet API 構建的原始 Web 框架,從?開始就包含在 Spring 框架中。它的正式名稱“Spring Web MVC”來?其源模塊的名稱(Spring-webmvc),但它通常被稱為"Spring?MVC".

  1. View(視圖) 指在應?程序中專??來與瀏覽器進?交互,展?數據的資源.
  2. Model(模型) 是應?程序的主體部分,?來處理程序中數據邏輯的部分.
  3. Controller(控制器)可以理解為?個分發器,?來決定對于視圖發來的請求,需要?哪?個模型來處理,以及處理完后需要跳回到哪?個視圖。即?來連接視圖和模型

學習Spring MVC

主要分以下三個??:

1. 建?連接:將??(瀏覽器)和 Java 程序連接起來,也就是訪問?個地址能夠調?到我們的

Spring 程序。

2. 請求: ??請求的時候會帶?些參數,在程序中要想辦法獲取到參數, 所以請求這塊主要是 獲取參數的功能.

3. 響應: 執?了業務邏輯之后,要把程序執?的結果返回給??, 也就是響應.

開始運用

當我們在進行交互的時候,我們需要使用注解。

1、@RestController

實現用戶通過瀏覽器和程序的交互

2、@RequestMapping

@RequestMapping 是 Spring Web MVC 應?程序中最常被?到的注解之?,它是?來注冊接?的

路由映射的。

@RequestMapping 既?持Get請求, ??持Post請求. 同理, 也?持其他的請求?式

我們測試后端?法時, 還需要去寫前端代碼,所以我們可以第三方工具:Apifox。

下載地址:

Apifox - API 文檔、調試、Mock、測試一體化協作平臺。擁有接口文檔管理、接口調試、Mock、自動化測試等功能,接口開發、測試、聯調效率,提升 10 倍。最好用的接口文檔管理工具,接口自動化測試工具。

傳遞單個參數

我們可以使用apifox進行查詢

傳遞多個參數

當有多個參數的時候,我們可以創建一個對象

上圖包含set和get方法,也需要重新toString

如果我們什么都不傳的話,就會默認初始化值

下面為我們自己填入的值

重命名

后端和前端在開發中,命名的想法不同,這時候我們就需要使用重命名

@RequestParam("name") String username 為重命名方式

這樣我們就可以在想法不同的情況下,很容易就更改代碼

傳遞數組

這里的數組,我們打印的時候要使用Arrays.toString()

傳遞集合

當我們使用list時,我們需要加一個注解?

@RequestParam(required = false) List<String> list

傳遞json數據

json是一個特殊的字符串,可以表示對象的字符串

我們傳遞json需要注解 @RequestBody Student student

從路徑中獲取參數

我們需要使用的注解? @PathVariable

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/82331.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/82331.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/82331.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

DeepSeek基于注意力模型的可控圖像生成

DeepSeek大模型高性能核心技術與多模態融合開發 - 商品搜索 - 京東 圖像的加噪與模型訓練 在擴散模型的訓練過程中&#xff0c;首先需要對輸入的信號進行加噪處理&#xff0c;經典的加噪過程是在圖像進行向量化處理后在其中添加正態分布&#xff0c;而正態分布的值也是與時間…

第十六屆藍橋杯B組第二題

當時在考場的時候這一道題目 無論我是使用JAVA的大數&#xff08;BIGTHGER&#xff09;還是賽后 使用PY 都是沒有運行出來 今天也是突發奇想在B站上面搜一搜 看了才知道這也是需要一定的數學思維 通過轉換 設X來把運算式精簡化 避免運行超時 下面則是代碼 public class lanba…

HT71663同步升壓2.7V-13V輸入10A聚能芯半導體禾潤一級代理

在便攜式設備飛速發展的今天&#xff0c;電源轉換效率與產品尺寸始終是行業難以平衡的難題。但現在&#xff0c;HT71663 高功率全集成升壓轉換器強勢登場&#xff0c;一舉打破僵局&#xff0c;為便攜式系統帶來顛覆性的高效小尺寸解決方案&#xff01;? HT71663 的卓越性能&am…

Unity:輸入系統(Input System)與持續檢測鍵盤按鍵(Input.GetKey)

目錄 Unity 的兩套輸入系統&#xff1a; &#x1f50d; Input.GetKey 詳解 &#x1f3af; 對比&#xff1a;常用的輸入檢測方法 技術底層原理&#xff08;簡化版&#xff09; 示例&#xff1a;角色移動 為什么會被“新輸入系統”替代&#xff1f; Unity 的兩套輸入系統&…

港大今年開源了哪些SLAM算法?

過去的5個月&#xff0c;香港大學 MaRS 實驗室陸續開源了四套面向無人機的在線 SLAM 框架&#xff1a;**FAST-LIVO2 、Point-LIO&#xff08;grid-map 分支&#xff09; 、Voxel-SLAM 、Swarm-LIO2 **。這四套框架覆蓋了單機三傳感器融合、高帶寬高速機動、長時間多級地圖優化以…

【質量管理】TRIZ因果鏈分析:解碼質量問題的“多米諾效應“

為什么要使用因果鏈分析 沒有發現問題并不等于沒有問題。愛因斯坦曾說&#xff0c;如果我只有一個小時的時間來拯救世界&#xff0c;我將花45分鐘時間分析問題&#xff0c;10分鐘的時間來檢查問題&#xff0c;最后5分鐘的時間來解決問題。可見問題分析的重要性。 在質量管理實踐…

線程中常用的方法

知識點詳細說明 Java線程的核心方法集中在Thread類和Object類中,以下是新增整合后的常用方法分類解析: 1. 線程生命周期控制 方法作用注意事項start()啟動新線程,JVM調用run()方法多次調用會拋出IllegalThreadStateException(線程狀態不可逆)。run()線程的任務邏輯直接調…

c++:迭代器(Iterator)

目錄 &#x1f6aa;什么是迭代器&#xff1f; &#x1f527; 迭代器的本質 為什么不用普通數組或下標&#xff1f; STL容器的迭代器并不是共用一個類型&#xff01; 迭代器的類型&#xff08;Iterator Categories&#xff09; &#x1f4e6; 常見容器的迭代器類型 ? 迭…

【文件系統—散列結構文件】

文章目錄 一、實驗目的實驗內容設計思路 三、實驗代碼實現四、總結 一、實驗目的 理解linux文件系統的內部技術&#xff0c;掌握linux與文件有關的系統調用命令&#xff0c;并在此基礎上建立面向隨機檢索的散列結構文件&#xff1b;## 二、實驗內容與設計思想 實驗內容 1.設…

力扣26——刪除有序數組中的重復項

目錄 1.題目描述&#xff1a; 2.算法分析&#xff1a; 3.代碼展示&#xff1a; 1.題目描述&#xff1a; 給你一個 非嚴格遞增排列 的數組 nums &#xff0c;請你 原地 刪除重復出現的元素&#xff0c;使每個元素 只出現一次 &#xff0c;返回刪除后數組的新長度。元素的 相對…

ggplot2 | GO barplot with gene list

1. 效果圖 2. 代碼 數據是GO的輸出結果&#xff0c;本文使用的是 metascape 輸出的excel挑選的若干行。 # 1. 讀取數據 datread.csv("E:\\research\\scPolyA-seq2\\GO-APA-Timepoint\\test.csv", sep"\t") head(dat)# 2. 選擇所需要的列 dat.usedat[, c(…

學習搭子,秘塔AI搜索

什么是秘塔AI搜索 《秘塔AI搜索》的網址&#xff1a;https://metaso.cn/ 功能&#xff1a;AI搜索和知識學習&#xff0c;其中學習部分是亮點&#xff0c;也是主要推薦理由。對應的入口&#xff1a;https://metaso.cn/study 推薦理由 界面細節做工精良《今天學點啥》板塊的知…

【C語言】--指針超詳解(三)

目錄 一.數組名的理解 二.使用指針訪問數組 三.一維數組傳參的本質 四.冒泡排序 五.二級指針 六.指針數組 6.1--指針數組的定義 6.2--指針數組模擬二維數組 &#x1f525;個人主頁&#xff1a;草莓熊Lotso的個人主頁 &#x1f3ac;作者簡介&#xff1a;C方向學習者 &…

Linux防火墻

1.防火墻是一種位于內部網絡與外部網絡之間的網絡安全系統&#xff0c;它依照特定的規則&#xff0c;允許或限制傳輸的數據通過&#xff0c;以保護內部網絡的安全。以下從功能、分類、工作原理等方面為你詳細講解&#xff1a; 功能訪問控制&#xff1a;這是防火墻最主要的功能。…

嵌入式培訓之C語言學習完(十七)結構體、共用體、枚舉、typedef關鍵字與位運算

目錄 一、結構體&#xff08;struct關鍵字&#xff09; &#xff08;一&#xff09;聲明一個結構體數據類型 &#xff08;二&#xff09;結構體的成員初始化與賦值 a、結構體變量賦值 b、結構體成員初始化 c、結構體的定義形式 &#xff08;三&#xff09;考點&#xff…

Python字典:數據操作的核心容器

在Python編程生態中&#xff0c;字典&#xff08;dict&#xff09;是最常用且功能強大的內置數據結構之一。它以鍵值對&#xff08;Key-Value Pair&#xff09;的形式存儲數據&#xff0c;為快速查找、靈活映射關系提供了天然支持。無論是數據清洗、算法實現還是Web開發&#x…

按位寬提取十六進制值

需求&#xff1a;給出一個十六進制值&#xff0c;要求提取high和low位之間的值。比如16ha0f0&#xff0c;這是一個16bit寬的十六進制數0xa0f0&#xff0c;提取[15:12]范圍內的值。 def extract_bits(value, high, low):"""從 value 中提取 [high:low] 位的值:p…

LeRobot 項目部署運行邏輯(六)——visualize_dataset_html.py/visualize_dataset.py

可視化腳本包括了兩個方法&#xff1a;遠程下載 huggingface 上的數據集和使用本地數據集 腳本主要使用兩個&#xff1a; 目前來說&#xff0c;ACT 采集訓練用的是統一時間長度的數據集&#xff0c;此外&#xff0c;這兩個腳本最大的問題在于不能裁剪&#xff0c;這也是比較好…

SSTI模版注入

1、概念 SSTI是一種常見的Web安全漏洞&#xff0c;它允許攻擊者通過注入惡意模板代碼&#xff0c;使服務器在渲染模板時執行非預期的操作。 &#xff08;1&#xff09;渲染模版 至于什么是渲染模版&#xff1a;服務器端渲染模板是一種Web開發技術&#xff0c;它允許在服務器端…

關于點膠機的精度

一、精度&#xff1a; 1:X/y軸定位精度常通在5個絲左右&#xff0c;Z軸在3個絲左右&#xff0c; 如果采用伺服電機絲桿配置&#xff0c;可提升至于個2絲左右。 2&#xff1a;膠水控制精度&#xff1a;通過噴閥驅動器&#xff0c;氣壓等參數&#xff0c;實現膠量控制&#xf…