zoukankan      html  css  js  c++  java
  • SpringMVC method属性与http请求方法一致

    在springMVC中,@requestMapping注解有method属性,在没有指定method的值时,默认映射所有http请求方法,如果仅想接收一种请求方法,需用method=RequestMethod.GET

    或其他 请求方法指定,如果提交表单时form标签中method的请求方法与requestMapping中指定的不同,则会报错。如:

    表单如下:

    1. <form id="frLogin" name="frLogin" method="post"  action="./loginmvc/login">  
    2.     <table>  
    3.     <tr>  
    4.     <td>姓名</td>  
    5.     <td><input type="text" name="txtName" id="txtName"/></td>  
    6.     </tr>  
    7.      <tr>  
    8.     <td>姓名</td>  
    9.     <td><input type="password" name="pwd" id="pwd"/></td>  
    10.     </tr>  
    11.      <tr>  
    12.     <td align="right"><input type="submit" value="登录"/></td>  
    13.     <td><input type="reset" value="重填"/></td>  
    14.     </tr>  
    15.     </table>  
    16.   </form>  
    springmvc requestMapping 注解如下:

    1. @RequestMapping(value="/login",method=RequestMethod.GET)  
    2.     public String login(HttpServletRequest request,HttpServletResponse response){  
    3.         String strName=request.getParameter("txtName");  
    4.         String strPassword=request.getParameter("pwd");  
    5.         String sResult="loginError";  
    6.           
    7.         if(StringUtils.isBlank(strName)&&StringUtils.isBlank(strPassword)){  
    8.             sResult="loginOK";  
    9.         }  



    浏览器报错为:

    HTTP Status 405 - Request method 'POST' not supported


    type Status report

    message Request method 'POST' not supported

    description The specified HTTP method is not allowed for the requested resource.


    查network,请求体说明:


    因此在建立映射时,应当注意http请求方法与requestMapping注解一致,或者在注解中不再指定method,而是默认通过枚举自动映射所有http请求方法

    1. public enum RequestMethod {  
    2.   
    3.     GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACE  
    4.   
    5. }  
    1. RequestMethod[] method() default {};  




  • 相关阅读:
    表操作
    mysql表的完整性约束
    mysql支持的数据类型
    数据库存储引擎
    Navicat工具、pymysql模块、数据备份
    数据库一
    IO模型
    协成
    线程
    进程
  • 原文地址:https://www.cnblogs.com/jpfss/p/8757578.html
Copyright © 2011-2022 走看看