springmvc使用REST出現:Request method 'PUT' not supported問題
使用REST出現:Request method 'PUT' not supported
在SpringMVC學習過程中,練習使用REST風格的進行簡單的CRUD的DEMO的時候,在執行Edit操作後出現瞭如下圖405的錯誤。在提交頁面的action中的請求前加上${pageContext.request.contextPath }
這類錯括 method(PUT,DELETE,POST)not supported,原因很有可能就是後臺中的uri(即handler類中)與前端 的uri不一致導致的。
發現這種錯誤如何進行修改?
解決辦法
將項目部署後,運行起來,鍵盤上按(F12)打開瀏覽器的開發者工具。當點擊edit並且進行修改操作後提交頁面,這個時候報錯。
可以利用開發者工具查看此時的連接地址:
步驟如下
點開網絡—-à看下面圖片①標註的位置(根據自己的情況)—–à再看②(可以看到,Request URL:http://localhost:8000/springmvc02/add3),記住它—->查看後端代碼RequestMaping映射的URL,是否一致
找到method為PUT,同時value="/emp"的url,而我這裡寫的是"/add3”,路徑不對當然就找不到頁面瞭,所以報錯瞭。
所以改為:
@RequestMapping(value="/add3",method=RequestMethod.PUT)即可。
@RequestMapping(value = "/emp",method= RequestMethod.PUT) public String updateEmp(Employee employee) { employeeDao.save(employee); return "redirect:/emps"; }
總而言之,解決這類的辦法就是看@RequestMapping(value="/url1",method=RequestMethod.method*)中的url與前端頁面中地址是否一致的問題。
根本原因還是對SpringMVC機制的原理理解不夠透徹,再去多理解理解,弄懂即可!!!
Request method 'PUT'/ 'POST' not supported之可能的一個原因
如下所示
我一直遇到下面這個錯誤,在網上查瞭很多原因,在服務器上測試也沒問題,但在本地就一直報錯。
沒想到是因為我沒有為項目設置application context,設置好就能正常訪問瞭。。
Request method 'PUT'/ 'POST' not supported
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- SpringMVC RESTFul實戰案例刪除功能實現
- SpringMVC RESTFul實現列表功能
- Java進階之走進RESTful接口
- SpringMVC 重新定向redirect請求中攜帶數據方式
- Spring Boot Rest常用框架註解詳情簡介