ssm項目 400錯誤(get可提交,post報400錯誤)

ssm項目 400錯誤

ssm整合的時候,提交form表單,使用get方式提交可以正常提交,使用post方式提交就提示400錯誤,原以爲是參數問題,網上找了很多人的解決方法以及報錯原因,還是沒有解決,後來反覆的審查代碼嘗試後發現web.xml中配置中文過濾器有問題,少配置了encoding屬性。主要是中文亂碼問題導致參數長度有變,不能正確封裝,所以出現了400錯誤。

起因:我的sex屬性在數據庫中選擇char類型長度是1,我在實體類中用Character做屬性類型來封裝sex屬性。
問題:當使用post方式提交時,發現400錯誤,經過嘗試發現改成get方式提交,可以正常封裝。
嘗試解決:經過反覆審查代碼,把數據庫中sex字段改成了varchar(32),
實體類中的屬性也使用String來接收sex。form表單再次使用post提交,發現封裝成功,提交成功!如下:
在這裏插入圖片描述
嘗試解決:此時可以清楚的發現中文亂碼問題,於是我又去檢查了代碼配置,我發現中文過濾器漏寫了encoding屬性,加上encoding。這時候我又在想,能不能把sex重新改回char(1),實體類用Character接收sex。
在這裏插入圖片描述
解決:改回之後,form再次使用post請求提交,發現不會報400錯誤了,數據正常封裝,正常提交。
在這裏插入圖片描述
經過這些,我發現是因爲中文亂碼問題導致參數長度發生變化,因而封裝失敗!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章