這篇文章帶給大家的內容是關於Spring MVC無法正常取得參數的值的解決方法(附程式碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
最近在開發時遇到一個非常奇怪的問題,在tomcat8中使用Spring MVC框架,在Controller中的方法參數無法正常取得到對應的值,將tomcat版本換成7.0就解決了。
記錄下列解決過程,先上圖:
#
##專案採用ssm架構,這裡取得不到參數password的值,在網路上查詢相關資料,得到以下幾個解決方法,但都沒有什麼效果:1.使用@RequestParam註解給password參數加上了RequestParam註解後,調試依然無法取得到password的值,將required的值改為true,直接報錯了,錯誤的意思就是缺少password參數,可是明明傳了參數的啊,為什麼還說缺少參數呢,難道是沒能夠辨識到我傳的參數?這時候考慮到可能是傳參方式的問題。更改了一下傳參方式,將password的值附加到url後面,就像GET請求那樣傳參。果然是這個原因,參數的值能夠接收到了。不過使用這種傳參方式,不加RequestParam註解也能夠接收到參數的值。雖然這種方法能夠接收接收到參數的值了,但我無法忍受POST的這種傳參方式,於是接著尋找下一個方法##以這種方式修改好了代碼,再次重啟tomcat,使用Postman調用,然後再次報了一個異常:
org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/x-www-form-urlencoded' not supported
異常的大概意思是不支援content type為application/x-www-form-urlencoded這種類型,一般透過表單提交的資料預設就是這種類型,猜測可能是RequestBody註解的原因,於是又換了一種傳參方式:使用JSON格式傳遞資料
#
使用這種傳參方式,果然能夠接收參數的值了,不過接收參數的方式和傳參方式都變得複雜了。這個專案是我從公司拷回家繼續寫的,在公司的時候調試一切正常,回家就不行了,百思不得其解,同樣的程式碼,改都沒改過,為什麼回到家就出問題了呢?既然程式碼都是一樣的,運行結果不一樣,那就只能說明運行的環境改變了。那麼到底是哪裡的環境不一樣呢?出了這種問題,首先考慮資料庫的結構,不過家裡電腦資料庫版本和公司電腦是一致的,而且資料都是從公司直接拷回來的,所以直接排除資料庫的原因,更何況這是在Controller中接收不到參數,還沒到存取資料庫的那一步,就更不可能與資料庫有關係了,所以直接排除資料庫的原因。由於專案是由maven建置的,相關的jar包都是maven自動去下載的,於是懷疑會不會是maven自動下載下來的jar包有問題,然後把本地倉庫的jar包全部刪除,讓maven從新去下載,就這樣重複了幾次,問題依然存在,不得已只好暫時排除maven的原因。最後實在想不到其他的原因了,便開始懷疑tomcat的原因,公司tomcat是7.0版本的,家裡的tomcat是8.0版本的,雖然兩個tomcat版本不一致,不過並沒有下意識就覺得一定是tomcat版本的原因,畢竟潛意識裡認為8.0一定是7.0之後功能的升級。雖然這樣想,但還是抱著死馬當活馬醫的心態去測試,在tomcat官網下載7.0版本的壓縮包,然後配好相應的環境,用postman調用,結果就是這麼意外,參數值獲取到了? ! ! !還真是tomcat版的原因?這感覺也太坑了吧。 。 。 。看來盲目的追求高版本並不是好事【相關推薦:Java教學】
以上是Spring MVC不能正常取得參數的值的解決方法(附程式碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文討論了使用Maven和Gradle進行Java項目管理,構建自動化和依賴性解決方案,以比較其方法和優化策略。

本文使用Maven和Gradle之類的工具討論了具有適當的版本控制和依賴關係管理的自定義Java庫(JAR文件)的創建和使用。

本文討論了使用咖啡因和Guava緩存在Java中實施多層緩存以提高應用程序性能。它涵蓋設置,集成和績效優勢,以及配置和驅逐政策管理最佳PRA

本文討論了使用JPA進行對象相關映射,並具有高級功能,例如緩存和懶惰加載。它涵蓋了設置,實體映射和優化性能的最佳實踐,同時突出潛在的陷阱。[159個字符]

Java的類上載涉及使用帶有引導,擴展程序和應用程序類負載器的分層系統加載,鏈接和初始化類。父代授權模型確保首先加載核心類別,從而影響自定義類LOA


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3漢化版
中文版,非常好用

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

Dreamweaver Mac版
視覺化網頁開發工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。