| 1 | <?xml version="1.0" encoding="ISO-8859-1"?> | 
|---|
| 2 | <!-- | 
|---|
| 3 |  Licensed to the Apache Software Foundation (ASF) under one or more | 
|---|
| 4 |   contributor license agreements.  See the NOTICE file distributed with | 
|---|
| 5 |   this work for additional information regarding copyright ownership. | 
|---|
| 6 |   The ASF licenses this file to You under the Apache License, Version 2.0 | 
|---|
| 7 |   (the "License"); you may not use this file except in compliance with | 
|---|
| 8 |   the License.  You may obtain a copy of the License at | 
|---|
| 9 |  | 
|---|
| 10 |       http://www.apache.org/licenses/LICENSE-2.0 | 
|---|
| 11 |  | 
|---|
| 12 |   Unless required by applicable law or agreed to in writing, software | 
|---|
| 13 |   distributed under the License is distributed on an "AS IS" BASIS, | 
|---|
| 14 |   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
|---|
| 15 |   See the License for the specific language governing permissions and | 
|---|
| 16 |   limitations under the License. | 
|---|
| 17 | --> | 
|---|
| 18 | <%@page session="false" contentType="text/html; charset=ISO-8859-1" %> | 
|---|
| 19 | <%@page import="java.util.Enumeration" %> | 
|---|
| 20 | <%@page import="javax.servlet.http.HttpSession" %> | 
|---|
| 21 | <%@page import="org.apache.catalina.Session" %> | 
|---|
| 22 | <%@page import="org.apache.catalina.manager.JspHelper" %> | 
|---|
| 23 | <!DOCTYPE html  | 
|---|
| 24 |      PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" | 
|---|
| 25 |      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> | 
|---|
| 26 | <%--!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" | 
|---|
| 27 |  "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"--%> | 
|---|
| 28 |  | 
|---|
| 29 | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> | 
|---|
| 30 | <% String path = (String) request.getAttribute("path"); | 
|---|
| 31 |    Session currentSession = (Session)request.getAttribute("currentSession"); | 
|---|
| 32 |    HttpSession currentHttpSession = currentSession.getSession(); | 
|---|
| 33 |    String currentSessionId = currentSession.getId(); | 
|---|
| 34 |    String submitUrl = ((HttpServletRequest)pageContext.getRequest()).getRequestURL().toString(); | 
|---|
| 35 | %> | 
|---|
| 36 | <head> | 
|---|
| 37 |     <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/> | 
|---|
| 38 |   <meta http-equiv="pragma" content="no-cache"/><!-- HTTP 1.0 --> | 
|---|
| 39 |   <meta http-equiv="cache-control" content="no-cache,must-revalidate"/><!-- HTTP 1.1 --> | 
|---|
| 40 |   <meta http-equiv="expires" content="0"/><!-- 0 is an invalid value and should be treated as 'now' --> | 
|---|
| 41 |   <meta http-equiv="content-language" content="en"/> | 
|---|
| 42 |   <meta name="author" content="Cedrik LIME"/> | 
|---|
| 43 |   <meta name="copyright" content="copyright 2005-2007 the Apache Software Foundation"/> | 
|---|
| 44 |   <meta name="robots" content="noindex,nofollow,noarchive"/> | 
|---|
| 45 |   <title>Sessions Administration: details for <%= currentSessionId %></title> | 
|---|
| 46 | </head> | 
|---|
| 47 | <body> | 
|---|
| 48 | <h1>Details for Session <%= JspHelper.escapeXml(currentSessionId) %></h1> | 
|---|
| 49 |  | 
|---|
| 50 | <table style="text-align: left;" border="0"> | 
|---|
| 51 |   <tr> | 
|---|
| 52 |     <th>Session Id</th> | 
|---|
| 53 |     <td><%= currentSessionId %></td> | 
|---|
| 54 |   </tr> | 
|---|
| 55 |   <tr> | 
|---|
| 56 |     <th>Guessed Locale</th> | 
|---|
| 57 |     <td><%= JspHelper.guessDisplayLocaleFromSession(currentSession) %></td> | 
|---|
| 58 |   </tr> | 
|---|
| 59 |   <tr> | 
|---|
| 60 |     <th>Guessed User</th> | 
|---|
| 61 |     <td><%= JspHelper.guessDisplayUserFromSession(currentSession) %></td> | 
|---|
| 62 |   </tr> | 
|---|
| 63 |   <tr> | 
|---|
| 64 |     <th>Creation Time</th> | 
|---|
| 65 |     <td><%= JspHelper.getDisplayCreationTimeForSession(currentSession) %></td> | 
|---|
| 66 |   </tr> | 
|---|
| 67 |   <tr> | 
|---|
| 68 |     <th>Last Accessed Time</th> | 
|---|
| 69 |     <td><%= JspHelper.getDisplayLastAccessedTimeForSession(currentSession) %></td> | 
|---|
| 70 |   </tr> | 
|---|
| 71 |   <tr> | 
|---|
| 72 |     <th>Session Max Inactive Interval</th> | 
|---|
| 73 |     <td><%= JspHelper.secondsToTimeString(currentSession.getMaxInactiveInterval()) %></td> | 
|---|
| 74 |   </tr> | 
|---|
| 75 |   <tr> | 
|---|
| 76 |     <th>Used Time</th> | 
|---|
| 77 |     <td><%= JspHelper.getDisplayUsedTimeForSession(currentSession) %></td> | 
|---|
| 78 |   </tr> | 
|---|
| 79 |   <tr> | 
|---|
| 80 |     <th>Inactive Time</th> | 
|---|
| 81 |     <td><%= JspHelper.getDisplayInactiveTimeForSession(currentSession) %></td> | 
|---|
| 82 |   </tr> | 
|---|
| 83 |   <tr> | 
|---|
| 84 |     <th>TTL</th> | 
|---|
| 85 |     <td><%= JspHelper.getDisplayTTLForSession(currentSession) %></td> | 
|---|
| 86 |   </tr> | 
|---|
| 87 | </table> | 
|---|
| 88 |  | 
|---|
| 89 | <p style="text-align: center;"><button type="button" onclick="window.location.reload()">Refresh</button></p> | 
|---|
| 90 |  | 
|---|
| 91 | <div class="error"><%= JspHelper.escapeXml(request.getAttribute("error")) %></div> | 
|---|
| 92 | <div class="message"><%= JspHelper.escapeXml(request.getAttribute("message")) %></div> | 
|---|
| 93 |  | 
|---|
| 94 | <table style="text-align: left;" border="1" cellpadding="2" cellspacing="2"> | 
|---|
| 95 | <% int nAttributes = 0; | 
|---|
| 96 |    Enumeration attributeNamesEnumeration = currentHttpSession.getAttributeNames(); | 
|---|
| 97 |    while (attributeNamesEnumeration.hasMoreElements()) { | 
|---|
| 98 |      attributeNamesEnumeration.nextElement(); | 
|---|
| 99 |      ++nAttributes; | 
|---|
| 100 |    } | 
|---|
| 101 | %> | 
|---|
| 102 |   <caption style="font-variant: small-caps;"><%= JspHelper.formatNumber(nAttributes) %> attributes</caption> | 
|---|
| 103 |   <thead> | 
|---|
| 104 |     <tr> | 
|---|
| 105 |       <th>Remove Attribute</th> | 
|---|
| 106 |       <th>Attribute name</th> | 
|---|
| 107 |       <th>Attribute value</th> | 
|---|
| 108 |     </tr> | 
|---|
| 109 |   </thead> | 
|---|
| 110 |   <%--tfoot> | 
|---|
| 111 |     <tr> | 
|---|
| 112 |       <td colspan="3" style="text-align: center;"> | 
|---|
| 113 |         TODO: set Max Inactive Interval on sessions | 
|---|
| 114 |       </td> | 
|---|
| 115 |     </tr> | 
|---|
| 116 |   </tfoot--%> | 
|---|
| 117 |   <tbody> | 
|---|
| 118 | <% attributeNamesEnumeration = currentHttpSession.getAttributeNames(); | 
|---|
| 119 |    while (attributeNamesEnumeration.hasMoreElements()) { | 
|---|
| 120 |     String attributeName = (String) attributeNamesEnumeration.nextElement(); | 
|---|
| 121 | %> | 
|---|
| 122 |     <tr> | 
|---|
| 123 |       <td align="center"><form action="<%= submitUrl %>"><div><input type="hidden" name="path" value="<%= path %>" /><input type="hidden" name="action" value="removeSessionAttribute" /><input type="hidden" name="sessionId" value="<%= currentSessionId %>" /><input type="hidden" name="attributeName" value="<%= attributeName %>" /><input type="submit" value="Remove" /></div></form></td> | 
|---|
| 124 |       <td><%= JspHelper.escapeXml(attributeName) %></td> | 
|---|
| 125 |       <td><% Object attributeValue = currentHttpSession.getAttribute(attributeName); %><span title="<%= attributeValue == null ? "" : attributeValue.getClass().toString() %>"><%= JspHelper.escapeXml(attributeValue) %></span></td> | 
|---|
| 126 |     </tr> | 
|---|
| 127 | <% } // end while %> | 
|---|
| 128 |   </tbody> | 
|---|
| 129 | </table> | 
|---|
| 130 |  | 
|---|
| 131 | <p style="text-align: center;"><button type="button" onclick="window.close()">Close window</button></p> | 
|---|
| 132 |  | 
|---|
| 133 | <%--div style="display: none;"> | 
|---|
| 134 | <p> | 
|---|
| 135 |   <a href="http://validator.w3.org/check?uri=referer"><img | 
|---|
| 136 |     src="http://www.w3.org/Icons/valid-html401" | 
|---|
| 137 |     alt="Valid HTML 4.01!" height="31" width="88"></a> | 
|---|
| 138 |   <a href="http://validator.w3.org/check?uri=referer"><img | 
|---|
| 139 |     src="http://www.w3.org/Icons/valid-xhtml10" | 
|---|
| 140 |     alt="Valid XHTML 1.0!" height="31" width="88" /></a> | 
|---|
| 141 |   <a href="http://validator.w3.org/check?uri=referer"><img | 
|---|
| 142 |     src="http://www.w3.org/Icons/valid-xhtml11" | 
|---|
| 143 |     alt="Valid XHTML 1.1!" height="31" width="88" /></a> | 
|---|
| 144 | </p> | 
|---|
| 145 | </div--%> | 
|---|
| 146 |  | 
|---|
| 147 | </body> | 
|---|
| 148 | </html> | 
|---|