cari

Rumah  >  Soal Jawab  >  teks badan

java - SpringMVC:HTTP Status 405 - JSPs only permit GET POST or HEAD

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

membalas semua(3)saya akan balas

  • PHPz

    PHPz2017-04-17 17:47:45

    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

    balas
    0
  • PHP中文网

    PHP中文网2017-04-17 17:47:45

    Nyatakan nama servlet MVC

    & lt;

    <filter-name>HiddenHttpMethodFilter</filter-name>
    <servlet-name>mcpMvc</servlet-name>

    & lt;/File-mapping & gt;

    balas
    0
  • 巴扎黑

    巴扎黑2017-04-17 17:47:45

    Kaedah penyerahan borang anda ialah siaran, tetapi apabila mengkonfigurasi pemetaan, tetapkannya kepada RequestMethod.PUT. Semak untuk melihat sama ada ini masalahnya.

    balas
    0
  • Batalbalas