ssm项目 400错误(get可提交,post报400错误)

ssm项目 400错误

ssm整合的时候,提交form表单,使用get方式提交可以正常提交,使用post方式提交就提示400错误,原以为是参数问题,网上找了很多人的解决方法以及报错原因,还是没有解决,后来反复的审查代码尝试后发现web.xml中配置中文过滤器有问题,少配置了encoding属性。主要是中文乱码问题导致参数长度有变,不能正确封装,所以出现了400错误。

起因:我的sex属性在数据库中选择char类型长度是1,我在实体类中用Character做属性类型来封装sex属性。
问题:当使用post方式提交时,发现400错误,经过尝试发现改成get方式提交,可以正常封装。
尝试解决:经过反复审查代码,把数据库中sex字段改成了varchar(32),
实体类中的属性也使用String来接收sex。form表单再次使用post提交,发现封装成功,提交成功!如下:
在这里插入图片描述
尝试解决:此时可以清楚的发现中文乱码问题,于是我又去检查了代码配置,我发现中文过滤器漏写了encoding属性,加上encoding。这时候我又在想,能不能把sex重新改回char(1),实体类用Character接收sex。
在这里插入图片描述
解决:改回之后,form再次使用post请求提交,发现不会报400错误了,数据正常封装,正常提交。
在这里插入图片描述
经过这些,我发现是因为中文乱码问题导致参数长度发生变化,因而封装失败!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值