问题是这样的,写了一个springmvc的简单框架,然后写了REST来验证,
用的服务器是tomcat7, 验证get,put,delete都正常,但是令人无语的是,
发起Post请求的时候页面却报错了
为了保证能发现问题,下面我展出我的配置,前端请求以及后端
<filter>
<filter-name>HiddenHttpMethodFilter</filter-name>
<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>HiddenHttpMethodFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
前端请求界面
<form action="springmvc/testDELETE/1" method="post">
<input type="hidden" name="_method" value="DELETE"/>
<input type="submit" value="Test RESTDELETE"/>
</form>
<br><br>
<form action="springmvc/testPUT/1" method="post">
<input type="hidden" name="_method" value="PUT"/>
<input type="submit" value="Test RESTPUT"/>
</form>
<br><br>
<form action="springmvc/testPOST" method="post">
<input type="submit" value="Test RESTPOST"/>
</form>
<br><br>
<a RESTGET</a><!-- 默认是get请求 -->
后端代码
@RequestMapping(value="/testGET/{id}",method=RequestMethod.GET)//查询
public String testGET(@PathVariable("id")Integer id) {
System.out.println("testGET:"+id);
return "success";
}
@RequestMapping(value="/testPOST",method=RequestMethod.POST)//新增
public String testPOST() {
return "success";
}
@RequestMapping(value="/testPUT/{id}",method=RequestMethod.PUT)//修改
public String testPUT(@PathVariable("id")Integer id) {
System.out.println("testPUT:"+id);
return "success";
}
@RequestMapping(value="/testDELETE/{id}",method=RequestMethod.DELETE)//删除
public String testDELETE(@PathVariable("id")Integer id) {
System.out.println("testDELETE:"+id);
return "success";
}
后面重点说明,get,put,delete 在tomcat7服务器中均成功验证,只有post请求失败,
确认就是在点击发起post请求的时候出现的问题,也是本人纳闷的地方,为什么命名发起的post请求,却显示不支持get请求,
求问原因
```
```
当然不对了,你的post路径不对
谢谢找到问题了,是最后的转发文件的路径写的有问题,谢谢提醒
你的路径不对,你有个参数,后面没接收,路径不对
我的类上面也有一个@RequestMapping("/springmvc")的
自己写的mvc框架?
spring只有springmvc,哪有spring webmvc
用的是spring 里面的spring webmvc
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。