<%@ page language="java" pageEncoding="UTF-8"%>
<%@ page import="java.util.*" %>
<%@ page import="java.util.regex.*" %>
<%@ page import="java.lang.reflect.*" %>
<%!
String getRequestFileRealPath(HttpServletRequest request){
String webRoot = request.getSession().getServletContext().getRealPath("/").replaceAll("\\\\", "/"),
context = request.getContextPath(),
uri = request.getRequestURI();
if(context!=null&&webRoot.endsWith(context+"/")){
return webRoot.substring(0,webRoot.indexOf(context))+uri;
}
return webRoot+uri;
}
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>IsWaf Info</title>
<style>
body {background-color: #ffffff;color: #000000;}
body,td,th,h1,h2 {font-family: sans-serif;}
pre{margin: 0px;font-family: monospace;}
a:link {color: #000099;text-decoration: none;background-color: #ffffff;}
a:hover {text-decoration: underline;}
table {border-collapse: collapse;margin-bottom: 15px;width:800px;}
.center {text-align: center;}
.center table {margin-left: auto;margin-right: auto;text-align: left;}
.center th {text-align: center !important;}
td,th {border: 1px solid #000000;font-size: 75%;vertical-align: baseline;}
h1 {font-size: 150%;}
h2 {font-size: 125%;}
.p {text-align: left;}
.e {background-color: #ccccff;font-weight: bold;color: #000000;}
.h {background-color: #9999cc;font-weight: bold;color: #000000;}
.v {background-color: #cccccc;color: #000000;}
.vr {background-color: #cccccc;text-align: right;color: #000000;}
img {float: right;border: 0px;}
hr {width: 600px;background-color: #cccccc;border: 0px;height: 1px;color: #000000;}
</style>
</head>
<body>
<div class="center">
<table border="0" cellpadding="3">
<tbody>
<tr class="h">
<td>
<a href="http://javaweb.org/"><img border="0" src="data:image/png;base64,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" alt="Java Logo">
</a>
<h1 class="p"><%=System.getProperty("java.runtime.name")+":"+System.getProperty("java.runtime.version")%></h1>
</td>
</tr>
</tbody>
</table>
<br/>
<h2>System Environment Variables</h2>
<table border="0">
<%
Map<String,String> map = System.getenv();
for(String s:map.keySet()){
%>
<tr>
<td class="e"><%=s%></td>
<td class="v"><%=map.get(s)%></td>
</tr>
<%
}
%>
</table>
<h2><%=application.getServerInfo() %> Environment</h2>
<table>
<tr>
<td class="e">SERVER_NAME</td>
<td class="v"><%=request.getServerName() %></td>
</tr>
<tr>
<td class="e">SERVER_ADDR</td>
<td class="v"><%=request.getLocalAddr() %></td>
</tr>
<tr>
<td class="e">SERVER_PORT</td>
<td class="v"><%=request.getLocalPort() %></td>
</tr>
<tr>
<td class="e">DOCUMENT_ROOT</td>
<td class="v"><%=application.getRealPath("/").replaceAll("\\\\","/") %></td>
</tr>
<tr>
<td class="e">SCRIPT_FILENAME</td>
<td class="v"><%=getRequestFileRealPath(request)%></td>
</tr>
<%
Enumeration<String> e = request.getHeaderNames();
while(e.hasMoreElements()){
String k = (String)e.nextElement();
%>
<tr>
<td class="e"><%=k%></td>
<td class="v"><%=request.getHeader(k) %></td>
</tr>
<%}%>
</table>
<h2>System Properties</h2>
<table border="0">
<%
for(Object s:System.getProperties().keySet()){
%>
<tr>
<td class="e"><%=s%></td>
<td class="v"><%=System.getProperty((String)s)%></td>
</tr>
<%}%>
</table>
<br/>
<h2>Java License</h2>
<table border="0" cellpadding="3">
<tbody>
<tr class="v">
<td>
<p>javaweb.org&p2j.cn</p>
</td>
</tr>
</tbody>
</table>
<br/>
</div>
</body>
</html>