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。

推薦閱讀: