zoukankan      html  css  js  c++  java
  • SpringMVC 400 Bad Request 问题

    摘要
    SpringMVC 400 Bad Request

    在提交表单时,发生400错误,并未进入save方法。

    @RequestMapping(value="/!save",method = RequestMethod.POST)
        public String save(@ModelAttribute("user") @Valid UserEntity user,
          Locale local,
          BindingResult results){
            String message = messageSource.getMessage("name.not.empty"null, local);
            System.out.println(message);
            if(results.hasErrors())
                return "/user/add";
            return "redirect:/user/list";
        }

    经google后,发现大多是因为表单数据类型与model不匹配,造成。
    但是,经过一再减少model内容后,提交表单,问题依旧。
    终于在iteye论坛发现:springMVC参数顺序不同导致异常

    约定的BindingResult必须紧随@valid之后。    

    原来我这里的400是这个原因导致的。以下为正确顺序:

    @RequestMapping(value="/!save",method = RequestMethod.POST)
        public String save(@ModelAttribute("user") @Valid UserEntity user,
          BindingResult results,
          Locale local){
            String message = messageSource.getMessage("name.not.empty"null, local);
            System.out.println(message);
            if(results.hasErrors())
                return "/user/add";
            return "redirect:/user/list";
        }

    在解决问题之后,做一下总结:
    springmvc造成400错误的原因现在知道的有以下两点:

    1、提交表单数据类型与model不匹配
    2、方法参数顺序不正确

    还有别的场景吗?希望大家补充。

    原文地址:http://my.oschina.net/fqt520/blog/264261

  • 相关阅读:
    渗透测试靶场
    Ubuntu kylin优麒麟下配置Hadoop环境
    虚拟机win+IIs+asp+access搭建网站过程
    百度增强搜索
    渗透入门——术语概述
    api如何获取cookie
    还在纠结接口文档的事儿呢?
    为什么需要API管理平台
    自动生成接口文档的三种方式
    轻量化API测试工具整理
  • 原文地址:https://www.cnblogs.com/liuyandeng/p/5824031.html
Copyright © 2011-2022 走看看