跟着网上的视频敲示例代码,然后就报错了...
Web页面代码:
<!-- REST PUT -->
<form action="test/restPut/2" method="post">
<input type="hidden" name="_method" value="PUT"/>
<input type="submit" value="REST PUT" />
</form>
Controller代码:
@Controller
@RequestMapping("/test")
public class SpringRequestMapping
{
// 成员属性;
private final String SUCCESS = "success";
/**
* 功能描述:测试RESTful PUT;
* @param id
* @return
*/
@RequestMapping(value = "/restPut/{id}", method = RequestMethod.PUT)
public String restPut(@PathVariable("id") Integer id)
{
System.out.println("RESTful PUT:" + id);
return SUCCESS;
}
}
web.xml
<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>
新手求助,麻烦大神指点一二,问题出在哪了???
Antara muka /restPut/{id} yang anda tulis ialah antara muka gaya yang tenang, dan berdasarkan nama antara muka ini, ia adalah antara muka data Apa yang anda kembalikan dalam kaedah ini ialah halaman jsp, jadi spring fikir ia adalah berdasarkan kandungan yang dikembalikan. Antara muka halaman jsp, dan ia dengan jelas memberitahu anda bahawa antara muka jsp hanya boleh menggunakan kaedah dapatkan siaran dalam http.
Jika anda benar-benar mahu mengembalikan data, seperti data json, tambahkan @ResponseBody di bawah anotasi @RequestMapping, dan kemudian kembalikan SUCCESS menjadi kembali "{msg:"hello noob!"}"
Jika tidak, antara muka anda akan tidak digunakan Gunakan kaedah put, dan jangan namakannya
Nyatakan nama servlet MVC
& lt;
& lt;/File-mapping & gt;Kaedah penyerahan borang anda ialah siaran, tetapi apabila mengkonfigurasi pemetaan, tetapkannya kepada RequestMethod.PUT. Semak untuk melihat sama ada ini masalahnya.