springmvc 使用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机制的原理理解不够透彻,再去多理解理解,弄懂即可!!!

你可能感兴趣的:(SSM框架)