博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringMVC method属性与http请求方法一致
阅读量:6473 次
发布时间:2019-06-23

本文共 2134 字,大约阅读时间需要 7 分钟。

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

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

表单如下:

[html]
  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 注解如下:

[java]
  1.   
 
[java]
  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.         }  
@RequestMapping(value="/login",method=RequestMethod.GET)    public String login(HttpServletRequest request,HttpServletResponse response){        String strName=request.getParameter("txtName");        String strPassword=request.getParameter("pwd");        String sResult="loginError";                if(StringUtils.isBlank(strName)&&StringUtils.isBlank(strPassword)){            sResult="loginOK";        }
 浏览器报错为: 

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请求方法

[java]
  1. public enum RequestMethod {  
  2.   
  3.     GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACE  
  4.   
  5. }  
public enum RequestMethod {    GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACE}
[java]
  1. RequestMethod[] method() default {};  
RequestMethod[] method() default {};
你可能感兴趣的文章
最全最新个税计算公式---今天你税了吗?
查看>>
linux shell 正则表达式(BREs,EREs,PREs)差异比较(转,当作资料查)
查看>>
MongoDB--CSharp Driver Quickstart .
查看>>
#pragma mark 添加分割线 及 其它类似标记 - 转
查看>>
遗传算法实现自动组卷、随机抽题 (转)
查看>>
二分法求平方根(Python实现)
查看>>
使用startActivityForResult方法(转)
查看>>
so在genymotation中错误问题
查看>>
Visual Studio 原生开发的10个调试技巧(二)
查看>>
U3D版本《暗黑世界V1.0》编译——图文教程!
查看>>
系统广播 android.intent.action.KILL_BACKGROUND_SERVICE
查看>>
C语言获取系统当前时间转化成时间字符串
查看>>
安卓第七天笔记--网络编程一
查看>>
zendstudio中加入对tpl文件的支持,用HTML Editor编辑器编辑
查看>>
快乐的JS正则表达式(二)
查看>>
xml-apis-ext.jar
查看>>
ArcGIS教程:编辑特征
查看>>
使用logrotate管理nginx日志文件
查看>>
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver解决方式
查看>>
iOS 疑难杂症 — — 在 Storyboard 里 Add Size Class Customization 后再从代码里无法修改的问题...
查看>>