java - SpringMVC:HTTP Status 405 - JSPs only permit GET POST or HEAD
PHP中文网
PHP中文网 2017-04-17 17:45:45
0
3
839

跟着网上的视频敲示例代码,然后就报错了...
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>

新手求助,麻烦大神指点一二,问题出在哪了???

PHP中文网
PHP中文网

认证高级PHP讲师

membalas semua(3)
PHPzhong

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;

<filter-name>HiddenHttpMethodFilter</filter-name>
<servlet-name>mcpMvc</servlet-name>
& 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.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan