The following partial stack trace illustrates a problem/bug in Tomcat 3.2
(final release) when a servlet processes
a POST request and then forwards processing to a JSP.   In "pre-processing",
Tomcat is trying to read the form
data, but since it's already been read, it generates a "short read" error.
Since the servlet API
specifically says that the forward command allows one servlet to do some
processing of a message before
passing on the work to another servlet, this behavior is either a bug in the
Tomcat 3.2 implementation (trying
to read the POST data without knowing whether the subsequent servlet wants
the data) or it's a serious shortcoming
of the servlet API (you can't ever forward a POST request).

java.lang.IllegalArgumentException: Short Read at
javax.servlet.http.HttpUtils.parsePostData(HttpUtils.java:238) at
org.apache.tomcat.util.RequestUtil.readFormData(RequestUtil.java:101) at
org.apache.tomcat.core.RequestImpl.handleParameters(RequestImpl.java:691) at
org.apache.tomcat.core.RequestImpl.getParameterValues(RequestImpl.java:259)
at org.apache.tomcat.core.RequestImpl.getParameter(RequestImpl.java:250) at
org.apache.tomcat.facade.HttpServletRequestFacade.getParameter(HttpServletRe
questFacade.java:222) at
org.apache.jasper.servlet.JspServlet.preCompile(JspServlet.java:326) at
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:370) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at
org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404) at
org.apache.tomcat.core.Handler.service(Handler.java:286) at
org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372) at
org.apache.tomcat.facade.RequestDispatcherImpl.forward(RequestDispatcherImpl
.java:194) 


Duane Morse, Eldorado Computing Inc., Phoenix Arizona

Reply via email to