SpringMVC 404:Bad request
出現這個錯誤的原因一般最常見的就是後臺的實體類bean與前臺穿過的型別不匹配,我的就是,因為的javabean中有定義了Date型別和int型別的成員變數,導致轉化器在把json資料轉化成bean時不能轉化,其實如果用JSONObject.toBean方法轉化時,這種情況也會報錯的。
1、我的解決辦法就是把實體類的javabean裡邊的型別都改成string型別了,在配置SQL語句時用資料庫函式to_date或者to_number轉化的,如果再java中用到這個字串型別的日期的話,有必要的話,就用For format=new SimpleDateFormat("yyyy-MM-dd"),format.parse()來轉換。
2、其實還可以在實體類中定義Date和int型別對應的字串型別成員變數,這樣前臺的表單中field或者name與之對應上即可,這樣也成功轉成實體類了,不過轉成之後,得在java中把它字串型別的轉成對應的Date或者int型別賦給相應的成員變數即可。
3、在就是還有一種方法就是在對應的實體類的對應的非字串型別的變數的setter方法中傳入string型別的,然後在裡邊用SimpleDateFormat或者Integer進行轉化。
4、最後還有一種方法,就是實體類的日期屬性上加@DateTimeFormat(pattern="yyyy-MM-dd")註解,大部分是可以成功使用的。如果這種方法不可用的話,你看繼續嘗試如下方法:不過這個前提是前臺穿過的日期為json形式而非字串形式,如前臺類似$("#id").val()來獲取日期直接傳給後臺的話是不行的,你需要在前臺引入JSON官網的json.js庫或者引入jQuery的jquery.json-2.4.js庫,然後如果是前者的話就new Date(stringDate).parseJSON()來轉化再傳給後臺,如果是後者的話,$.toJSON(new Date(stringdate))來傳給後臺,這種方式比較麻煩,有網友留言特意討論了一下這個問題,所以建議採用第一種方式。
如果你有更好的更優秀的方式解決這種問題,還請您手下留情,留下您的寶貴意見,以使大家共同的學習和成長。
網上我看了一些有關問題,看網友們還有一些其他原因導致這個錯誤的,特總結歸納了一下方便網友們參考:
(1)log4j的配置檔案裡錯誤將部分log打為Info級別所致
(2)傳引數的時候,引數名使用了關鍵字“name”(我試了試,我的沒報錯正常)
(3)本來要返回json的卻忘了加@RequestBody
(4)ajax請求的連線後邊忘了加引數
(5)前臺傳參時引數的順序與後臺實體類的各個屬性的順序不一致(我試了試,我的順序改變無影響)
(6)如果是傳了非實體bean屬性的引數過來也會發生這種情況
相關文章
- HTTP Status 400 – Bad RequestHTTP
- nginx: 400 Bad Request | The plain HTTP request was sent to HTTPS portNginxAIHTTP
- Error parsing HTTP request header--400 bad requestErrorHTTPHeader
- 400 Bad Request(錯誤請求)
- 設定Ruby報錯bad response Not Found 404
- Spring Mvc Http 400 Bad Request問題排查SpringMVCHTTP
- springMVC下前端ajax報404錯誤SpringMVC前端
- Excel為批註設定圖片背景 出現Bad Request - Request Too longExcel
- springmvc 獲取當前請求的 原生request/responseSpringMVC
- 在SpringMVC中獲取request物件的幾種方式SpringMVC物件
- Unable to download data from https://gems.ruby-china.org/ - bad response Not Found 404HTTP
- SpringMVC(3)-request域和session域的作用和區別SpringMVCSession
- springMVC資料驗證出現404錯誤解決辦法SpringMVC
- nginx過一段時間出現400 Bad Request 錯誤的解決方法Nginx
- Bad Habits
- 非常牛叉的樓主,自己的問題其實就是答案--用springmvc上傳檔案時報The current request is not a multipart request異常SpringMVC
- SpringMVC中servletFileUpload.parseRequest(request)解析為空獲取不到資料問題SpringMVCServlet
- nginx配置404Nginx
- 關於idea使用SpringMVC框架訪問WEB-INF中的檔案出現404報錯IdeaSpringMVC框架Web
- 查詢bad sqlSQL
- FND_REQUEST.SUBMIT_REQUEST和 FND_CONCURRENT.WAIT_FOR_REQUESTMITAI
- 修改網站404,網站404頁面定製方法網站
- HTTP狀態 404~~~~HTTP
- Request物件物件
- 關於FND_REQUEST.SUBMIT_REQUEST和 FND_CONCURRENT.WAIT_FOR_REQUESTMITAI
- 【等待事件】global cache cr request/gc current request事件GC
- request.getRequestURI 與request.getServletPath() 區別Servlet
- linux檔案系統問題:wrong fs type, bad option, bad superblockLinuxBloC
- Ubuntu插入行動硬碟後提示Wrong fs type,bad option,bad superblock on /devUbuntu硬碟BloCdev
- 【SpringMVC】SpringMVC搭建框架SpringMVC框架
- 好看的404頁面html原始碼 網站404原始碼分享HTML原始碼網站
- laravel 路由404問題Laravel路由
- .woff HTTP GET 404 (Not Found)HTTP
- Git Fork Pull Request(PR)和Merge Request(MR)Git
- ABAP 辨析ON INPUT|REQUEST|CHAIN-INPUT|CHAIN-REQUESTAI
- Django中的request.GET和request.POSTDjango
- urllib.request.Request物件封裝請求物件封裝
- [MV] - You Give REST a Bad NameREST