Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java NestedRuntimeException:无法分析请求的POST参数_Java_Jsp_Exception_Post - Fatal编程技术网

Java NestedRuntimeException:无法分析请求的POST参数

Java NestedRuntimeException:无法分析请求的POST参数,java,jsp,exception,post,Java,Jsp,Exception,Post,作为应用程序的一部分,我们有一个JSP页面(父页面),在其中我们调用另一个JSP页面(子页面),子页面的所有参数都已分配给父页面的表单,然后尝试提交该页面 在提交时,我们在前端收到以下错误 在后端,我们得到以下错误 (II) Application server Error log <Error> <HTTP> <BEA-101019> <[ServletContext(id=29607640,name=test,c onte

作为应用程序的一部分,我们有一个JSP页面(父页面),在其中我们调用另一个JSP页面(子页面),子页面的所有参数都已分配给父页面的表单,然后尝试提交该页面

在提交时,我们在前端收到以下错误

在后端,我们得到以下错误

    (II) Application server Error log

     <Error> <HTTP> <BEA-101019> <[ServletContext(id=29607640,name=test,c
    ontext-path=/Test)] Servlet failed with IOException
    java.net.SocketTimeoutException: Read timed out
            at java.net.SocketInputStream.socketRead0(Native Method)
            at java.net.SocketInputStream.read(SocketInputStream.java:129)
            at weblogic.servlet.internal.PostInputStream.read(PostInputStream.java:170)
            at weblogic.servlet.internal.ServletInputStreamImpl$1.read(ServletInputStreamImpl.java:115)
            at weblogic.servlet.internal.ServletInputStreamImpl.read(ServletInputStreamImpl.java:180)
            at weblogic.servlet.internal.ServletRequestImpl.mergePostParams(ServletRequestImpl.java:1339
    )
            at weblogic.servlet.internal.ServletRequestImpl.parseQueryParams(ServletRequestImpl.java:120
    6)
            at weblogic.servlet.internal.ServletRequestImpl.getParameter(ServletRequestImpl.java:1409)
            at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:446)
            at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
            at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletC
    ontext.java:7047)
            at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
            at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
            at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:39
    02)
            at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2773)
            at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
            at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
    **--------------- nested within: ------------------
    weblogic.utils.NestedRuntimeException: Cannot parse POST parameters of request: '/Test/test1.jsp
    ' - with nested exception:
    [java.net.SocketTimeoutException: Read timed out]** 

            at weblogic.servlet.internal.ServletRequestImpl.mergePostParams(ServletRequestImpl.java:1364
    )
            at weblogic.servlet.internal.ServletRequestImpl.parseQueryParams(ServletRequestImpl.java:120
    6)
            at weblogic.servlet.internal.ServletRequestImpl.getParameter(ServletRequestImpl.java:1409)
            at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:446)
            at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
            at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletC
    ontext.java:7047)
            at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
            at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
            at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:39
    02)
            at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2773)
            at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
            at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
(II)应用程序服务器错误日志

您收到了SocketTimeoutException,因此您的帖子可能有问题。例如,您可能没有发送足够字节的数据,或者您可能没有在完成连接后关闭连接-基本上,它坐在那里等待更多信息,直到最终超时


请您发布一些JSP代码,特别是在您创建和运行帖子的地方,以便我们提供更好的反馈。

非常感谢您的快速回复。它是非常遗留的代码,我真的不明白我需要在这里放什么,因为这里和那里有很多零碎的东西。我很困惑,但我知道问题是由字节数据造成的。请告诉我,如果我声明StringBuffer sb=new StringBuffer(50),并且在附加到StringBuffer时,如果它超过了指定的大小,并且在作为post参数发布时,是否会出现这样的问题。不,这可能不会导致问题。但是,为什么要使用StringBuffer?如果您试图通过POST发送字符串,则需要使用类似StringWriter的东西,它将向流输出值。如果您是通过POST发送StringBuffer,那么最好是发送一个普通字符串——通过POST发送StringBuffer可能不会达到您的预期效果。如果您需要进一步的帮助,请您发布一些代码,这样我们可以更好地回答您的问题。实际上,它们是附加到StringBuffer的,稍后将应用到String()。它有时工作有时不工作,我真的不知道代码的哪一部分需要粘贴在这里,因为代码是零碎的,这让我很困惑。我正在做一个bug修复,实际上他们是如何做的,他们在嵌入B.jsp的地方有a.jsp,表单标签是B.jsp,他们在这里做一些复选框选择,并提交表单,表单将被路由到A.jsp,然后从那里发送到B.jsp。他们正在使相同的代码在另一个Weblogic服务器(测试环境)中工作,但在一个环境(开发环境)中不工作。是否存在与Weblogic配置相关的任何配置级别问题。您能在这方面帮助我们吗。。提前感谢如果您的问题已得到回答,或者不再有效,请“勾选”以选择最合适的答案,以便所有人都知道问题已解决。谢谢
    (II) Application server Error log

     <Error> <HTTP> <BEA-101019> <[ServletContext(id=29607640,name=test,c
    ontext-path=/Test)] Servlet failed with IOException
    java.net.SocketTimeoutException: Read timed out
            at java.net.SocketInputStream.socketRead0(Native Method)
            at java.net.SocketInputStream.read(SocketInputStream.java:129)
            at weblogic.servlet.internal.PostInputStream.read(PostInputStream.java:170)
            at weblogic.servlet.internal.ServletInputStreamImpl$1.read(ServletInputStreamImpl.java:115)
            at weblogic.servlet.internal.ServletInputStreamImpl.read(ServletInputStreamImpl.java:180)
            at weblogic.servlet.internal.ServletRequestImpl.mergePostParams(ServletRequestImpl.java:1339
    )
            at weblogic.servlet.internal.ServletRequestImpl.parseQueryParams(ServletRequestImpl.java:120
    6)
            at weblogic.servlet.internal.ServletRequestImpl.getParameter(ServletRequestImpl.java:1409)
            at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:446)
            at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
            at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletC
    ontext.java:7047)
            at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
            at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
            at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:39
    02)
            at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2773)
            at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
            at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
    **--------------- nested within: ------------------
    weblogic.utils.NestedRuntimeException: Cannot parse POST parameters of request: '/Test/test1.jsp
    ' - with nested exception:
    [java.net.SocketTimeoutException: Read timed out]** 

            at weblogic.servlet.internal.ServletRequestImpl.mergePostParams(ServletRequestImpl.java:1364
    )
            at weblogic.servlet.internal.ServletRequestImpl.parseQueryParams(ServletRequestImpl.java:120
    6)
            at weblogic.servlet.internal.ServletRequestImpl.getParameter(ServletRequestImpl.java:1409)
            at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:446)
            at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
            at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletC
    ontext.java:7047)
            at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
            at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
            at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:39
    02)
            at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2773)
            at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
            at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)