http://nagoya.apache.org/bugzilla/show_bug.cgi?id=267 *** shadow/267 Fri Mar 9 17:27:45 2001 --- shadow/267.tmp.11100 Fri Mar 9 17:27:45 2001 *************** *** 0 **** --- 1,77 ---- + +============================================================================+ + | session.invalidate() method and response.sendRedirect BugRat Report#482 | + +----------------------------------------------------------------------------+ + | Bug #: 267 Product: Tomcat 3 | + | Status: UNCONFIRMED Version: 3.1.1 Final | + | Resolution: Platform: All | + | Severity: Normal OS/Version: All | + | Priority: High Component: Servlet | + +----------------------------------------------------------------------------+ + | Assigned To: [EMAIL PROTECTED] | + | Reported By: [EMAIL PROTECTED] | + | CC list: Cc: | + +----------------------------------------------------------------------------+ + | URL: | + +============================================================================+ + | DESCRIPTION | + Here is the problem I have encunter using tomcat3.1. + + When I end the transaction with the session.invalidate() method, I call + the response.sendRedirect in order to send a message to the user. If I + try to come back into the session with the browser, I have got the same + message, so the same jsp file, than the one I got while ending the + transaction. I use the same method, response.sendRedirect, with another + jsp file. + + If I use the same .class files under tomcat3.0, evething works well, + that is, I have got the good jsp page. + + Here is my servlet. Notice the two differents jsp pages end.jsp and + out.jsp. + + public void doPost(HttpServletRequest request, HttpServletResponse + response) throws IOException + { + doGet(request, response); + } + + public void doGet(HttpServletRequest request, HttpServletResponse + response) throws IOException + { + HttpSession session=null; + TrecObject TxTrec=null; + try { + session=request.getSession(false); + if ( session == null ) + response.sendRedirect("/examples/jsp/trec/out.jsp"); + + // get the TrecObject from the session + TxTrec = (TrecObject) session.getAttribute("TrecObject"); + if (TxTrec == null ) { + response.sendRedirect("/examples/jsp/trec/out.jsp"); + } + + // previous page + if ( request.getParameterValues("prev") != null ) { + TxTrec.TrecTransaction.pageprecedente(); + + response.sendRedirect(response.encodeRedirectURL("/examples/jsp/trec/TREC.jsp")); + // next page + } else if ( request.getParameterValues("next") != null ) { + TxTrec.TrecTransaction.pagesuivante(); + + response.sendRedirect(response.encodeRedirectURL("/examples/jsp/trec/TREC.jsp")); + // End of the transaction + } else if ( request.getParameterValues("end") != null ) { + TxDisconnect(TxTrec); + session.invalidate(); + response.sendRedirect("/examples/jsp/trec/end.jsp"); + } + + + Also, the method request.getSession(false), should, according the the + api documentation, return null if it is called after a call to the + session.invalidate() has been made. I have experienced a creation of a + new session like if I had used true instead of false for the parameters. + Is somethig wrong with that? + --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]