Websphere,request最大参数限制,MAX_PARAM_PER_REQUEST

*

WebSphere与Tomcat 提交大数据的form表单 遇到的问题

 

1,遇到一次,struts2.1.8框架,websphere服务器,action传list集合到jsp页面显示,然后做了修改又从jsp页面传回给action,

数据有1.1万多条,提交时总是出错,如下图:

查找到RequestUtils.java所在的jar:/IBM/WebSphere/AppServer/plugins/com.ibm.ws.webcontainer.jar

反编发现,有限制每次request的最大参数是1万,MAX_PARAM_PER_REQUEST=10000;

确实如此,因为我提交了其他8个零散的参数,11600多条数据组成的list集合只传到了9992条,正好是1万条;

 解决办法一:

避免页面传大数据量;

解决办法二:

如果非要传,可以为websphere定制属性:(以下来自网上,测试可行)

1 在管理控制台中,单击服务器 > 服务器类型 > WebSphere 应用程序服务器 > server_name > Web 容器设置 > Web 容器。
2.在“其他属性”下面,选择定制属性。
3.在“定制属性”页面上,单击新建。
4.在设置页面上的
名称:com.ibm.ws.webcontainer.maxparamPerrequest(注意:这里都是小写,反编译jar可知)
值:-1   (-1代表无限大)
5.单击应用或确定。
6.单击控制台任务栏上的保存以保存配置更改。
7.重新启动服务器。

 

**

2,本地用Tomcat测试时,不报错,但是也是上传到后台9992条数据,后面的就取不到了,难道tomcat中也限制了?

是的,借用下网上的话(http://benni82.iteye.com/blog/846887)

tomcat知道自己处理不了了,什么也不干过去了

jett知道自己处理不了了,抛个IllegalStateException出来通知一下;

websphere知道自己处理不了,抛个IllegalArgumentException出来通知一下;

 

所以,才会有Tomcat虽然没取到数据,但是也不报错,

修改配置:(http://www.bubuko.com/infodetail-976418.html)

修改tomcat  conf/server.xml文件,添加:

<Connector executor="tomcatThreadPool"

port="9080"

protocol="HTTP/1.1"

maxParameterCount="-1"

connectionTimeout="20000"

URIEncoding="UTF-8" />

 

 

maxParameterCount="-1" 表示无限制

 

至此,完整解决了Websphere和tomcat遇到的form表单提交大数据量的问题;

*

转载于:https://www.cnblogs.com/qingmaple/p/4988541.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值