Hello,

I get this interesting behavior. I have HTML forms which posts to servlets, in the order like

form1.jsp --post-> MyServlet1 --redirect-> form2.jsp
--post-> MyServlet2 --redirect-> form1.jsp

Each servlet looks like following:

class MyServletX extends HttpServlet {
// complete re-entrant, no share access
public doPost(request, response) {
log.debug("entering "+getClass());
// ... process the request, nothing written out
String redirectUrl = ....
response.sendRedirect(redirectUrl);
}
}

There is also a filter invoked in each step which simply sets a variable and pass to the next.

But when form2.jsp is submited, Tomcat (latest release 4.1) invokes MyServlet2 twice in different threads for this same request, as evident from the log output. Further if I ran tomcat in debugger and place breakpoint in doPost, this would not happen (I have yet to try putting a sleeping timer in it). And making the servlet SingleThreadModel does not help. While I don't know if this is a threading problem in tomcat, invoking the servlet twice on the same requst is real problem.

I searched through the mailing list archive, I read that request would not be handled by two threads, which I assumed was the case.

So what went wrong here? In circumstance would the request being processed twice?

Thanks.


_________________________________________________________________
Add photos to your e-mail with MSN 8. Get 2 months FREE*. http://join.msn.com/?page=features/featuredemail


--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to