I am using Wicket1.3.5 and WAS6.1.0(And FixPack21) now, and when
WicketFilter is used,
HTTP error code 404 is occur(It is not occur in Tomcat5.0.28).

The following question is here.

In the close() method of BufferedWebResponse, the Writer instance
might have to be shut.
For instance, after the write() method is called, I think that
getHttpServletResponse().getWriter().close()
is necessary.

When the close method of BufferedWebResponse was corrected as follows,
the problem
is canceled.

public void close()
{
    // If a redirection was specified
    if (redirectURL != null)
    {
        // actually redirect
        super.redirect(redirectURL);
    }
    else
    {
        // Write the buffer to the response stream
        if (buffer.length() != 0)
        {
            super.write(buffer);

            //------ TODO 2008/12/16 kanou add start ------
            try {
                getHttpServletResponse().getWriter().flush();
                getHttpServletResponse().getWriter().close();
            } catch (IOException ioe) {
                throw new WicketRuntimeException(getClass().getName()
+ " close() failed.");
            }
            //------ 2008/12/16 kanou add end ------
        }
    }
}

[Note]
When WicketServlet is used, the servlet container closes the response object.
However, when WicketFilter is used, I think that I depend on the
servlet container.

It is being written in the specification of servlet API2.4 of Sun.

----------------------------------------------------------------------------------
SRV.5.5 Closure of Response Object
When a response is closed, the container must immediately flush all remaining
content in the response buffer to the client. The following events
indicate that the
servlet has satisfied the request and that the response object is to be closed:

・The termination of the service method of the servlet.
・The amount of content specified in the setContentLength method of the response
  has been written to the response.
・The sendError method is called.
・The sendRedirect method is called.
----------------------------------------------------------------------------------

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to