jsp查看服务器配置

<%@ page contentType="text/html;charset=gb2312" %>
<%@ page import="java.util.*,java.io.*,javax.servlet.*,javax.servlet.http.*,java.lang.*" %>
<%
	/********************************************************************
	*	Title: JspEnv v
	*	Description : JSP环境探针
	*	CopyRight:(c)	2005 	www.soho.net.ru
	*	@author:	若影
	*	@version:	1.0
	*	@Data:	2005-1-1 12:00:00
	*********************************************************************/
	
	long timePageStart = System.currentTimeMillis();
%>
<%
class EnvServlet
{
	public long timeUse=0;
	public Hashtable htParam=new Hashtable();
	private Hashtable htShowMsg=new Hashtable();
	public void setHashtable()
	{
		Properties me=System.getProperties();
		Enumeration em=me.propertyNames();
		while(em.hasMoreElements())
		{
			String strKey=(String)em.nextElement();
			String strValue=me.getProperty(strKey);
			htParam.put(strKey,strValue);
		}
	}	
	public void getHashtable(String strQuery)
	{
		Enumeration em=htParam.keys();
		while(em.hasMoreElements())
		{
			String strKey=(String)em.nextElement();
			String strValue=new String();
			if(strKey.indexOf(strQuery,0)>=0)
			{
				strValue=(String)htParam.get(strKey);
				htShowMsg.put(strKey,strValue);
			}
		}
	}
	public String queryHashtable(String strKey)
	{
		strKey=(String)htParam.get(strKey);
		return strKey;
	}
	public long test_int()
	{
		long timeStart = System.currentTimeMillis();
		int i=0;
		while(i<3000000)i++;
		long timeEnd = System.currentTimeMillis();
		long timeUse=timeEnd-timeStart;
		return timeUse;
	}
	public long test_sqrt()
	{
		long timeStart = System.currentTimeMillis();
		int i=0;
		double db=(double)new Random().nextInt(1000);
		while(i<200000){db=Math.sqrt(db);i++;}
		long timeEnd = System.currentTimeMillis();
		long timeUse=timeEnd-timeStart;
		return timeUse;
	}
}
%>
<%
	EnvServlet env=new EnvServlet();
	env.setHashtable();
	String action=new String(" ");
	String act=new String("action");
	if(request.getQueryString()!=null&&request.getQueryString().indexOf(act,0)>=0)action=request.getParameter(act);
%>
<html>
<head>
<title>JSP 探针</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
A       { COLOR: #000000; TEXT-DECORATION: none}
A:hover { COLOR: #f58200}
body,td,span { font-size: 9pt}
.input  { BACKGROUND-COLOR: #ffffff;BORDER:#f58200 1px solid;FONT-SIZE: 9pt}
.backc  { BACKGROUND-COLOR: #f58200;BORDER:#f58200 1px solid;FONT-SIZE: 9pt;color:white}
.PicBar { background-color: #f58200; border: 1px solid #000000; height: 12px;}
.tableBorder {BORDER-RIGHT: #183789 1px solid; BORDER-TOP: #183789 1px solid; BORDER-LEFT: #183789 1px solid; BORDER-BOTTOM: #183789 1px solid; BACKGROUND-COLOR: #ffffff; WIDTH: 760;}
.divcenter {
	position:absolute;
	height:30px;
	z-index:1000;
	left: 101px;
	top: 993px;
}
</STYLE>
<script language="javascript">
function showsubmenu(sid)
{
whichEl = eval("submenu" + sid);
if (whichEl.style.display == "none")
{
eval("submenu" + sid + ".style.display=\"\";");
eval("txt" + sid + ".innerHTML=\"<a href='#' title='关闭此项'><font face='Wingdings' color=#FFFFFF>x</font></a>\";");
}
else
{
eval("submenu" + sid + ".style.display=\"none\";");
eval("txt" + sid + ".innerHTML=\"<a href='#' title='打开此项'><font face='Wingdings' color=#FFFFFF>y</font></a>\";");
}
}
</SCRIPT>
</head>
<body topmargin="0" leftmargin="0">
<CENTER>
  <table width="760" border="0" cellpadding="0" cellspacing="0">
    <tr> 
      <td width="30%"><P style="MARGIN-TOP: 0px; MARGIN-BOTTOM: -8px"> <STRONG 
      style="FONT-SIZE: 40pt">JSP探针</STRONG></td>
      <td width="70%" align="center"><font color=red>欢迎访问<a href="http://free3.e-168.cn/cnforum/">JSP智库</a>,下载最新版程序<br>
      <a href="http://free3.e-168.cn/cnforum/jspenv.rar">直接下载最新版本</font></a></td>
    </tr>
  </table>  
  选项:<a href="#ServerInfo">服务器相关参数</a> | <a href="#JAVAInfo">JAVA相关参数</a> | <a href="#Paramter">参数查询</a>  | <a href="#ServerAbility">服务器运算能力</a> 
| <a href="#ISpeedTest">服务器连接速度</a> 
  | <a href="javascript:location.reload()">刷新</a><a name="ServerInfo"></a>
  <table border="0" cellpadding="0" cellspacing="1" class="tableBorder">
  <tr> 
    <td height="22" align="center" bgcolor="#f58200" οnclick="showsubmenu(0)"><font color=#FFFFFF><strong>服务器相关参数</strong></font> 
      
<a href="#top" title="返回顶部"><font face='Webdings' color=#FFFFFF>5</font></a> <span id=txt0 name=txt0><a href='#' title='关闭此项'><font face='Wingdings' color=#FFFFFF>x</font></a></span> 
</td>
  </tr>
  <tr> 
    <td style="display" id='submenu0'><table border=0 width=100% cellspacing=1 cellpadding=3 bgcolor="#f58200">
          <tr bgcolor="#FFFFFF" height="22"> 
            <td width="130"> 服务器名</td>
            <td colspan="3" height="22"> <%= request.getServerName() %>(<%=request.getRemoteAddr()%>)</td>
          </tr>
          <tr bgcolor="#FFFFFF" height="22"> 
            <td> 服务器操作系统</td>
            <td colspan="3"> <%=env.queryHashtable("os.name")%> <%=env.queryHashtable("os.version")%> 
              <%=env.queryHashtable("sun.os.patch.level")%></td>
          </tr>
          <tr bgcolor="#FFFFFF" height="22"> 
            <td> 服务器操作系统类型</td>
            <td> <%=env.queryHashtable("os.arch")%></td>
            <td> 服务器操作系统模式</td>
            <td> <%=env.queryHashtable("sun.arch.data.model")%>位</td>
          </tr>     
          <tr bgcolor="#FFFFFF" height="22"> 
            <td> 服务器所在地区</td>
            <td> <%=env.queryHashtable("user.country")%></td>
            <td> 服务器语言</td>
            <td> <%=env.queryHashtable("user.language")%></td>
          </tr>
          <tr bgcolor="#FFFFFF" height="22"> 
            <td> 服务器时区</td>
            <td> <%=env.queryHashtable("user.timezone")%></td>
            <td> 服务器时间</td>
            <td> <%=new java.util.Date()%> </td>
          </tr>
		  <tr bgcolor="#FFFFFF" height="22"> 
            <td> 服务器解译引擎</td>
            <td width="170"> <%= getServletContext().getServerInfo() %></td>
            <td width="130"> 服务器端口</td>
            <td width="170"> <%= request.getServerPort() %></td>
          </tr>
          <tr bgcolor="#FFFFFF" height="22"> 
            <td height="22"> 当前用户</td>
            <td height="22" colspan="3"> <%=env.queryHashtable("user.name")%></td>
          </tr>
          <tr bgcolor="#FFFFFF" height="22"> 
            <td> 用户目录</td>
            <td colspan="3"> <%=env.queryHashtable("user.dir")%></td>
          </tr>
          <tr bgcolor="#FFFFFF" height="22"> 
            <td align=left bgcolor="#FFFFFF"> 本文件实际路径</td>
            <td height="8" colspan="3" bgcolor="#FFFFFF"> <%=request.getRealPath(request.getServletPath())%></td>
          </tr>
        </table>
    </td>
  </tr>
</table>
  <a name="JAVAInfo" id="JAVAInfo"></a><br>
<table border="0" cellpadding="0" cellspacing="1" class="tableBorder">
  <tr> 
      <td height="22" align="center" bgcolor="#f58200" οnclick="showsubmenu(1)"><font color=#FFFFFF><strong>JAVA相关参数</strong></font> 
        <a href="#top" title="返回顶部"><font face='Webdings' color=#FFFFFF>5</font></a> 
        <span id=txt1 name=txt1><a href='#' title='关闭此项'><font face='Wingdings' color=#FFFFFF>x</font></a></span> 
      </td>
  </tr>
  <tr> 
    <td style="display" id='submenu1'>
		<table border=0 width=100% cellspacing=1 cellpadding=3 bgcolor="#f58200">
          <tr bgcolor="#fcc79b" height="22"> 
            <td width="30%"> 名称</td>
            <td width="50%" height="22"> 英文名称</td>
            <td width="20%" height="22"> 版本</td>
          </tr>
          <tr bgcolor="#FFFFFF" height="22"> 
            <td width="30%"> JAVA运行环境名称</td>
            <td width="50%" height="22"> <%=env.queryHashtable("java.runtime.name")%></td>
            <td width="20%" height="22"> <%=env.queryHashtable("java.runtime.version")%></td>
          </tr>
          <tr bgcolor="#FFFFFF" height="22"> 
            <td width="30%"> JAVA运行环境说明书名称</td>
            <td width="50%" height="22"> <%=env.queryHashtable("java.specification.name")%></td>
            <td width="20%" height="22"> <%=env.queryHashtable("java.specification.version")%></td>
          </tr>
          <tr bgcolor="#FFFFFF" height="22"> 
            <td width="30%"> JAVA虚拟机名称</td>
            <td width="50%" height="22"> <%=env.queryHashtable("java.vm.name")%></td>
            <td width="20%" height="22"> <%=env.queryHashtable("java.vm.version")%></td>
          </tr>
          <tr bgcolor="#FFFFFF" height="22"> 
            <td width="30%"> JAVA虚拟机说明书名称</td>
            <td width="50%" height="22"> <%=env.queryHashtable("java.vm.specification.name")%></td>
            <td width="20%" height="22"> <%=env.queryHashtable("java.vm.specification.version")%></td>
          </tr>
		  <%
		  	float fFreeMemory=(float)Runtime.getRuntime().freeMemory();
			float fTotalMemory=(float)Runtime.getRuntime().totalMemory();
			float fPercent=fFreeMemory/fTotalMemory*100;
		  %>
          <tr bgcolor="#FFFFFF" height="22"> 
		  	<td height="22"> JAVA虚拟机剩余内存:</td>
            <td height="22" colspan="2"><img align=absmiddle class=PicBar width='<%=0.85*fPercent%>%'> <%=fFreeMemory/1024/1024%>M 
            </td>
          </tr>
          <tr bgcolor="#FFFFFF" height="22"> 
		  	<td height="22"> JAVA虚拟机分配内存</td>
            <td height="22" colspan="2"><img align=absmiddle class=PicBar width='85%'> <%=fTotalMemory/1024/1024%>M 
            </td>
          </tr>
        </table>
		<table border=0 width=100% cellspacing=1 cellpadding=3 bgcolor="#f58200">
          <tr bgcolor="#fcc79b" height="22"> 
            <td width="30%"> 参数名称</td>
            <td width="70%" height="22"> 参数路径</td>
          </tr>
          <tr bgcolor="#FFFFFF" height="22"> 
            <td width="30%"> java.class.path </td>
            <td width="70%" height="22"> <%=env.queryHashtable("java.class.path").replaceAll(env.queryHashtable("path.separator"),env.queryHashtable("path.separator")+"<br> ")%>		
			</td>
          </tr>
          <tr bgcolor="#FFFFFF" height="22"> 
            <td width="30%"> java.home</td>
            <td width="70%" height="22"> <%=env.queryHashtable("java.home")%></td>
          </tr>
          <tr bgcolor="#FFFFFF" height="22"> 
            <td width="30%"> java.endorsed.dirs</td>
            <td width="70%" height="22"> <%=env.queryHashtable("java.endorsed.dirs")%></td>
          </tr>
          <tr bgcolor="#FFFFFF" height="22"> 
            <td width="30%"> java.library.path</td>
            <td width="70%" height="22"> <%=env.queryHashtable("java.library.path").replaceAll(env.queryHashtable("path.separator"),env.queryHashtable("path.separator")+"<br> ")%>
			</td>
          </tr>
		  <tr bgcolor="#FFFFFF" height="22"> 
            <td width="30%"> java.io.tmpdir</td>
            <td width="70%" height="22"> <%=env.queryHashtable("java.io.tmpdir")%></td>
          </tr>
        </table>
    </td>
  </tr>
</table>
  <a name="Paramter" id="Paramter"></a><br>
  <form action="?action=query" method="post" name="queryform">
  <table border="0" cellpadding="0" cellspacing="1" class="tableBorder">
    <tr> 
      <td height="22" align="center" bgcolor="#f58200" οnclick="showsubmenu(2)"><font color=#FFFFFF><strong>参数查询</strong></font> 
        <a href="#top" title="返回顶部"><font face='Webdings' color=#FFFFFF>5</font></a> 
        <span id=txt2 name=txt2><a href='#' title='关闭此项'><font face='Wingdings' color=#FFFFFF>x</font></a></span> 
      </td>
    </tr>
    <tr> 
      <td style="display" id='submenu2'> 
	  	<table border=0 width=100% cellspacing=1 cellpadding=3 bgcolor="#f58200">
          <tr bgcolor="#fcc79b" height="22"> 
            <td> 请查询系统的参数信息(<a href="#" onClick="document.queryform.submit()">枚举所有参数信息</a>)</td>
          </tr>
          <tr bgcolor="#FFFFFF" height="22"> 
            <td align=center>
			<input type="text" name="query" class="input" size="70">  
			<input type="submit" value="提交" class="backc"> 
			<input type="reset" value="重置" class="backc">			</td>
          </tr>
        </table>
		<table border=0 width=100% cellspacing=1 cellpadding=3 bgcolor="#f58200">		
 <%
 	if(action.equals("query"))
	{
		String query=request.getParameter("query");
		env.getHashtable(query);
		if(env.htShowMsg.size()>0)
			out.println("<tr bgcolor=\"#fcc79b\" height=\"22\">\n<td> 参数名称</td>\n<td> 参数信息</td>\n</tr>");
		else
			out.println("<tr bgcolor=\"#fcc79b\" height=\"22\">\n<td> <font color=red>出错信息:</font></td>\n<td> <font color=red>没有找到你所查询的内容,请输入所要查询的参数,如果不确认,可以进行抽象查询,输入所包含字母。</font></td>\n</tr>");
		Enumeration em=env.htShowMsg.keys();
		while(em.hasMoreElements())
   		{
   			String strParam=(String)em.nextElement();
			String strParamValue=(String)env.htShowMsg.get(strParam);
			if(strParam.indexOf(".path",0)>=0){strParamValue=strParamValue.replaceAll(env.queryHashtable("path.separator"),env.queryHashtable("path.separator")+"<br> ");}
   			out.println ("<tr bgcolor=\"#FFFFFF\" height=\"22\"><td width=\"30%\"> "+strParam+"</td><td width=\"70%\"> "+strParamValue+"</td></tr>");
   		}
	}
 %>
	  </table>  		
	</td>
    </tr>
  </table>
  </form>
  <a name="ServerAbility" id="ServerAbility"></a> 
  <table border="0" cellpadding="0" cellspacing="1" class="tableBorder">
    <tr> 
      <td height="22" align="center" bgcolor="#f58200" οnclick="showsubmenu(3)"><font color=#FFFFFF><strong>服务器运算能力</strong></font> 
        <a href="#top" title="返回顶部"><font face='Webdings' color=#FFFFFF>5</font></a> 
        <span id=txt3 name=txt3><a href='#' title='关闭此项'><font face='Wingdings' color=#FFFFFF>x</font></a></span> 
      </td>
    </tr>
    <tr> 
      <td style="display" id='submenu3'> <table border=0 width=100% cellspacing=1 cellpadding=3 bgcolor="#f58200">
          <tr bgcolor="#fcc79b" height="22"> 
            <td colspan="3">  <font face='Webdings'>4</font> 让服务器执行300万次加法(<font color="#000000">整数运算</font>)和20万次开方(浮点运算),记录其所使用的时间。 
            </td>
          </tr>
          <tr height="22"bgcolor="#FFFFFF" > 
            <td align=center bgcolor="#FFFFFF"><font color="#000000">可 供 参 考 的 
              服 务 器 列 表</font></td>
            <td align="center">整数运算</td>
            <td align="center">浮点运算</td>
          </tr>
          <tr bgcolor="#FFFFFF" height="22"> 
            <td align=left> 公司的电脑 (CPU:Celeron 1G  内存:256M)</td>
            <td align="center">60 毫秒</td>
            <td align="center">70 毫秒</td>
          </tr>
          <tr bgcolor="#FFFFFF" height="22"> 
            <td align=left> 家里的电脑 (CPU:Duron 1G  内存:384M) </td>
            <td align="center">20 毫秒</td>
            <td align="center">10 毫秒</td>
          </tr>
          <tr bgcolor="#FFFFFF" height="22"> 
            <td align=left> <a href="http://free3.e-168.cn/cnforum/jspenv.jsp" target="_blank">中国网聚服务器  
              (CPU:Intel Pentium III 1G 内存:768M)</a></td>
            <td align="center">20 毫秒</td>
            <td align="center">3 毫秒</td>
          </tr>
          <tr bgcolor="#FFFFFF" height="22"> 
            <td align=left> <a href="http://ibmclub.hust.edu.cn/myweb/ggyy/jspenv.jsp" target="_blank">IBM俱乐部  
              (CPU:IIntel(R) Celeron(R) CPU 1.70G 内存:256M)</a></td>
            <td align="center">3 毫秒 </td>
            <td align="center">7 毫秒</td>
          </tr>
          <tr bgcolor="#FFFFFF" height=25> 
            <td align=left> <font color=red>您正在使用的这台服务器</font>  <INPUT name="button2" type="button" class=backc οnclick="javascript:location.reload()" value="重新测试"> 
            </td>
            <td align="center"><font color=red><%=env.test_int()%> 毫秒</font></td>
            <td align="center"><font color=red><%=env.test_sqrt()%> 毫秒</font></td>
          </tr>
        </table></td>
    </tr>
  </table>
  <a name="ISpeedTest" id="ISpeedTest"></a><br>
 <%
 	if(action.equals("SpeedTest"))
	{
 %>
<div id="testspeed" align="center"> 
  <table width="200" border="0" cellspacing="0" cellpadding="0" class="divcenter">
    <tr> 
      <td height="30" align=center><p><font color="#000000"><span id=txt5>网速测试中,请稍候...</span></font></p></td>
    </tr>
  </table>
</div>
<%}%>

  <table border="0" cellpadding="0" cellspacing="1" bgcolor="#f58200" class="tableBorder">
  <tr> 
    <td height="25" align="center" bgcolor="#f58200" οnclick="showsubmenu(4)"><font color="#FFFFFF"><strong>服务器连接速度</strong></font> 
      
<a href="#top" title="返回顶部"><font face='Webdings' color=#FFFFFF>5</font></a> <span id=txt4 name=txt4><a href='#' title='关闭此项'><font face='Wingdings' color=#FFFFFF>x</font></a></span> 

    </td>
  </tr>
  <tr> 
    <td bgcolor="#F8F9FC" style="display" id='submenu4'> <table width="100%" border="0" cellspacing=1 cellpadding=3 bgcolor="#f58200">
        <tr bgcolor="#FFFFFF"> 
          <td width="80">接入设备</td>
          <td width="420"> 连接速度(理想值)</td>
          <td width="100">下载速度(理想值)</td>
        </tr>
<tr bgcolor="#FFFFFF"> 
          <td>56k Modem</td>
          <td><img align=absmiddle class=PicBar width='1%'> 56 Kbps</td><td> 7.0 k/s</td>
        </tr>
        <tr bgcolor="#FFFFFF"> 
          <td>64k ISDN</td>
          <td><img align=absmiddle class=PicBar width='1%'> 64 Kbps</td><td> 8.0 k/s</td>
        </tr>
        <tr bgcolor="#FFFFFF"> 
          <td>512k ADSL</td>
          <td><img align=absmiddle class=PicBar width='5%'> 512 Kbps</td><td> 64.0 k/s</td>
        </tr>
        <tr bgcolor="#FFFFFF"> 
          <td height="19">1.5M Cable</td>
          <td><img align=absmiddle class=PicBar width='15%'> 1500 Kbps</td><td> 187.5 k/s</td>
        </tr>
        <tr bgcolor="#FFFFFF"> 
          <td>5M FTTP</td>
          <td><img align=absmiddle class=PicBar width='50%'> 5000 Kbps</td><td> 625.0 k/s</td>
        </tr>
        <tr bgcolor="#FFFFFF"> 
          <td>当前连接速度</td>
<%
if(action.equals("SpeedTest"))
{
		out.println("<script language='JavaScript'>var tSpeedStart=new Date();</script>")	;
		out.println("<!--\n");
		for(int i=0;i<1000;i++)
		{out.println("####################################################################################################");}
		out.println("-->\n");
		out.println("<script language='JavaScript'>var tSpeedEnd=new Date();</script>\n");
		out.println("<script language='JavaScript'>");
		out.println("var iSpeedTime=0;iSpeedTime=(tSpeedEnd - tSpeedStart) / 1000;");
		out.println("if(iSpeedTime>0) iKbps=Math.round(Math.round(100 * 8 / iSpeedTime * 10.5) / 10); else iKbps=10000 ;");
		out.println("var iShowPer=Math.round(iKbps / 100);");
		out.println("if(iShowPer<1) iShowPer=1;  else if(iShowPer>82)   iShowPer=82;");
		out.println("</script>\n");
		out.println("<script language='JavaScript'>") ;
		out.println("document.write('<td><img align=absmiddle class=PicBar width=\"' + iShowPer + '%\">' + iKbps + ' Kbps');");
		out.println("</script>\n");
		out.println("</td><td> <a href='?action=SpeedTest' title=测试连接速度><u>");
		out.println("<script language='JavaScript'>");
		out.println("document.write(Math.round(iKbps/8*10)/10+ ' k/s');");
		out.println("</script>\n") ;
		out.println("</u></a></td>");
%>
<script>
txt5.innerHTML="网速测试完毕!"
testspeed.style.visibility="hidden"
</script>
<%
}
else
{out.println("<td></td><td> <a href='?action=SpeedTest' title=测试连接速度><u>开始测试</u></a></td>");}
%>
        </tr>
      </table></td>
  </tr>
</table>
<%
	long timePageEnd = System.currentTimeMillis();
	long timePageUse=timePageEnd-timePageStart;
%>
<table border=0 cellpadding=0 cellspacing=1 class=tableBorder>
  <tr>
    <td height="59" align=center>Copyright ? 2005-2008 , All Rights Reserved. 
<br>
欢迎访问★<a href="http://free3.e-168.cn/cnforum/">JSP智库</a>★,下载最新版程序<br>
	页面执行时间:约<%=timePageUse%>毫秒  JspEnv V1.0</td>
  </tr>
</table>
</CENTER>
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值