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

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

répondre à tous(3)
PHPzhong

L'interface /restPut/{id} que vous avez écrite est une interface de style reposant, et à en juger par le nom de cette interface, c'est une interface de données. Ce que vous retournez dans cette méthode est une page jsp, donc Spring pense que c'est le cas. basé sur le contenu renvoyé. Une interface de page jsp, et cela vous indique clairement que l'interface jsp ne peut utiliser que la méthode get post en http.

Si vous souhaitez vraiment renvoyer des données, telles que des données json, ajoutez @ResponseBody sous l'annotation @RequestMapping, puis return SUCCESS devient return "{msg:"hello noob!"}"
Sinon, votre interface le fera ne pas être utilisé Utilisez la méthode put et ne nommez pas la méthode put

洪涛

Spécifiez le nom du servlet de mvc

<filtrage-mapping>

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

</filter-mapping>

巴扎黑

La méthode de soumission de votre formulaire est la publication, mais lors de la configuration du mappage, définissez-la sur RequestMethod.PUT. Vérifiez si c'est là le problème.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal