larryi 01/03/06 13:29:48 Modified: src/examples/WEB-INF/classes LocalStrings.properties LocalStrings_en.properties SessionExample.java Log: Port update to SessionExample servlet from tomcat_32 by Marc Saegesser We now include some additional information about session handling, such as whether the session is new, what the request session id was, if the requested session id was valid and the source of the requested session id. There is also a new button for forcing the current session to be invalidated. These changes better demonstrate the session management features of the servlet API and also provide a way to test the recent patches for session id handling. Revision Changes Path 1.2 +6 -1 jakarta-tomcat/src/examples/WEB-INF/classes/LocalStrings.properties Index: LocalStrings.properties =================================================================== RCS file: /home/cvs/jakarta-tomcat/src/examples/WEB-INF/classes/LocalStrings.properties,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- LocalStrings.properties 1999/10/09 00:19:59 1.1 +++ LocalStrings.properties 2001/03/06 21:29:45 1.2 @@ -1,4 +1,4 @@ -# $Id: LocalStrings.properties,v 1.1 1999/10/09 00:19:59 duncan Exp $ +# $Id: LocalStrings.properties,v 1.2 2001/03/06 21:29:45 larryi Exp $ # Default localized resources for example servlets # This locale is en_US @@ -36,3 +36,8 @@ sessions.adddata=Add data to your session sessions.dataname=Name of Session Attribute: sessions.datavalue=Value of Session Attribute: +sessions.requestedid=Requested Session ID: +sessions.requestedidvalid=Requested Session ID is valid: +sessions.fromcookie=Requested Session ID is from a cookie: +sessions.fromurl=Requested Session ID is from a URL: +sessions.isnew=Session is new: 1.3 +6 -1 jakarta-tomcat/src/examples/WEB-INF/classes/LocalStrings_en.properties Index: LocalStrings_en.properties =================================================================== RCS file: /home/cvs/jakarta-tomcat/src/examples/WEB-INF/classes/LocalStrings_en.properties,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- LocalStrings_en.properties 2000/07/05 18:04:54 1.2 +++ LocalStrings_en.properties 2001/03/06 21:29:46 1.3 @@ -1,4 +1,4 @@ -# $Id: LocalStrings_en.properties,v 1.2 2000/07/05 18:04:54 nacho Exp $ +# $Id: LocalStrings_en.properties,v 1.3 2001/03/06 21:29:46 larryi Exp $ # Default localized resources for example servlets # This locale is en_US @@ -36,3 +36,8 @@ sessions.adddata=Add data to your session sessions.dataname=Name of Session Attribute: sessions.datavalue=Value of Session Attribute: +sessions.requestedid=Requested Session ID: +sessions.requestedidvalid=Requested Session ID is valid: +sessions.fromcookie=Requested Session ID is from a cookie: +sessions.fromurl=Requested Session ID is from a URL: +sessions.isnew=Session is new: 1.3 +40 -19 jakarta-tomcat/src/examples/WEB-INF/classes/SessionExample.java Index: SessionExample.java =================================================================== RCS file: /home/cvs/jakarta-tomcat/src/examples/WEB-INF/classes/SessionExample.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- SessionExample.java 2000/03/21 00:32:38 1.2 +++ SessionExample.java 2001/03/06 21:29:46 1.3 @@ -1,4 +1,4 @@ -/* $Id: SessionExample.java,v 1.2 2000/03/21 00:32:38 costin Exp $ +/* $Id: SessionExample.java,v 1.3 2001/03/06 21:29:46 larryi Exp $ * */ @@ -55,29 +55,40 @@ HttpSession session = request.getSession(); out.println(rb.getString("sessions.id") + " " + session.getId()); out.println("<br>"); + out.println(rb.getString("sessions.isnew") + " " + session.isNew() + "<br>"); out.println(rb.getString("sessions.created") + " "); out.println(new Date(session.getCreationTime()) + "<br>"); out.println(rb.getString("sessions.lastaccessed") + " "); out.println(new Date(session.getLastAccessedTime())); - - String dataName = request.getParameter("dataname"); - String dataValue = request.getParameter("datavalue"); - if (dataName != null && dataValue != null) { - session.setAttribute(dataName, dataValue); - } - - out.println("<P>"); - out.println(rb.getString("sessions.data") + "<br>"); - Enumeration names = session.getAttributeNames(); - while (names.hasMoreElements()) { - String name = (String) names.nextElement(); - String value = session.getAttribute(name).toString(); - out.println(name + " = " + value + "<br>"); + out.println("<br>"); + out.println(rb.getString("sessions.requestedid") + " " + request.getRequestedSessionId() + "<br>"); + out.println(rb.getString("sessions.requestedidvalid") + " " + request.isRequestedSessionIdValid() + "<br>"); + out.println(rb.getString("sessions.fromcookie") + " " + request.isRequestedSessionIdFromCookie() + "<br>"); + out.println(rb.getString("sessions.fromurl") + " " + request.isRequestedSessionIdFromURL() + "<br>"); + + String invalidate = request.getParameter("INVALIDATE"); + if(invalidate != null){ + session.invalidate(); + }else{ + String dataName = request.getParameter("dataname"); + String dataValue = request.getParameter("datavalue"); + if (dataName != null && dataValue != null) { + session.setAttribute(dataName, dataValue); + } + + out.println("<P>"); + out.println(rb.getString("sessions.data") + "<br>"); + Enumeration names = session.getAttributeNames(); + while (names.hasMoreElements()) { + String name = (String) names.nextElement(); + String value = session.getAttribute(name).toString(); + out.println(name + " = " + value + "<br>"); + } } out.println("<P>"); out.print("<form action=\""); - out.print(response.encodeURL("SessionExample")); + out.print(response.encodeURL("SessionExample")); out.print("\" "); out.println("method=POST>"); out.println(rb.getString("sessions.dataname")); @@ -91,7 +102,7 @@ out.println("<P>GET based form:<br>"); out.print("<form action=\""); - out.print(response.encodeURL("SessionExample")); + out.print(response.encodeURL("SessionExample")); out.print("\" "); out.println("method=GET>"); out.println(rb.getString("sessions.dataname")); @@ -103,9 +114,19 @@ out.println("<input type=submit>"); out.println("</form>"); + out.println("<P>"); + out.println("<P>Invalidate session:<br>"); + out.print("<form action=\""); + out.print(response.encodeURL("SessionExample")); + out.print("\" "); + out.println("method=POST>"); + out.println("<input type=\"hidden\" name=INVALIDATE value=TRUE>"); + out.println("<input type=submit value=\"Invalidate session\">"); + out.println("</form>"); + out.print("<p><a href=\""); - out.print(response.encodeURL("SessionExample?dataname=foo&datavalue=bar")); - out.println("\" >URL encoded </a>"); + out.print(response.encodeURL("SessionExample?dataname=foo&datavalue=bar")); + out.println("\" >URL encoded </a>"); out.println("</body>"); out.println("</html>"); --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]