【JavaEE】_Spring MVC項目之建立連接

目錄

1. Spring MVC程序編寫流程

2. 建立連接

2.1 @RequestMapping注解介紹

2.2 @RequestMapping注解使用

2.2.1 僅修飾方法

2.2.2 修飾類與方法

2.3 關于POST請求與GET請求

2.3.1 GET請求

2.3.2 POST請求

2.3.3 限制請求方法


1. Spring MVC程序編寫流程

1. 建立連接(客戶端和服務器);

2.(瀏覽器)客戶端向服務器發送請求;

3. 服務器向客戶端(瀏覽器)返回響應;

2. 建立連接

在Spring MVC中,使用@RequestMapping實現URL路由映射,完成瀏覽器對程序的連接;

2.1 @RequestMapping注解介紹

1. @RequestMapping是Spring Web MVC應用程序中最常被使用的注解之一,

用于注冊接口的路由映射,

表示服務器接收到請求時,路徑為/sayHi的請求就會調用sayHi這個方法的代碼;

2. 路由映射:

當用戶訪問一個URL時,將用戶的請求對應到程序中某個類的某個方法的過程就叫路由映射;

2.2 @RequestMapping注解使用

@RequestMapping注解既可以修飾類,也可以修飾方法;

2.2.1 僅修飾方法

當前類沒有@RequestMapping修飾,故而URL只需方法路徑:

@RequestMapping功能如下:

2.2.2 修飾類與方法

訪問地址為:類的路徑+方法路徑

現將.java文件修改為:

package com.example.demo.controller;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RequestMapping("/Hi")
@RestController
public class HelloController {@RequestMapping("/sayHi")public String sayHi(){return "Hi, SpringBoot";}@RequestMapping("/sayHello")public String sayHello(){return "Hello ,SpringBoot";}
}

重新啟動服務器,此時要填寫的URL為:

注:對于注解,可以不以 / 開頭,但在開發過程中建議采用標準寫法,以 / 開頭;

2.3 關于POST請求與GET請求

2.3.1 GET請求

?使用瀏覽器訪問:

使用Fiddler抓包,查看請求詳情:

可見@RequestMapping支持GET請求;

2.3.2 POST請求

使用postman構造一個POST請求并發送:

得到的響應為:

可見@RequestMapping也支持POST請求;

綜上:@RequestMapping既支持GET請求,也支持POST請求

注:并且,@RequestMapping是支持所有的方法,包括PUT,DELETE等等,

關于HTTP請求方法,可以查看本專欄HTTP請求首行一文,鏈接如下:

【JavaEE】_HTTP請求首行-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/m0_63299495/article/details/136115813

2.3.3 限制請求方法

如果服務器需要限制客戶端發送的請求的方法,也可以使用@RequestMapping注解method屬性進行限制;

現假設限定客戶端請求必須使用GET請求:

.java文件內容如下:

package com.example.demo.controller;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;@RequestMapping("/Hi")
@RestController
public class HelloController {@RequestMapping(value = "/sayHi",method = RequestMethod.GET)public String sayHi(){return "Hi, SpringBoot";}@RequestMapping("/sayHello")public String sayHello(){return "Hello ,SpringBoot";}
}

構造一個POST請求并發送:?

得到的響應為:

狀態碼為405,表示方法不允許;

關于響應狀態碼,可以查看本專欄HTTP響應一文,鏈接如下:

【JavaEE】_HTTP響應-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/m0_63299495/article/details/136141244注:對于@RequestMapping注解,如果沒有寫屬性名時,默認屬性為value/path,即路徑;

如果有多個屬性,則需加上屬性名;

后續將介紹Spring MVC項目關于請求與響應。

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

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

相關文章

如何開好一家汽車美容店,汽車美容保養與裝飾教學

一、教程描述 本套教程共由17張VCD組合而成,教程內容主要包括:美容店的設立和管理,汽車系統與內部結構,汽車美容工具與美容設備,美容用品的選擇與使用,車身打蠟鍍膜與內外清潔,車身拋光與漆面處…

Debezium發布歷史162

原文地址: https://debezium.io/blog/2023/09/22/debezium-2-4-cr1-released/ 歡迎關注留言,我是收集整理小能手,工具翻譯,僅供參考,筆芯筆芯. Debezium 2.4.0.CR1 Released September 22, 2023 by Chris Cranford r…

(介紹與使用)物聯網NodeMCUESP8266(ESP-12F)連接新版onenet mqtt協議實現上傳數據(溫濕度)和下發指令(控制LED燈)

前言 本文詳細介紹了如何利用物聯網技術,通過NodeMCU ESP8266(ESP-12F)模塊連接到新版的OneNet平臺,使用MQTT協議實現數據的上傳與指令的下發。文中首先對NodeMCU ESP8266模塊及其特性進行了簡介,隨后詳細闡述了如何配置和使用MQTT協議連接到OneNet平臺,實現溫濕度數據的…

Azkaban 大數據 任務調度

參考視頻:尚硅谷大數據Azkaban 3.x教程(全新發布)_嗶哩嗶哩_bilibili Azkaban: 是一個定時、批量工作流任務調度器(工作流程調度,定時調度) 常見的開源調度系統: 簡單單一的任務調度: Linux的…

嵌入式驅動學習第一周——Linux錯誤碼以及 IS_ERR、ERR_PTR、PTR_ERR

前言 本節來學習Linux錯誤碼,因為內核中的函數常常返回指針,如果出錯,也希望能夠通過返回的指針體現出來。 嵌入式驅動學習專欄將詳細記錄博主學習驅動的詳細過程,未來預計四個月將高強度更新本專欄,喜歡的可以關注本博…

【正點原子STM32】RNG硬件隨機數(隨機數發生器、真隨機和偽隨機、應用場景、RNG結構和原理、RNG相關寄存器和HAL庫驅動、RNG基本驅動步驟)

一、RNG簡介 二、RNG框圖介紹 三、RNG相關寄存器介紹 四、RNG相關HAL庫驅動介紹 五、RNG基本驅動步驟 六、編程實戰 七、總結 一、RNG簡介 隨機數發生器(RNG)在計算機科學和密碼學中具有廣泛的應用場景,包括但不限于以下幾個方面&#xff1a…

QML中動態表格修改數據

1.qml文件中的實現代碼 import QtQuick 2.15 import QtQuick.Window 2.15import QtQuick.Controls 2.0 import Qt.labs.qmlmodels 1.0 import QtQuick.Layouts 1.15Window {width: 640height: 480visible: truetitle: qsTr("Hello World")TableModel{id:table_model…

Python內置函數11——globals()、locals()

文章目錄 概要基礎用法 概要 globals()和locals()都是內置函數,用于獲取當前命名空間中的變量。 globals()函數返回全局命名空間的字典,包括全局變量、函數和模塊。它返回一個表示全局命名空間的字典。你可以使用該函數來查看和修改全局命名空間中的變量…

深入剖析k8s-控制器思想

引言 本文是《深入剖析Kubernetes》學習筆記——《深入剖析Kubernetes》 正文 控制器都遵循K8s的項目中一個通用的編排模式——控制循環 for {實際狀態 : 獲取集群中對象X的實際狀態期望狀態 : 獲取集群中對象X的期望狀態if 實際狀態 期望狀態 {// do nothing} else {執行…

buuctf misc做題筆記

喵喵喵 使用stegsolve.jar,按BGR順序提取出一個png圖片,是一個一半得二維碼,修改圖片高度后,解析出一個百度網盤地址,https://pan.baidu.com/s/1pLT2J4f 下載得到壓縮包flag.rar。解壓成功,但是報一個出錯…

4 在QEMU硬件模擬器中運行開源鴻蒙OpenHarmony4.1的操作系統,無需實體開發板

在QEMU硬件模擬器中運行開源鴻蒙OpenHarmony4.1的操作系統,無需實體開發板 作者將狼才鯨日期2024-03-01 先下載源碼和編譯程序: 查看 開源鴻蒙OpenHarmony4.1源碼下載、編譯,生成OHOS_Image可執行文件的最簡易流程 我準備在QEMU模擬器中運行…

LangChain---大型語言模型(LLM)的標準接口和編程框架

1.背景說明 公司在新的一年規劃中突然提出要搞生成式AI(GenAI)的相關東西,在公司分享的參考資料中了解到了一些相關的信息,之所以想到使用LangChain,是因為在應用中遇到了瓶頸問題,除了已經了解和研究過的OpenAI的ChatGpt&#xf…

藍橋杯Java B組歷年真題(2013年-2019年)

一、2013年真題 1、世紀末的星期 使用日期類判斷就行,這里使用LocalDate,也可以使用Calendar類 答案 2099 使用LocalDate import java.time.LocalDate; import java.time.format.DateTimeFormatter; // 1:無需package // 2: 類名必須Main, 不可修改p…

1小時網絡安全事件報告要求,持安零信任如何幫助用戶應急響應?

12月8日,國家網信辦起草發布了《網絡安全事件報告管理辦法(征求意見稿)》(以下簡稱“辦法”)。擬規定運營者在發生網絡安全事件時應當及時啟動應急預案進行處置。 1小時報告 按照《網絡安全事件分級指南》&#xff0c…

速盾:動態網站用cdn更慢嗎

當談到網站速度時,內容傳遞網絡(Content Delivery Network,CDN)是不可忽視的一個因素。很多人可能有疑惑,動態網站使用CDN是否會導致加載速度變慢。為了解決這個問題,我們需要了解動態網站和CDN的工作原理&…

mybatis動態加載mapper.xml

mybatis動態加載mapper.xml mybatis動態加載mapper.xml、springboot mybatis動態加載mapper.xml 教程連接:https://blog.csdn.net/weixin_44480167/article/details/136356398

測試linux系統某些文件屬性之test命令

要檢測系統上某些文件或相關屬性時,我們可以使用test命令,比如:檢查/root/ztj.txt文件是否存在,可以使用test -e /root/ztj.txt命令,不過執行結果不會顯示任何信息,需配合$?或&&及||來展現具體結果…

Find My掃地機器人|蘋果Find My技術與機器人結合,智能防丟,全球定位

掃地機器人又稱自動打掃機、智能吸塵、機器人吸塵器等,是智能家電的一種,能憑借人工智能,自動在房間內完成地板清理工作。一般采用刷掃和真空方式,將地面雜物先吸納進入自身的垃圾收納盒,從而完成地面清理的功能。現今…

[AutoSar]BSW_Com07 CAN報文接收流程的函數調用

目錄 關鍵詞平臺說明一、背景二、順序總覽三、函數說明3.1 Com_RxIndication() 關鍵詞 嵌入式、C語言、autosar、OS、BSW 平臺說明 項目ValueOSautosar OSautosar廠商vector ,芯片廠商TI 英飛凌編程語言C,C編譯器HighTec (GCC)…

貝葉斯定理與條件獨立假設:樸素貝葉斯分類方法深度解讀

今天給大家分享的是樸素貝葉斯算法,這個算法在實際使用中不是很多,因為現在很多算法已經發展的很好,性能上也比樸素貝葉斯算法的好很多,因此在實際中我們其實看到在實際應用中樸素貝葉斯算法的使用已經比較少,即使出現…