【SSM面向CRUD編程專欄 5】使用SpringMVC進行數據響應以及獲取請求數據

🛫更多ssm知識見SSM_面向CRUD編程專欄

🚕本博客總結自黑馬程序員的ssm框架視頻

🚒博主對于該知識尚在學習階段

🚄如果發現存在問題請毫不吝嗇的指出

🚀🚀扎哇太棗糕的博客主頁🚀🚀

目錄

1 SpringMVC的數據響應

?2 SpringMVC獲取請求數據


1 SpringMVC的數據響應

響應方式之頁面跳轉

🔴返回字符串

請求轉發(不加的話默認是請求轉發):forward:前綴表示是請求轉發,具體表現為地址不會變。是服務器跳轉,相當于方法調用,在執行當前文件的過程中轉向執行目標文件,一共就一個請求對象

請求重定向:redirect:前綴表示是請求重定向,具體表現為地址跳轉。是客戶端跳轉,相當于客戶端向服務端發送請求之后,服務器返回一個響應,客戶端接收到響應之后又向服務端發送一次請求,一共是2次請求

?🔴返回ModelAndView對象

????????可以通過ModelAndView對象和Model對象向request域中存放數據,并使用${}的形式取出數據

返回ModelAndView對象的三種方式

方式一:自己創建ModelAndView對象并返回

?方式二:傳參ModelAndView對象(SpringMVC創建)并返回

方式三:?傳參Model對象(SpringMVC創建)并返回字符串

響應方式之回寫數據? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

🔴直接返回普通字符串

加@ResponseBody注解,表示這里是返回字符串而不是進行頁面跳轉

🔴返回一個JSON字符串

第一步:新建一個User類封裝數據

第二步:導入相關依賴(三個的版本號要一樣),導依賴就要將依賴添加到目錄lib千萬別忘了

?第三步:使用轉換工具將對象轉換成JSON字符串并返回?

優化:使用xml文件配置SpringMVC的處理器適配器HandlerAdapter,設置消息轉換器,也就是說設置之后不用創建JSON轉換器,只要return一個對象就可以將其轉換成JSON字符串。

?靠這個set方法在xml文件進行數據注入,設置消息轉換器

配置好了之后直接return對象就能返回一個JSON字符串?

當然,以黑馬這個視頻主講老師的講解風格,這波可以說又是經典白學,因為這么多配置都可以使用一個標簽代替

?2 SpringMVC獲取請求數據

????????客戶端請求參數的格式是:name:value&name=value……有的時候服務器要想獲得請求的參數還需要對數據進行封裝,SpringMVC就可以接收一下類型的數據:基本數據類型、POJO類型的數據、數組類型的數據、集合類型的數據

基本類型數據

????????當Controller中業務方法的參數名請求參數的鍵一致時,參數會進行自動映射匹配,也就是說將該請求消息與這個方法相匹配。

POJO類型參數

????????當Controller中業務方法的參數類里的封裝屬性名(更準確應該說是set方法名去掉set)與請求參數的鍵一致時,參數會進行自動映射匹配,也就是說將該請求消息與這個方法相匹配。

數組類型參數

????????當Controller中業務方法的參數數組名請求參數的鍵一致時,參數會進行自動映射匹配。

集合類型參數

? ? ? ? 要想獲得集合參數的話,要將集合參數包裝到一個POJO類型數據中才可以實現。當POJO類參數里的封裝屬性(也就是一個集合)與請求參數的集合名(也就是form表單里行的值)一致時,會將form表單與業務方法進行匹配。

請求數據亂碼的問題

? ? ? ? 當使用POST請求的時候,數據會出現亂碼問題,我們可以使用一個全局過濾器來進行編碼的過濾。

在web.xml文件中配置全局過濾器?

配置之后的結果就不亂碼了

集合型還有一種直接使用集合不再使用POJO進行封裝

第一步:在wabapp下創建一個js文件夾并導入jquery-2.2.3.min.js文件?

第二步:開放資源,使js目錄下的jquery-2.2.3.min.js文件可以被訪問到,下面運行時說到這一次的集合請求參數一共有三次訪問,如果不開放資源的話第二次訪問會被打斷,以至于無法進行第三次訪問導致失敗

上面的標簽配置是指定jsp目錄下的所有文件,有限定,下面的這個標簽配置的是所有的靜態資源,而無需指定是哪個文件夾,實際開發中使用的更多。

第三步:在jsp文件夾下創建一個jsp頁面,使用Ajax進行發送一個集合數據

?第四步:創建業務方法傳list集合參數,并在參數前加@RequestBody注解

?第五步:maven depoly并運行訪問ajax.jsp

? ?

參數綁定

@RequestParam:在方法參數定義前使用,將參數與注解定義的字符串綁定到一起,在發送請求時對注解字符串的賦值就是對參數的賦值。

獲取Restful風格參數

? ? ? ? Restful就是一種架構風格或者說是設計風格,而不是一套標準,主要就是提供了一組設計原則和約束條件。Restful風格的請求就是使用“url + 請求方式”便是以此請求的目的,HTTP協議里表示操作方式的四個詞分別是:GET獲取資源、POST新建資源、PUT更新資源、DELECT刪除資源。

參數獲取

自定義類型轉換器

第一步:定義一個轉換器類實現Convert接口?

第二步:聲明轉換器并在<annotation-driven>中引用轉換器?

獲取請求頭信息

? ? ? ? 眾所周知,http請求包括:請求行、請求頭、消息實體。那么,在MVC中如何獲得請求頭信息的呢?@RequestHeader注解和@CookieValue

文件上傳并轉存

? ? ? ? 當form表單修改為多部分表單時,即設置enctype="mulipart/form-data",用來獲取url編碼方式提交信息的API將無法再繼續使用,比如說request.getParameter()。url編碼方式即是設置enctype="application/x-www-form-urlencoded",此時會使用鍵值對的方式傳參。

第一步:導入相關坐標

第二步:配置文件上傳解析器?第三步:文件上傳的代碼

?第四步:編寫相應的jsp頁面,提交的數據名要與上傳方法的參數名相一致

???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

上一篇:【SSM面向CRUD編程專欄 4】 Spring集成web環境 SpringMVC初識

下一篇:【SSM面向CRUD編程專欄 6】springMVC攔截器、異常處理 jdbcTemplate

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

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

相關文章

【SSM面向CRUD編程專欄 6】springMVC攔截器、異常處理 jdbcTemplate

&#x1f6eb;更多ssm知識見SSM_面向CRUD編程專欄 &#x1f695;本博客總結自黑馬程序員的ssm框架視頻 &#x1f692;博主對于該知識尚在學習階段 &#x1f684;如果發現存在問題請毫不吝嗇的指出 &#x1f680;&#x1f680;扎哇太棗糕的博客主頁&#x1f680;&#x1f680; 目…

【SSM面向CRUD編程專欄 7】springAop 事務控制

&#x1f6eb;更多ssm知識見SSM_面向CRUD編程專欄 &#x1f695;本博客總結自黑馬程序員的ssm框架視頻 &#x1f692;博主對于該知識尚在學習階段 &#x1f684;如果發現存在問題請毫不吝嗇的指出 &#x1f680;&#x1f680;扎哇太棗糕的博客主頁&#x1f680;&#x1f680; 目…

【SSM面向CRUD編程專欄 8】一篇博客快速上手使用MyBatis進行CRUD

&#x1f6eb;更多ssm知識見SSM_面向CRUD編程專欄 &#x1f695;本博客總結自黑馬程序員的ssm框架視頻 &#x1f692;博主對于該知識尚在學習階段 &#x1f684;如果發現存在問題請毫不吝嗇的指出 &#x1f680;&#x1f680;扎哇太棗糕的博客主頁&#x1f680;&#x1f680; 目…

【SSM面向CRUD編程專欄 9】SSM框架整合

&#x1f6eb;更多ssm知識見SSM_面向CRUD編程專欄 &#x1f695;本博客總結自黑馬程序員的ssm框架視頻 &#x1f692;博主對于該知識尚在學習階段 &#x1f684;如果發現存在問題請毫不吝嗇的指出 &#x1f680;&#x1f680;扎哇太棗糕的博客主頁&#x1f680;&#x1f680; 目…

三萬字速通SSM框架入門知識點,快速上手CRUD

&#x1f6eb;更多ssm知識見SSM_面向CRUD編程專欄 &#x1f695;本博客總結自黑馬程序員的ssm框架視頻 &#x1f692;博主對于該知識尚在學習階段 &#x1f684;如果發現存在問題請毫不吝嗇的指出 &#x1f680;&#x1f680;扎哇太棗糕的博客主頁&#x1f680;&#x1f680; 目…

無法在web.xml或使用此應用程序部署的jar文件中解析絕對uri:[http://java.sun.com/jsp/jstl/core]

問題簡介 本人是在進行一個ssm框架項目的編寫的時候&#xff0c;在數據庫中查詢到所有的商品信息并返回到頁面使用EL表達式進行展現&#xff0c;但是使用tomcat 9.0.58運行的時候報錯會出現以下報錯情況。 頁面報錯&#xff1a; 控制臺報錯&#xff1a; 解決方法 首先看看是不…

check the manual that corresponds to your MySQL server version for the right syntax to use near

首先判斷自己是在什么情況下報的錯&#xff0c;如果是MyBatis的SQL報錯的話&#xff0c;建議直接點擊目錄跳轉到MyBatis時SQL報錯&#xff0c;避免浪費時間。如果本文能夠對你有所幫助的話&#xff0c;還請在評論區多多支持 目錄 &#x1f37b;運行SQL語句、SQL文件等報錯 &…

MyBatis的逆向工程工具,自動生成數據庫對應的POJO實體類、mapper接口、增刪改查mapper.xml文件

下載MyBatis的逆向工程工具&#xff0c;并解壓縮到一個不包含中文字符的文件夾下&#xff0c;我直接放到了D盤下&#xff0c;下載地址&#xff1a;MyBatis逆向工程工具下載 如何使用MyBatis的逆向工程工具 下載之后使用idea在一個新窗口中打開&#xff0c;選中工具文件之后&am…

『收藏向 期末SSM課設救急』 教你從搭建到測試運行手擼一個SSM項目實戰,附帶源碼,前端頁面、解析和一般遇到的問題(排雷)

&#x1f6eb;ssm知識學習見SSM_面向CRUD編程專欄 &#x1f695;本項目來自動力節點的【米米商城】 &#x1f692;博主對于該知識尚在學習階段 &#x1f684;如果發現存在問題請毫不吝嗇的指出 &#x1f680;&#x1f680;扎哇太棗糕的博客主頁&#x1f680;&#x1f680; 項目…

【SpringBoot 2】(一)基礎知識了解學習

&#x1f6eb;更多知識總結見SpringBoot 2專欄 &#x1f695;本篇知識點總結自尚硅谷雷神的視頻 &#x1f692;博主對于該知識尚在學習階段 &#x1f684;如果發現存在問題請毫不吝嗇的指出 &#x1f680;&#x1f680;扎哇太棗糕的博客主頁&#x1f680;&#x1f680; ? 目錄…

【SpringBoot 2】(二)快速入門案例HelloWorld

&#x1f6eb;更多知識總結見SpringBoot 2專欄 ( &#x1f695;本篇知識點總結自尚硅谷雷神的視頻 &#x1f692;博主對于該知識尚在學習階段 &#x1f684;如果發現存在問題請毫不吝嗇的指出 &#x1f680;&#x1f680;扎哇太棗糕的博客主頁&#x1f680;&#x1f680; ? 目…

【SpringBoot 2】(三)SpringBoot相較于Spring的特點

&#x1f6eb;更多知識總結見SpringBoot 2專欄 &#x1f695;本篇知識點總結自尚硅谷雷神的視頻 &#x1f692;博主對于該知識尚在學習階段 &#x1f684;如果發現存在問題請毫不吝嗇的指出 &#x1f680;&#x1f680;扎哇太棗糕的博客主頁&#x1f680;&#x1f680; ? 目錄…

井通swtc能不能漲到2元_買一支2塊到3塊之間的股票,買幾十萬股嗎?這樣操作效果怎么樣?...

有很多新股民有一種看法&#xff0c;認為高價股風險很大&#xff0c;那么可不可以買2到3元的低價股&#xff0c;是不是風險就很小&#xff0c;以后上漲的力度就會很大&#xff1f;這是很多股民都存在的一個誤區&#xff0c;也是很多股市的所謂高手的誤導&#xff0c;他們說&…

cad應用程序的組件中發生了未經處理的異常_什么是CAD/CAM?

與許多其他行業一樣&#xff0c;牙科技術的生產階段也越來越自動化。由于牙科實驗室工作的價格已成為治療計劃和治療的主要因素&#xff0c;因此自動化可以在西歐和美國等高薪地區實現更具競爭力的生產。現在&#xff0c;計算機技術的進步使高性價比的單件生產成為可能。近年來…

【SpringBoot 2】(四)詳析SpringBoot的常用注解

&#x1f6eb;更多知識總結見SpringBoot 2專欄 &#x1f695;本篇知識點總結自尚硅谷雷神的視頻 &#x1f692;博主對于該知識尚在學習階段 &#x1f684;如果發現存在問題請毫不吝嗇的指出 &#x1f680;&#x1f680;扎哇太棗糕的博客首頁&#x1f680;&#x1f680; 目錄 向…

蘋果7手機嚴重卡頓_蘋果手機僅配備4GB運存都不會卡頓,安卓系統為何要更多內存?...

原標題&#xff1a;蘋果手機僅配備4GB運存都不會卡頓&#xff0c;安卓系統為何要更多內存&#xff1f;眾所周知&#xff0c;安卓系統歷經十余年的發展&#xff0c;目前最低的運行需求是8GB內存&#xff0c;如果是旗艦機的話還要標配12GB或更高。但是前幾天剛發布的iPhone12&…

python調用窗口找到文件,使用Python在Mac OS X中查找當前活動窗口

Is there a way to find the application name of the current active window at a given time on Mac OS X using Python?解決方案This should work:#!/usr/bin/pythonfrom AppKit import NSWorkspaceactiveAppName NSWorkspace.sharedWorkspace().activeApplication()[NSAp…

IntelliJ IDEA自動生成自定義的類注釋和方法注釋

目錄 自定義的類注釋 自定義方法注釋 實現效果&#xff1a;不用手寫即可自動生成如下圖的類上注釋和方法上的注釋&#xff0c;我們只需要填寫方法注釋的參數和返回值文字描述即可&#xff0c;大大節省了代碼開發的時間提高代碼開發效率。 &#x1f315; 自定義的類注釋 Fil…

violinplot如何看懂_一張圖告訴你如何看懂個股大趨勢

昨日在T0交易利好消息的影響下&#xff0c;券商股全線大幅高開&#xff0c;帶動三大指數高開走高&#xff0c;科技題材股全線活躍&#xff0c;兩市量能明顯放大&#xff0c;形成量價齊升的良性態勢&#xff0c;上證沖上2917&#xff0c;收在2915&#xff0c;創業板大漲3%以上&a…

jz指令是什么意思_S7-200 SMART 運動控制指令詳解-電氣阿偉帶小白啟程

大家好&#xff0c;我是工控阿偉&#xff0c;今天又跟大家見面了。學習需要堅持&#xff0c;需要鉆研&#xff0c;做技術亦是如此&#xff0c;厚積才能博發。阿偉寫程序都是自己測試使用過的&#xff0c;需要的可以借鑒&#xff0c;避免走彎路。S7-200 smart 運動控制指令由編程…