NestedRuntimeException:无法解析请求的POST参数

时间:2012-03-29 09:45:47

标签: java jsp exception post

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

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

(I) Front end error
=====================
Error 500--Internal Server Error
From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:

在后端,我们收到以下错误......

    (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)

请您就问题的原因提出建议。

1 个答案:

答案 0 :(得分:1)

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

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