今天使用springMVC的数据验证的时候,看似很简单的东西,却有一个很大的陷阱:提交空表单的时候总是出现404错误,但是后台却不给你报任何错。遇到这个错误这个很苦恼,搞了几小时,今天记录并分享一下解决经验(本人使用注解式的数据验证):

  错误例子:

@RequestMapping(value="/login",method=RequestMethod.POST)
public String login(@Valid @ModelAttribute("contentModel") LoginModel lm,Model model,BindingResult result)
throws NoSuchAlgorithmException{
if(result.hasErrors())
return login(model);
return "login_ok";
}

  造成这个原因的因为我们随意放置下面login()方法的参数,springMVC的参数顺序应该是BindingResult必须跟随在自定义的模型之后,所应正确的做法是:

public String login(Model model,@Valid @ModelAttribute("contentModel") LoginModel lm,BindingResult result)
throws NoSuchAlgorithmException{
if(result.hasErrors())
return login(model);
return "login_ok";
}

  只要保持  @Valid @ModelAttribute("contentModel") LoginModel lm,BindingResult result  这个顺序,在他们前面加HttpServletRequest,HttpServletResponse都没问题。

  本人初学springMVC不久,欢迎大家指出错误。

springMVC数据验证出现404错误解决办法的更多相关文章

  1. springMVC实现REST开发详解(补充Json解析问题以及静态文件404错误解决办法)

    一.什么是REST? 符合REST约束风格和原则的应用程序或者设计就是REST 例如: /blog/1   HTTP GET    =>查询id=1的blog /blog/1   HTTP DE ...

  2. LNMP搭建后html访问正常php报404错误解决办法

    环境:CentOS7.7.3.10.0-1062.el7.x86_64.nginx1.16.1 .php7.3.10 问题:nginx能解析静态文件但是不能解析php动态文件,返回404文件未发现错误 ...

  3. jsp文件放在webcontent子目录下提交表单给servlet报404错误解决办法

    新版的web项目已经不需要配置web.xml了,并且eclipse neon版本里面新建web项目时候,默认不会生成web.xml文件.我们也不需要手动添加该文件,因为内部为我们提供了最新的处理方式, ...

  4. springmvc项目,浏览器报404错误的问题

    问题描述: 建立了web工程,配置pom.xml,web.xml,编写controller类,在spring-mvc-servlet.xml文件中指定开启注解和扫描的包位置<mvc:annota ...

  5. SpringMVC数据验证

    SpringMVC数据验证——第七章 注解式控制器的数据验证.类型转换及格式化——跟着开涛学SpringMVC 资源来自:http://jinnianshilongnian.iteye.com/blo ...

  6. win7 iis7.5 配置错误解决办法

    win7 iis7.5 配置HTTP 错误 404.3 在初次使用IIS7的时候经常遇到的一个错误解决办法1: 找到Visual Studio命令提示工具,运行aspnet_regiis.exe -i ...

  7. Android ROM开发(二)——ROM架构以及Updater-Script脚本分析,常见的Status错误解决办法

    Android ROM开发(二)--ROM架构以及Updater-Script脚本分析,常见的Status错误解决办法 怪自己二了,写好的不小心弄没了,现在只好重新写一些了,上篇简单的配置了一下环境, ...

  8. Linux 出现telnet: 127.0.0.1: Connection refused错误解决办法

    Linux 出现telnet: connect to address 127.0.0.1: Connection refused错误解决办法 没有xinetd服务: 1./etc/init.d目录中放 ...

  9. redis 安装 与错误解决办法

    redis 安装与安装中遇到的错误 redis 安装 wget http://download.redis.io/releases/redis-4.0.11.tar.gz .tar.gz cd red ...

随机推荐

  1. Linux下误删除后的恢复操作(ext3/ext4)

    Linux是作为一个多用户.多任务的操作系统,文件一旦被删除是难以恢复的.尽管删除命令只是在文件节点中作删除标记,并不真正清除文件内容,但是其他用户和一些有写盘动作的进程会很快覆盖这些数据.在日常工程 ...

  2. java.sql.preparedstatement和java.sql.statement的区别

    本文转自CSDN,然后整理了一遍.原文出处:CSDN JDBC(java database connectivity,java数据库连接)的api中的主要的四个类之一的java.sql.stateme ...

  3. Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例

    概要 上一章,我们学习了Collection的架构.这一章开始,我们对Collection的具体实现类进行讲解:首先,讲解List,而List中ArrayList又最为常用.因此,本章我们讲解Arra ...

  4. zepto笔记 001

    $(function(){}) 在页面加载完成后运行的方法 等于window.onload; $("#id"),$(this) 都和jquery一样, tap方法不能阻止事件冒泡, ...

  5. noi题库(noi.openjudge.cn) 1.9编程基础之顺序查找T01——T05

    T01 查找特定元素的值 描述 在一个序列(下标从1开始)中查找一个给定的值,输出第一次出现的位置. 输入 第一行包含一个正整数n,表示序列中元素个数.1 <= n <= 10000.第二 ...

  6. Chrome 监听 console 打开

    这个算是 Chrome only 其他的我没测试,也不想测试.因为我的控制台脚本仅仅在 Chrome 下加载. 如果你需要全平台,那么这肯定不是你需要的结果. 需求 其实我很早就想折腾这个了,但是,, ...

  7. web安全——应用(java)

    简介 由于网络技术日趋成熟,黑客们也将注意力从以往对网络服务器的攻击逐步转移到了对web应用的攻击.据最新调查,信息安全有75%都发生在web应用而非网络层面. 场景 控制访问的权限.只让可以访问的访 ...

  8. SQL Server output子句用法 output inserted.id 获取刚插入数据的id

    --插入数据,并返回刚刚插入的数据id INSERT INTO [soloreztest] ([name]) output inserted.id VALUES ('solorez') --执行结果: ...

  9. python3.4 build in functions from 官方文档 翻译中

    2. Built-in Functions https://docs.python.org/3.4/library/functions.html?highlight=file The Python i ...

  10. Beta版本冲刺Day2

    会议讨论 628:       和建平同学一起合作解决了如何获取勾选事件,将勾选的课程信息存入select表格中.但是当运行更新后的项目遇到了无法连接数据库的问题了,目前还在解决中. 因为碰到了这样的 ...