Websphere web应用程序服务器上post数据的最大大小是否有限制?

Websphere web应用程序服务器上post数据的最大大小是否有限制?,websphere,application-server,Websphere,Application Server,在我的web应用程序中,有一个表单可以包含大量数据(这取决于以前查询的结果)。当表单达到一定大小时,servlet无法处理,并引发异常。似乎是第一次尝试获取请求参数导致了问题 我曾尝试在测试服务器上重现该问题,但即使数据大小大于生产服务器上的数据大小,也不会出现问题 因此,我现在想知道是否有一个服务器设置限制了可以在请求中传递的数据的大小。我只能假设这两台服务器的配置方式有所不同 应用服务器是WebSphere7。我用IE9、current FF和current Chrome尝试了这个应用程序—

在我的web应用程序中,有一个表单可以包含大量数据(这取决于以前查询的结果)。当表单达到一定大小时,servlet无法处理,并引发异常。似乎是第一次尝试获取请求参数导致了问题

我曾尝试在测试服务器上重现该问题,但即使数据大小大于生产服务器上的数据大小,也不会出现问题

因此,我现在想知道是否有一个服务器设置限制了可以在请求中传递的数据的大小。我只能假设这两台服务器的配置方式有所不同

应用服务器是WebSphere7。我用IE9、current FF和current Chrome尝试了这个应用程序——所有这些都产生了相同的结果

例外是

java.lang.IllegalArgumentException
com.ibm.wsspi.webcontainer.util.RequestUtils.parseQueryString 196
com.ibm.ws.webcontainer.servlet.RequestUtils.parsePostData 356
com.ibm.ws.webcontainer.srt.SRTServletRequest.parseParameters 2051
com.ibm.ws.webcontainer.srt.SRTServletRequest.getParameter 1651
com.acme.Servlet.getNDC 126
com.acme.Servlet.doPost 96
javax.servlet.http.HttpServlet.service 738
javax.servlet.http.HttpServlet.service 831
com.ibm.ws.webcontainer.servlet.ServletWrapper.service 1658
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest 940
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest 503
com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest 181
com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest 91
com.ibm.ws.webcontainer.WebContainer.handleRequest 875
com.ibm.ws.webcontainer.WSWebContainer.handleRequest 1592
com.ibm.ws.webcontainer.channel.WCChannelLink.ready 186
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination 453
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest 515
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest 306
com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete 83
com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted 165
com.ibm.io.async.AbstractAsyncFuture.invokeCallback 217
com.ibm.io.async.AsyncChannelFuture.fireCompletionActions 161
com.ibm.io.async.AsyncFuture.completed 138
com.ibm.io.async.ResultHandler.complete 204
com.ibm.io.async.ResultHandler.runEventProcessingLoop 775
com.ibm.io.async.ResultHandler$2.run 905
com.ibm.ws.util.ThreadPool$Worker.run 1646
代码

protected String getNDC(HttpServletRequest request)
{
    String user = request.getHeader("iv-user");
    if (user == null)
        user = "";
    HttpSession session = request.getSession(false);
    String sessionString = session == null ? "" : session.getId();
    String action = request.getParameter(Constant.ACTION);   <=== ERROR HERE
    if(action == null)
        action = "";
    ....
受保护字符串getNDC(HttpServletRequest)
{
字符串user=request.getHeader(“iv user”);
if(user==null)
用户=”;
HttpSession session=request.getSession(false);
字符串sessionString=session==null?”:session.getId();

String action=request.getParameter(Constant.action);POST数据大小可能受HTTP通道配置中的设置限制:

如果WAS前面有Web服务器,则还应检查插件配置中的
PostSizeLimit
属性:


似乎存在一个限制-至少在Websphere App Server中是这样

我看过你的问题描述。你是对的,是7号 入站请求中允许的最大参数数,但 这个数字非常高,在GET和POST请求中都是10000 不希望限制可包含在中的参数数量 您必须设置“com.ibm.ws.webcontainer.maxParamPerRequest”的请求 webcontainer自定义属性设置为-1,有关详细信息,请参阅“Web容器” 自定义属性“-