📄 systemproperties.jsp
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@page import="java.io.PrintWriter"%>
<jsp:directive.page import="com.sslexplorer.security.SessionInfo"/>
<jsp:directive.page import="com.sslexplorer.core.CoreServlet"/>
<jsp:directive.page import="java.util.Iterator"/>
<jsp:directive.page import="com.sslexplorer.security.Constants"/>
<jsp:directive.page import="java.util.Map"/>
<html>
<body>
<h1>System Properties</h1>
<pre>
<%
System.getProperties().list(new PrintWriter(out));
%>
</pre>
<h1>Thread Dump</h1>
<pre>
<%
ThreadGroup tg = Thread.currentThread().getThreadGroup();
while(true) {
ThreadGroup tg2 = tg.getParent();
if(tg2 == null) {
break;
}
tg = tg2;
}
Thread[] ta = new Thread[tg.activeCount()];
tg.enumerate(ta,true);
int realCount = 0;
for(int i=0;i<ta.length;i++) {
if(ta[i] != null) {
realCount++;
}
}
%>
<h3>Total threads: <%= String.valueOf(realCount) %></h3>
<% StringBuffer buf = new StringBuffer("\n");
for(int i=0;i<ta.length;i++){
if(ta[i] != null) {
buf.append("[");
buf.append(ta[i].getId());
buf.append("] ");
buf.append(ta[i].getName());
buf.append(" (");
buf.append(ta[i].getPriority());
buf.append(")\n");
StackTraceElement[] st = ta[i].getStackTrace();
for(int j = 0 ; j < st.length; j++) {
buf.append(" ");
buf.append(st[j].getClassName());
buf.append(".");
buf.append(st[j].getMethodName());
buf.append("(");
buf.append(st[j].getLineNumber());
buf.append(")\n");
}
}
}
%><%= buf.toString() %>
</pre>
<h1>Sessions</h1>
<table border="1">
<thead>
<tr>
<td><b>Id</b></td>
<td><b>User</b></td>
<td><b>User Agent</b></td>
<td><b>Type</b></td>
<td><b>Address</b></td>
<td><b>Timeout Blocks</b></td>
</tr>
</thead>
<tbody>
<%
for(Iterator i = CoreServlet.getServlet().getLogonController().getActiveSessions().values().iterator(); i.hasNext(); ) {
SessionInfo si = (SessionInfo)i.next();
%>
<tr>
<td><%= String.valueOf(si.getId()) %></td>
<td><%= si.getUser().getPrincipalName() %></td>
<td><%= si.getUserAgent() %></td>
<td><%= si.getType() == SessionInfo.UI ? "UI" : ( si.getType() == SessionInfo.VPN_CLIENT ? "Agent" : "WebDAV" ) %></td>
<td><%= String.valueOf(si.getAddress()) %></td>
<td><% Map stob = (Map)si.getHttpSession().getAttribute(Constants.SESSION_TIMEOUT_BLOCKS);
if(stob != null) {
for(Iterator j = stob.entrySet().iterator(); j.hasNext(); ) {
Map.Entry entry = (Map.Entry)j.next();
%><%= (String)entry.getKey() %> (<%= (String)entry.getValue() %>)<br/><%
}
}
%></td>
</tr>
<%
}
%>
</tbody>
</table>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -