SpringMVC报错 404:Bad request
来源:互联网 发布:秦九韶算法 求导数 编辑:程序博客网 时间:2024/05/16 07:32
SpringMVC报错 404:Bad request
出现这个错误一般是因为前台传入的值与后台实体类的值不匹配,比如说我的emp实体就是因为 date类型,Spring 不能自动封装出现这个问题;
当然,解决问题最快速的方法是不把属性是date的值直接封装,在后台另外获取后装换,再放入实体,但是这样比较麻烦,所以,可以直接定义全局的Date转换器;
下面是配置时间转换器的方法:
package com.base.utils; /** * 创建时间:* 项目名称:tra* @author hc * @version 1.0 * 文件名称:DateConverter.java * 类说明: 自定义日期转换器*/import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.List;import org.springframework.core.convert.converter.Converter;public class DateConverter implements Converter<String, Date> {private static final List<String> formarts = new ArrayList<String>(4);static{formarts.add("yyyy-MM");formarts.add("yyyy-MM-dd");formarts.add("yyyy-MM-dd hh:mm");formarts.add("yyyy-MM-dd hh:mm:ss");}public Date convert(String source) {String value = source.trim();if ("".equals(value)) {return null;}if(source.matches("^\\d{4}-\\d{1,2}$")){ return parseDate(source, formarts.get(0));}else if(source.matches("^\\d{4}-\\d{1,2}-\\d{1,2}$")){return parseDate(source, formarts.get(1));}else if(source.matches("^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}$")){return parseDate(source, formarts.get(2));}else if(source.matches("^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}:\\d{1,2}$")){return parseDate(source, formarts.get(3));}else {throw new IllegalArgumentException("Invalid boolean value '" + source + "'");}}/** * 功能描述:格式化日期 * * @param dateStr * String 字符型日期 * @param format * String 格式 * @return Date 日期 */public Date parseDate(String dateStr, String format) {Date date=null;try {DateFormat dateFormat = new SimpleDateFormat(format);date = (Date) dateFormat.parse(dateStr);} catch (Exception e) {}return date;}public static void main(String[] args) {System.err.println(new DateConverter().convert("2014-04"));}}配置一下spring mvc 配置文件
<!-- 自定义时间转换器 --> <bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean"> <property name="converters"> <list> <bean class="com.hansuo.base.utils.DateConverter"></bean> </list> </property> </bean> <!-- 注册转换器 --> <mvc:annotation-driven conversion-service="conversionService" /><!-- 自定义时间转换器 --> <bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean"> <property name="converters"> <list> <bean class="com.hansuo.base.utils.DateConverter"></bean> </list> </property> </bean> <!-- 注册转换器 --> <mvc:annotation-driven conversion-service="conversionService" />
网上我看了一些有关问题,看网友们还有一些其他原因导致这个错误的,特总结归纳了一下方便网友们参考:
(1)log4j的配置文件里错误将部分log打为Info级别所致
(2)传参数的时候,参数名使用了关键字“name”(我试了试,我的没报错正常)
(3)本来要返回json的却忘了加@RequestBody
(4)ajax请求的连接后边忘了加参数
(5)前台传参时参数的顺序与后台实体类的各个属性的顺序不一致(我试了试,我的顺序改变无影响)
(6)如果是传了非实体bean属性的参数过来也会发生这种情况
0 0
- SpringMVC报错 404:Bad request
- SpringMVC 404:Bad request
- springMVC报400 Bad Request错误
- SpringMVC string 转成Date 报错!!! 400 Bad Request,the request was sent.语法上...incorrect
- SpringMVC处理Date成员对象报400 Bad Request解决办法
- springmvc+jquery bad request
- post400报Bad Request
- SpringMVC 400 Bad Request 问题
- SpringMVC 400 Bad Request 问题
- SpringMVC 400 Bad Request 问题
- SpringMVC 400 Bad Request 问题
- SpringMVC 400 Bad Request 问题解决
- SpringMVC 400 Bad Request 问题
- SpringMvc 400 Bad Request解决方法
- SpringMVC Date Bad request 解决办法
- SpringMVC 400 Bad Request 问题
- HTTP/1.1 400 Bad Request 报错的处理办法
- jquery导出Excel报错:400 (Bad Request)
- HDU
- HDU 3966(树链剖分 + 区间更新 + 点查询)
- VS2008无法支持X64平台的解决办法 & VS解决方案管理注意事项
- Word oschina
- the cluster is down
- SpringMVC报错 404:Bad request
- Yii用户登录信息。获取用户ID
- iOS开发-缓存图片到沙盒--思路
- HorizontalListView源码解读之手写ListView
- 牛顿迭代matlab
- 解决Mac用Navicat连接Oracle数据库报ORA-21561: OID generation failed
- 深入理解Window、WindowManager
- Java学习----day8——(2)多线程入门篇
- Shadowsocks-Qt5 For Centos 7