Tomcat服务项目,POST请求方式,前端有参数,后台接收不到前端参数值

吐槽吐槽:生产环境突然冒出个打开表单错误,去浅浅的排查下,排查复现不出问题原因,就直接后台处理数据了,事那么多,CPU都要干爆了,谁有空去慢慢查。结果好景不长,过两天又冒出来,就很无语。正好闲的发慌,想去看看是什么妖魔鬼怪,岂敢打扰我摸鱼的快乐!

前言:我的是Tomcat应用,今天遇到个POST请求前端参数正常,后端参数消失不见了?最后排查结果是:

post请求参数大于Tomcat所设置的最大POST请求限制,导致后端接收不到前端传入的参数,最后系统异常报错!

Tomcat默认的最大POST请求参数是2M,但是我的请求参数已经6M左右了,导致功能异常,最后设置更改了最大POST请求参数,问题也解决了,特此记录下这次美好的相遇!!!

希望下次再见,你我不再陌生!!!

处理结果看最后————————

一个小时过去了…………

测试环境复现不出问题所在,一脸懵逼…………

两个小时过去了…………

连接生产,断点排查,卧槽,前端有参数进来,但是到后端,参数不见了???

@RequestMapping("complete")
	public void complete(HttpServletRequest request, HttpServletResponse response) throws Exception {
        String taskId = RequestUtil.getString(request, "taskId");
		String actionName = RequestUtil.getString(request, "actionName");
		String opinion = RequestUtil.getString(request, "opinion");
		String data = RequestUtil.getString(request, "data", false);


}

问题排查中………………

找到可疑对象,前端显示content-Length长度6529831,折合6.2M左右

那么这个长度大小有什么影响呢?

长度大于服务器POST请求参数大小的设置,会导致异常报错,,然而我这是后台接收不到前端参数(具体原理找度娘)

怎么解决呢?

更改POST请求体最大限制

怎么更改呢?

在Tomcat的conf文件夹中找到server.xml文件中找到Connector标签,添加maxPostSize="10485760" 属性,这是设置POST请求体最大设置,这里的单位是字节,我这里设置的是10M=10485760B,设置好之后,重启服务,再次测试,完成!

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               maxParameterCount="1000"
               maxPostSize="10485760"
               />

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值