springmvc使用REST出现:Request method 'PUT' not supported问题

使用REST出现:Request method 'PUT' not supported

在SpringMVC学习过程中,练习使用REST风格的进行简单的CRUD的DEMO的时候,在执行Edit操作后出现了如下图405的错误。在提交页面的action中的请求前加上${pageContext.request.contextPath }

springmvc使用REST出现:Request method 'PUT' not supported问题_第1张图片

这类错括 method(PUT,DELETE,POST)not supported,原因很有可能就是后台中的uri(即handler类中)与前端 的uri不一致导致的。

发现这种错误如何进行修改?

解决办法

将项目部署后,运行起来,键盘上按(F12)打开浏览器的开发者工具。当点击edit并且进行修改操作后提交页面,这个时候报错。

可以利用开发者工具查看此时的连接地址:

步骤如下

点开网络----à看下面图片①标注的位置(根据自己的情况)-----à再看②(可以看到,Request URL:http://localhost:8000/springmvc02/add3),记住它---->查看后端代码RequestMaping映射的URL,是否一致

springmvc使用REST出现:Request method 'PUT' not supported问题_第2张图片

找到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

springmvc使用REST出现:Request method 'PUT' not supported问题_第3张图片

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(springmvc使用REST出现:Request method 'PUT' not supported问题)