SpringMVC使用REST时: HTTP Status 405 - JSPs only permit GET POST or HEAD问题的解决办法。

关于这个问题网上主要有四种方法:
1.IsErrorPage:在要转向的jsp页面添加errorPage属性,但感觉不科学;
2.@ResponseBody:在两个负责处理Delete请求和put请求的controller头部添加@ResponseBody,但只能显示除return的值,无法转发;
3.使用7.0的tomcat:麻烦,且没有从根本解决问题;
4.Redirect(重定向):最有效的方法,步骤如下:

  1. 添加一个控制器名为tosuccess,返回类型为string,RequestMapping value值为"/tosuccess"不要添加包名,否则404,return “success”;
 @RequestMapping(value = "/tosuccess")
 public String toSuccess() {
  return "success";
 }
  1. 在处理Delete请求 和 Put请求的控制器,返回值改为“redirect:/tosuccess” ;
 @RequestMapping(value = "springmvc/TestDelete/{id}",method=RequestMethod.DELETE)
 public String TestDelete(@PathVariable ("id") int id) {
  System.out.println(id+"TestDelete");
  return "redirect:/tosuccess";
 }
 @RequestMapping(value = "springmvc/TestPut/{id}",method=RequestMethod.PUT)
 public String TestPut(@PathVariable ("id") int id) {
  System.out.println(id+"TestPut");
  return "redirect:/tosuccess";
 }
  1. Over!

你可能感兴趣的:(SpringMVC使用REST时: HTTP Status 405 - JSPs only permit GET POST or HEAD问题的解决办法。)