I have been developing a JSP/servlet application using Tomcat 5.0.16. Over the past months, I felt that I had learned enough (partially with the help of this mailing list) about JSP, servlets, and Tomcat that I could debug most of the obsticales that popped up. Until this morning.

I started addnig a new servlet several "levels" down. Suddenly, I started getting the following error:

java.lang.IllegalStateException
        
org.apache.coyote.tomcat5.CoyoteResponseFacade.sendRedirect(CoyoteResponseFacade.java:379)
        Timesheet.LoginServlet.doPost(LoginServlet.java:67)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

When I launch the application, the Tomcat HTML welcome page redirects via a refresh to my login.jsp page via https. That login page displays properly. When I fill in the login name and password and click on submit, I immediately get the above exception. The line number it references is the following:

response.sendRedirect(Util.MAIN_MENU_PAGE_URL);

where Util.MAIN_MENU_PAGE_URL is "/timesheet/mainMenu.jsp", a valid page URL.

This sendRedirect() is the last thing the login servlet does after validating the login and collecting information about the logged in user from the database. This has all been working for months.

The one time I got an illegal state exception before was when I accidently did something like session.getAttribute() when the session was invalid. However, the login servlet starts with

HttpSession session = request.getSession(true);

which is the ONLY time it's called with a true argument. I have also verified that immediately before the call to sendRedirect(), both the session and response variables have reasonable values.

Can any one suggest what I may have changed to suddenly get an illegal state exception?

Merrill Cornish


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



Reply via email to