004 返回值處理

文章目錄

  • 不使用注解修飾
    • ModelAndView
    • void
    • String(推薦)
  • 使用注解修飾
    • ResponseBody注解
      • 常用的HttpMessageConverter

不使用注解修飾

ModelAndView

Controller方法中定義ModelAndView對象并返回,對象中可添加model數據、指定view。

void

在Controller方法形參上可以定義request和response,使用 request 或 response 指定響應結果:

void service(HttpServletRequest request,HttpServletResponse response){}

  • 1、使用request轉發向頁面,如下:
request.getRequestDispatcher("頁面路徑").forward(request, response);
  • 2、也可以通過response頁面重定向:
response.sendRedirect("url")
  • 3、也可以通過response指定響應結果,例如響應json數據如下:
response.setCharacterEncoding("utf-8");
response.setContentType("application/json;charset=utf-8");
response.getWriter().write("json串");

String(推薦)

  • 邏輯視圖名
return "item/item-list";
  • redirect重定向
return "redirect:testRedirect";

redirect:
相當于“ response.sendRedirect() ”
瀏覽器URL發生改變
Request域不能共享

  • forward轉發
return “forward:testForward";

forward:
相當于“ request.getRequestDispatcher().forward(request,response) ”
瀏覽器URL不發送改變
Request 域可以共享

使用注解修飾

ResponseBody注解

  • ResponseBody注解的作用:

一、ResponseBody注解可以針對Controller返回值類型,使用內置的9種HttpMessageConverter進行匹配,找到合適的HttpMessageConverter進行處理。
二、HttpMessageConverter處理邏輯分為三步:
(0、數據轉換,比如Java對象轉Json字符串)
1、指定HttpServletResponse的ContentType值。
2、將轉換之后的數據放到HttpServletResponse對象的響應體返回到頁面

  • @RequestBody注解的作用和@ResponseBody注解正好相反,它是處理請求參數的http消息轉換的。

常用的HttpMessageConverter

  • MappingJacksonHttpMessageConverter

作用:處理POJO類型返回值
默認使用MappingJackson的JSON處理能力,將后臺返回的Java對象(POJO類型),轉為JSON格式輸出到
頁面
將響應體的Content-Type設置為application/json;charset=utf-8
調用response.getWriter()方法將json格式的字符串寫回給調用者。

  • StringHttpMessageConverter

作用:處理String類型返回值
將響應體的Content-Type設置為text/plain;charset=utf-8
調用response.getWriter()方法將String類型的字符串寫回給調用者。

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

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

相關文章

關于linux服務器更改鏡像后連接不上vscode問題

問題樣子解決辦法直接看 問題樣子 問題描述:從centos換到ubantu后,xshell能直接連接上(沒有更改ssh配置信息),但是vscode連不上(配置文件因為端口號和ip是一樣的,也沒法改) 猜測…

基于支持向量機、孤立森林和LSTM自編碼器的機械狀態異常檢測(MATLAB R2021B)

異常檢測通常是根據已有的觀測數據建立正常行為模型,從而將不同機制下產生的遠離正常行為的數據劃分為異常類,進而實現對異常狀態的檢測。常用的異常檢測方法主要有:統計方法、信息度量方法、譜映射方法、聚類方法、近鄰方法和分類方法等。 …

Android仿今日頭條新聞(一)

新建一個側邊欄的文件,創建成功后直接運行。可以看到帶滑動的側邊欄功能如圖所示: 主體UI: 新聞UI的實現: 側邊欄: 更換一下顏色: 學習參考-浩宇開發

AI老照片生成視頻

地址:AI老照片 讓你的圖片動起來, 老照片修復與動態化

RK3568平臺(opencv篇)opencv處理圖像視頻

一.讀取圖像文件并展示 灰度圖像: 灰度圖需要用 8 位二進制來表示,取值范圍是 0-255。用 0 表示 0(黑色), 用 255 表示 1(白色),取值越大表示該點越亮。 RGB 彩色圖像:…

XPath 語法筆記

XPath 語法筆記 XPath 表達式運算符謂語(Predicates)1. 選擇所有本地名稱為特定名稱的元素2. 選擇具有特定屬性的元素3. 選擇屬性值不等于特定值的元素4. 選擇元素內容中包含特定字符串的節點5. 選擇元素內容中不包含特定字符串的節點6. 選擇特定命名空間…

一臺docker機器如何實現構建多平臺鏡像

1.實現方式 想在 x86_64/amd64 的一臺機器平臺上,構建適用于多個平臺的鏡像,例如 linux/amd64、linux/arm64,根據官方文檔,有三種方法可以使用: QEMU ??使用 QEMU 模擬構建多平臺映像是最簡單的入門方法&#xff0c…

前端面試題13(API請求方法)

在前端JavaScript中,進行API請求主要可以通過幾種方式來實現,最常見的是使用XMLHttpRequest(較舊的方法)、fetch(現代瀏覽器推薦方法)以及使用第三方庫如axios或jQuery.ajax等。 1. XMLHttpRequest 這是最…

仙人掌中的SNMP檢測不到服務器

登錄有問題的服務器1.檢測snmp localhost:~ # ps -ef|grep snmp root 55180 1 0 08:37 ? 00:00:08 /usr/sbin/snmpd -r -A -LF n /var/log/net-snmpd.log -p /var/run/snmpd.pid root 58436 53989 0 09:44 pts/0 00:00:00 grep --colorauto snmp2.檢測…

linux 編譯perf 工具

centos7下編譯步驟: wget https://mirrors.edge.kernel.org/pub/linux/kernel/v3.x/linux-3.10.tar.gz tar -xf linux-3.10.tar.gz cd linux-3.10/tools/ yum install -y flex bison python2-devel make perf ./perf/perf top -d 1…

昇思第10天

RNN實現情感分類 二分類問題:Positive和Negative兩類 步驟: 1.加載IMDB數據集 2.加載預訓練詞向量:預訓練詞向量是對輸入單詞的數值化表示,通過nn.Embedding層,采用查表的方式,輸入單詞對應詞表中的index,…

【算法專題】模擬算法題

模擬算法題往往不涉及復雜的數據結構或算法,而是側重于對特定情景的代碼實現,關鍵在于理解題目所描述的情境,并能夠將其轉化為代碼邏輯。所以我們在處理這種類型的題目時,最好要現在演草紙上把情況理清楚,再動手編寫代…

FreeRTOS——隊列集

一、隊列集 一個隊列只允許任務間傳遞的消息為 同一種數據類型 ,如果需要在任務間 傳遞不同數據類型的消息 時,那么就可以使用隊列集 作用:用于對多個隊列或信號量進行“監聽”(接收或獲取),其中 不管哪一…

js 使用 lodash-es 檢測某個值是否是函數

import { isFunction } from lodash-eslet isA isFunction(() > {}) console.log(isA) //true https://www.lodashjs.com/docs/lodash.isFunction#_isfunctionvalue https://lodash.com/docs/4.17.15#isFunction 人工智能學習網站 https://chat.xutongbao.top

Spring框架配置進階_自動裝配(XML和注解)

Spring配置進階 Spring 容器提供配置元數據有三種方式 XML配置文件。基于注解的配置。基于java的配置。 一、自動裝配 應用程序上下文為你找出依賴項的過程,Spring會在上下文中自動查找,并自動給bean裝配與其關聯的屬性 Spring中實現自動裝配的方式有兩種: XML文…

26-ARM常用匯編指令

匯編格式: label:instruction comment label:標號instruction:具體匯編指令comment:注釋內容 常用段名: .text:代碼段.data:初始化的數據段.bss:未初始化的數據段.ro…

Spring Boot+Vue項目從零入手

Spring BootVue項目從零入手 一、前期準備 在搭建spring bootvue項目前,我們首先要準備好開發環境,所需相關環境和軟件如下: 1、node.js 檢測安裝成功的方法:node -v 2、vue 檢測安裝成功的方法:vue -V 3、Visu…

JSP WEB開發(一) JSP語言基礎

目錄 JSP JSP簡介: JSP頁面 JSP運行原理 JSP腳本元素 JAVA程序片 局部變量 全局變量和方法的聲明 全局變量 方法的聲明 程序片執行特點 synchronized關鍵字 表達式 JSP指令標記 page指令 include指令 JSP動作標記 JSP動作元素include和include指令的…

Docker在人工智能領域的應用與實戰

摘要 人工智能(AI)技術的快速發展帶來了對高效開發和部署工具的需求。Docker作為一個創新的容器化平臺,為AI領域提供了強大的支持。本文詳細介紹了Docker在AI模型開發、訓練、部署以及服務器集群管理等方面的應用,并探討了其在數…

AcWing 1550:完全二叉搜索樹

【題目來源】https://www.acwing.com/problem/content/1552/【題目描述】二叉搜索樹 (BST) 遞歸定義為具有以下屬性的二叉樹: (1)若它的左子樹不空,則左子樹上所有結點的值均小于它的根結點的值 (2)若它的右…