SpringMVC下,提交表单报400错:
- description The request sent by the client was syntactically incorrect.
根据网上的总结,可能是因为如下几个问题引起的
1.参数指定问题
如果Controller中定义了参数,而表单内却没有定义该字段
- @SuppressWarnings("deprecation")
- @RequestMapping("/hello.do")
- public String hello(HttpServletRequest request,HttpServletResponse response,
- @RequestParam(value="userName") String user
- ){
- request.setAttribute("user", user);
- return "hello";
- }
这里,表单内必须提供一个userName的属性!
不想指定的话,你也可以定义这个属性的默认值defaultValue="":
- @SuppressWarnings("deprecation")
- @RequestMapping("/hello.do")
- public String hello(HttpServletRequest request,HttpServletResponse response,
- @RequestParam(value="userName",defaultValue="佚名") String user
- ){
- request.setAttribute("user", user);
- return "hello";
- }
也可以指定该参数是非必须的required=false:
- @SuppressWarnings("deprecation")
- @RequestMapping("/hello.do")
- public String hello(HttpServletRequest request,HttpServletResponse response,
- @RequestParam(value="userName",required=false) String user
- ){
- request.setAttribute("user", user);
- return "hello";
- }
2.上传问题
上传文件大小超出了Spring上传的限制
- <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
- <!-- 设置上传文件的最大尺寸1024字节=1K,这里是10K -->
- <property name="maxUploadSize">
- <value>10240</value>
- </property>
- <property name="defaultEncoding">
- <value>UTF-8</value>
- </property>
- </bean>
我们工程里面是这个问题引起的,但是我实际示例中发现超过大小是直接报错的。
3.时间转换问题
也有网友说是因为时间转换引起的,而我实际操作中发现报错是:
- The server encountered an internal error that prevented it from fulfilling this request
这里也顺便提一下,假如你的Controller要一个时间对象,代码如下:
- @SuppressWarnings("deprecation")
- @RequestMapping("/hello.do")
- public String hello(HttpServletRequest request,HttpServletResponse response,
- @RequestParam(value="userName",defaultValue="佚名") String user,
- Date dateTest
- ){
- request.setAttribute("user", user);
- System.out.println(dateTest.toLocaleString());
- return "hello";
- }
而网页上实际给的是
- <input type="text" name="dateTest" value="2015-06-07">
这里需要在Controller增加一个转换器
- @InitBinder
- public void initBinder(WebDataBinder binder) {
- SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
- dateFormat.setLenient(false);
- binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false));
- }
http://cuisuqiang.iteye.com/blog/2054234
1、提交表单数据类型与model不匹配
2、方法参数顺序不正确
3.Article的属性和你的form提交中的数据类型不 匹配
4 对象类型与model类型不一致
5 model类型不能为private,应为protected/public
相关推荐
如果传输的是多层嵌套json对象,这个时候会就会出现数据丢失问题 @ResponseBody很好的解决了这个问题,它会把前台传输过来的json转化为后台对应的对象
2.请求头中正确设置了Content-Type参数及参数值,但是在项目jar依赖中(pom.xml或build.gradle)没有添加处理json字符串的处理类
NULL 博文链接:https://bijian1013.iteye.com/blog/2310240
今天小编就为大家分享快速解决SpringMVC @RequestBody 用map接收请求参数的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
SpringMVC提供了多种方式来获取请求参数,包括通过ServletAPI、控制器方法的形参、@RequestParam、@RequestHeader、@CookieValue等方式。 五、域对象共享数据 SpringMVC提供了多种方式来共享数据,包括使用...
主要介绍了如何在springMVC的controller中获取request,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
springmvc是常用的一种框架,学习springmvc非常重要,故需要良好教程资料
模拟了基本前端与后端交互JSon数据,使用了Java语言+Maven+SpringMVC+Ajax @RequestBody+Json传输完成基本数据交互
6、SpringMvc 的控制器是不是单例模式,如果是,有什么问题,怎么解决? 7、如果你也用过 struts2.简单介绍下 springMVC 和 struts2 的区别有哪些? 8、SpingMvc 中的控制器的注解一般用那个,有没有别的注解可以替代? 9...
NULL 博文链接:https://qq466862016.iteye.com/blog/1773207
Spring和SpringMVC面试问题总结 1.Spring中AOP的应用场景、Aop原理、好处? 2.Spring中IOC的作用与原理?对象创建的过程。 3.介绍spring框架 4.Spring常见创建对象的注解? 5.Spring中用到的设计模式 6.Spring的优点...
传智 springmvc mybatis 燕青 笔记 教案 springmvc部分
springmvc 笔记
springmvc基础 包含代码+知识点+详细解释 1. 什么是springmvc? 2. springmvc框架原理 前端控制器、处理器映射器、处理器适配器、视图解析器 3. springmvc入门程序 目的:对前端控制器、处理器映射器、处理器...
SpringMVC访问静态资源SpringMVC访问静态资源SpringMVC访问静态资源
SpringMvc
SpringMVC 实例
SpringMVC 提供了多种参数传递方式,包括 Request、Model、Session 等。这些参数传递方式可以帮助开发者更方便地传递数据。 五、SpringMVC 标签介绍 SpringMVC 提供了多种标签,例如 input 标签、checkbox 标签、...
springmvc 环境搭建 demo springmvc 环境搭建 demo springmvc 环境搭建 demo springmvc 环境搭建 demo springmvc 环境搭建 demo springmvc 环境搭建 demo springmvc 环境搭建 demo springmvc 环境搭建 demo ...
开发步骤①导入SpringMVC相关坐标②配置SpringMVC核心控制器DispathcerServlet③创建Controller类和视图页面④使用注解配置Controller类中业务方法的映射地址⑤配置SpringMVC核心文件 spring-mvc.xml⑥客户端发起...