Spring MVC 表单提交方式明明已经指明为post,为什么后台却进入了get方法里?

明悟 2013-12-17 04:47:31
在jsp页面的表单里我明明已经指明了表单提交的方式为POST:

<form id="actform" method=post action="activeEmail.do" >
<input type="hidden" id="email" name="email" value="${account.email}">
<input type="hidden" id="pwd" name="pwd" value="${account.pwd}">
</form>

为甚么后台却告诉我是GET方法?

[WARN ]?? 2013-12-17 16:39:53,510 method:org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver.handleHttpRequestMethodNotSupported(DefaultHandlerExceptionResolver.java:194)
Request method 'GET' not supported
...全文
69174 22 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
知彼解己 2016-02-20
  • 打赏
  • 举报
回复
路径映射少个下划线 /
xiaoerge11 2016-01-19
  • 打赏
  • 举报
回复
楼主是怎么解决的啊?
shiwang2005 2016-01-14
  • 打赏
  • 举报
回复
同样遇到了这个问题,受到上边的redirect之说启发,查了一下自身项目里的结构,发现有跨域访问存在:本地调试,提前加上了登录验证,登录却是去生产服务器的单点验证的,然后再跳转回来,这样method就被篡改了。果断注销登录验证,提交方式回归正常。 哎,有些东西还是不要太着急的好!
halking 2015-10-26
  • 打赏
  • 举报
回复
同样遇到这个问题 楼主是怎么解决的
蓝色的乌鸦 2015-10-09
  • 打赏
  • 举报
回复
同求,遇到了同样的问题,楼主是怎么解决的?除了redirect之外还有其他情况吗?
li295258993 2015-08-27
  • 打赏
  • 举报
回复
不好意思,我也遇到了这个问题,请问最后怎么解决的。
longxinwu88 2015-08-07
  • 打赏
  • 举报
回复
form 表单里面 写全路径 ,绝对是你的activeEmail.do 在项目里面有多个。。。
  • 打赏
  • 举报
回复
你控制器里面配置的地址是:user/activeEmail 你form表单里面的地址是:activeEmail.do 两个地址不一样啊
scmod 2015-08-06
  • 打赏
  • 举报
回复
额我还以为是post没加双引号的缘故...
yhy1987 2015-08-06
  • 打赏
  • 举报
回复
表示 也遇到这样的问题,难道post方法里不能redirect到get方法吗
scinewoo 2015-06-30
  • 打赏
  • 举报
回复
楼主,我和你遇到了一样的问题,重定向时自己跳转到get方法里去了。楼主逻辑哪里出了问题,怎么解决的?
  • 打赏
  • 举报
回复
逻辑有问题,哪里出了问题?
明悟 2013-12-18
  • 打赏
  • 举报
回复
debug了一下 找到原因了 进了这个方法 是这个方法里面的逻辑有问题,Redirect跳转到get方法里面去了
dyboy0822 2013-12-17
  • 打赏
  • 举报
回复
我在我项目的环境中测试是没有问题的 @RequestMapping(value = "/activeEmail", method = RequestMethod.POST) public String activeEmail(@RequestParam("email") String email, @RequestParam("pwd") String pwd) { return ""; } <form id="actform" method="post" action="<%=request.getContextPath()%>/ceaseSell/activeEmail.do" > <input type="text" id="email" name="email"> <input type="text" id="pwd" name="pwd"> <input type="submit" value="提交"> </form>
whos2002110 2013-12-17
  • 打赏
  • 举报
回复
<form id="actform" method="post" action="activeEmail" > 这样试下
明悟 2013-12-17
  • 打赏
  • 举报
回复
通过表单提交的啊
  • 打赏
  • 举报
回复
你是通过表单提交,还是直接url访问的?
明悟 2013-12-17
  • 打赏
  • 举报
回复
引用 4 楼 dyboy0822 的回复:
没进方法就是你页面表单的action里的XX.do定义错了 比如你控制器类声明了@RequestMapping("/baseInfoChange") 然后方法又声明了 @RequestMapping(value="/baseInfoChangeSave.do") 这时候你在页面form的action里要写成/baseInfoChange/baseInfoChangeSave.do
你没看清我的问题啊 我在jsp页面发送的是POST请求,在后台接收到的却是get请求 为什么会这样?
dyboy0822 2013-12-17
  • 打赏
  • 举报
回复
没进方法就是你页面表单的action里的XX.do定义错了 比如你控制器类声明了@RequestMapping("/baseInfoChange") 然后方法又声明了 @RequestMapping(value="/baseInfoChangeSave.do") 这时候你在页面form的action里要写成/baseInfoChange/baseInfoChangeSave.do
明悟 2013-12-17
  • 打赏
  • 举报
回复

@RequestMapping(value = "user/activeEmail", method = RequestMethod.POST)
    public String activeEmail(@RequestParam("email") String email,
            @RequestParam("pwd") String pwd,
            HttpSession session,RedirectAttributes model,
    		HttpServletRequest request) {
            .........
}
我都有在controller里面定义了相应的方法了,但是不知道怎么回事,没有进这个方法 因为我没有写相应的get方法,所以就报405错误了

HTTP Status 405 - Request method 'GET' not supported

type Status report

message Request method 'GET' not supported

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

Apache Tomcat/6.0.37
加载更多回复(2)

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧