Spring MVC響應數據

handler方法分析

/*** TODO: 一個controller的方法是控制層的一個處理器,我們稱為handler* TODO: handler需要使用@RequestMapping/@GetMapping系列,聲明路徑,在HandlerMapping中注冊,供DS查找!* TODO: handler作用總結:*       1.接收請求參數(param,json,pathVariable,共享域等) *       2.調用業務邏輯 *       3.響應前端數據(頁面(不講解模版頁面跳轉),json,轉發和重定向等)* TODO: handler如何處理呢*       1.接收參數: handler(形參列表: 主要的作用就是用來接收參數)*       2.調用業務: { 方法體  可以向后調用業務方法 service.xx() }*       3.響應數據: return 返回結果,可以快速響應前端數據*/
@GetMapping
public Object handler(簡化請求參數接收){調用業務方法返回的結果 (一般都是進行頁面跳轉,或者返回數據給客戶端(json))return 簡化響應前端數據;
}

頁面跳轉控制

開發模式

混合開發模式:指將前端和后端的代碼集成在同一個項目中,對于混合開發,我們就需要使用動態頁面技術,動態展示Java的共享域數據

前后端分離:前端的界面和后端的業務邏輯通過接口分離開發的一種方式,前端開發人員主要負責頁面的呈現和用戶交互,后端開發人員主要負責業務邏輯和數據存儲。前后端通信通過 API 接口完成,數據格式一般使用 JSON 或 XML。

jsp

JSP(JavaServer Pages)是一種動態網頁開發技術,可以在 HTML 文件中嵌入 Java 代碼。它允許將 Java 代碼嵌入到 HTML 頁面中,以便使用 Java 進行數據庫查詢、處理表單數據和生成 HTML 等動態內容。另外,JSP 還可以與 Servlet 結合使用,實現更加復雜的 Web 應用程序開發。

<!-- jsp需要依賴! jstl-->
<dependency><groupId>jakarta.servlet.jsp.jstl</groupId><artifactId>jakarta.servlet.jsp.jstl-api</artifactId><version>3.0.0</version>
</dependency>

建議位置:/WEB-INF/下,避免外部直接訪問!?


轉發和重定向

@RequestMapping("/redirect-demo")
public String redirectDemo() {// 重定向到 /demo 路徑 return "redirect:/demo";
}@RequestMapping("/forward-demo")
public String forwardDemo() {// 轉發到 /demo 路徑return "forward:/demo";
}//注意: 轉發和重定向到項目下資源路徑都是相同,都不需要添加項目根路徑!填寫項目下路徑即可!

注意:在springmvc下,如果是項目下的資源,轉發和重定向都一樣都是項目下路徑!都不需要添加項目根路徑!?

在非springmvc模式下,重定向需要添加項目根路徑

重定向可以連接到外部地址,但是轉發只能轉發項目內部地址

?返回json數據

準備

1/準備json依賴

<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.15.0</version>
</dependency>

2/配置json數據轉化器

json數據處理,必須使用此注解,因為他會加入json處理器

@ResponseBody

@ResponseBody 只直接返回字符串給前端,不要找視圖解析器

表示方法的返回值是要直接返回給客戶端的數據,而不是由視圖解析器來解析并渲染生成響應體

@RequestMapping(value = "/user/detail", method = RequestMethod.POST)
@ResponseBody
public User getUser(@RequestBody User userParam) {System.out.println("userParam = " + userParam);User user = new User();user.setAge(18);user.setName("John");//返回的對象,會使用jackson的序列化工具,轉成json返回給前端!return user;
}

添加@ResponseBody后,轉發和重定向就不生效了

@RestController

@RestController=@ResponseBody+@Controller?

返回靜態資源處理

靜態資源概念:本身就可以直接拿到瀏覽器上使用的程度了,不需要在服務器端做任何運算、處理。

資源本身已經是可以直接拿到瀏覽器上使用的程度了,**不需要在服務器端做任何運算、處理**。典型的靜態資源包括:

- 純HTML文件
- 圖片
- CSS文件
- JavaScript文件等

解決方法:

配置支持找不到handler時去查找有沒有對應的靜態資源

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

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

相關文章

基于圖像識別的醫學影像大數據診斷系統的設計與實現

標題:基于圖像識別的醫學影像大數據診斷系統的設計與實現 內容:1.摘要 隨著醫學影像技術的快速發展&#xff0c;醫學影像數據量呈爆炸式增長&#xff0c;傳統的人工診斷方式在處理海量數據時效率低下且容易出現誤差。本研究的目的是設計并實現一個基于圖像識別的醫學影像大數據…

Python散點圖(Scatter Plot):數據探索的“第一張圖表”

在數據可視化領域,散點圖是一種強大而靈活的工具,它能夠幫助我們直觀地理解和探索數據集中變量之間的關系。本文將深入探討散點圖的核心原理、應用場景以及如何使用Python進行高效繪制。 后續幾篇將介紹高級技巧、復雜應用場景。 Python散點圖(Scatter Plot):高階分析、散點…

【redis】在 Spring中操作 Redis

文章目錄 基礎設置依賴StringRedisTemplate庫的封裝 運行StringList刪庫 SetHashZset 基礎設置 依賴 需要選擇這個依賴 StringRedisTemplate // 后續 redis 測試的各種方法&#xff0c;都通過這個 Controller 提供的 http 接口來觸發 RestController public class MyC…

微服務》》Kubernetes (K8S) 集群 安裝

關閉交換空間 # 切換 超級管理員身份 # 查看交換空間 free -h # 關閉交換空間 swapoff -a避免開啟啟動交換空間 # 注釋swap開頭的行 vim /etc/fstab關閉防火墻 # 關閉防火墻 # 因為K8S 是集群形式存在的 至少三臺 一主二從 &#xff08;一個master 兩個node&#xff09…

HTTP和RPC的區別

RPC和 HTTP是兩種常見的通信方式&#xff0c;它們在設計目標、使用場景和技術實現上有顯著區別。以下是它們的詳細對比&#xff1a; 1. 定義與核心思想 特性RPCHTTPRemote Procedure Call遠程過程調用HyperText Transfer Protocol超文本傳輸協議定義一種協議或框架&#xff0…

MySQL 簡記

MySQL 簡記 mysql中的數據存儲的結構是B樹 其與B樹的相同點是&#xff0c;B樹一個節點也可以存放多條數據&#xff0c;并且從左到右依次增大&#xff1b;不同點是&#xff0c;B樹的葉子結點之間也能相互連接。那么實際上是采取利用空間換區時間的策略。 那么B樹的樹結構like…

十七、實戰開發 uni-app x 項目(仿京東)- 后端指南

前面我們已經用uniappx進行了前端實戰學習 一、實戰 開發uni-app x項目(仿京東)-規劃-CSDN博客 二、實戰 開發uni-app x項目(仿京東)-項目搭建-CSDN博客 三、實戰開發 uni-app x 項目(仿京東)- 技術選型-CSDN博客 四、實戰開發 uni-app x 項目(仿京東)- 頁面設計-C…

Infura 簡介

文章目錄 Infura 簡介Infura 的主要功能Infura 的替代方案&#xff08;類似服務&#xff09;AlchemyQuickNodeAnkrMoralisPocket Network 什么時候選擇 Infura&#xff1f; Infura 簡介 Infura 是一個 區塊鏈基礎設施即服務&#xff08;BaaS, Blockchain as a Service&#xf…

TouchSocket TcpService:構建高性能Tcp服務的終極利器

這里寫目錄標題 TouchSocket TCPService&#xff1a;構建高性能TCP服務的終極利器引言TCPService核心特性快速入門&#xff1a;5分鐘搭建TCP服務1. 創建基礎TCP服務2. 自定義插件處理數據 高級用法實戰1. 客戶端連接管理 性能與穩定性保障示例與源碼結語 TouchSocket TCPServic…

Android Fresco 框架緩存模塊源碼深度剖析(二)

一、引言 在 Android 應用開發中&#xff0c;圖片加載和處理是常見且重要的功能。頻繁的圖片加載不僅會消耗大量的網絡流量&#xff0c;還會影響應用的性能和響應速度。因此&#xff0c;有效的緩存機制對于提升圖片加載效率和用戶體驗至關重要。Fresco 是 Facebook 開源的一款…

springboot使用163發送自定義html格式的郵件

springboot使用163發送html格式的郵件 效果: 下面直接開始教學 注冊郵箱&#xff0c;生成授權碼 獲取163郵箱的授權碼&#xff0c;可以按照以下步驟操作&#xff1a; 登錄163郵箱 打開瀏覽器&#xff0c;訪問 163郵箱登錄頁面。 使用你的郵箱賬號和密碼登錄。進入郵箱設置 登…

【Kafka】深入了解Kafka

集群的成員關系 Kafka使用Zookeeper維護集群的成員信息。 每一個broker都有一個唯一的標識&#xff0c;這個標識可以在配置文件中指定&#xff0c;也可以自動生成。當broker在啟動時通過創建Zookeeper的臨時節點把自己的ID注冊到Zookeeper中。broker、控制器和其他一些動態系…

C#使用SnsPictureBox.dll繪制點,線段、圓、折線、多邊形、測量尺等多種圖形。

CSDN下載地址&#xff1a;https://download.csdn.net/download/sns1991sns/87726867 gitee下載地址:https://gitee.com/linsns/SnsPictrueBox 支持2種繪制方式&#xff1a;響應式和等待式。 一、使用響應式繪制圖形 1、在窗口構造函數里添加繪制圖形的完成響應函數 public…

Hugging Face預訓練GPT微調ChatGPT(微調入門!新手友好!)

Hugging Face預訓練GPT微調ChatGPT&#xff08;微調入門&#xff01;新手友好&#xff01;&#xff09; 在實戰中&#xff0c;?多數情況下都不需要從0開始訓練模型&#xff0c;?是使?“??”或者其他研究者開源的已經訓練好的?模型。 在各種?模型開源庫中&#xff0c;最…

Redis BitMap 用戶簽到

Redis Bitmap Bitmap&#xff08;位圖&#xff09;是 Redis 提供的一種用于處理二進制位&#xff08;bit&#xff09;的特殊數據結構&#xff0c;它基于 String 類型&#xff0c;每個 bit 代表一個布爾值&#xff08;0 或 1&#xff09;&#xff0c;可以用于存儲大規模的二值狀…

Spring Boot 3 新特性實戰:從理論到實踐

引言 Spring Boot 自發布以來&#xff0c;憑借其簡潔的配置和強大的功能&#xff0c;迅速成為 Java 開發者的首選框架。隨著 Spring Boot 3 的發布&#xff0c;開發者們迎來了更多令人興奮的新特性。本文將深入探討 Spring Boot 3 的新特性&#xff0c;并通過實戰示例展示如何…

Nodejs使用redis

框架&#xff1a;koa&#xff0c;通過koa-generator創建 redis: 本地搭建&#xff0c;使用默認帳號&#xff0c;安裝說明地址以及默認啟動設置&#xff1a;https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/install-redis-on-linux/ 中間件&#x…

調研報告:Hadoop 3.x Ozone 全景解析

Ozone 是 Hadoop 的分布式對象存儲系統,具有易擴展和冗余存儲的特點。 Ozone 不僅能存儲數十億個不同大小的對象,還支持在容器化環境(比如 Kubernetes)中運行。 Apache Spark、Hive 和 YARN 等應用無需任何修改即可使用 Ozone。Ozone 提供了 Java API、S3 接口和命令行接口…

AI學習——卷積神經網絡(CNN)入門

作為人類&#xff0c;我們天生擅長“看”東西&#xff1a;一眼就能認出貓狗、分辨紅綠燈、讀懂朋友的表情……但計算機的“眼睛”最初是一片空白。直到卷積神經網絡&#xff08;CNN&#xff09;?的出現&#xff0c;計算機才真正開始理解圖像。今天&#xff0c;我們就用最通俗的…

除自身以外數組的乘積——面試經典150題(力扣)

題目 給你一個整數數組 nums&#xff0c;返回 數組 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘積 。 題目數據 保證 數組 nums之中任意元素的全部前綴元素和后綴的乘積都在 32 位 整數范圍內。 請 不要使用除法&#xff0c;且在 O(n) 時…