showlast.jsp
上传用户:jhtang88
上传日期:2014-01-27
资源大小:28528k
文件大小:7k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. <%@ page contentType="text/html;charset=gb2312"%>
  2. <%@ page import="java.util.Calendar" %>
  3. <%@ page import="cn.js.fan.db.*" %>
  4. <%@ page import="java.sql.*" %>
  5. <jsp:useBean id="fchar" scope="page" class="cn.js.fan.util.StrUtil"/>
  6. <%!
  7. String connname = "forum";
  8. int CountSize = 6;    //计数不足在前面加零
  9. boolean CountView = true;  //计数是否显示在页面上,False/True
  10. boolean CountType = true;  //统计是记时间还是不记.True记,False不记
  11. boolean CountMode = true; //在页面上显示不计时的计数结果,还是显示计时的结果,默认为不计时(计时为:20分钟内不加数)
  12. int Avera,DayMax,AllCount;
  13.  //计算两个日期之间相隔的天数
  14.  public int DateDiff(java.util.Date lowerLimitDate,java.util.Date upperLimitDate){
  15.    long upperTime,lowerTime;
  16.    upperTime=upperLimitDate.getTime();
  17.    lowerTime=lowerLimitDate.getTime();
  18.    if(upperTime<lowerTime)
  19. return -1;
  20.    Long result=new Long((upperTime-lowerTime)/(1000*60*60*24));
  21.    return result.intValue();   
  22.  }
  23. %>
  24. <%
  25. ConnUpdate conn = new ConnUpdate(connname);
  26. //==========================================================================
  27. String CountLink = request.getContextPath()+"/forum/admin/counter/ViewInfo.asp"; //查看统计结果的连接。
  28. String ImageLink = request.getContextPath()+"/forum/admin/counter";              //图片地址
  29. Calendar cal = Calendar.getInstance();
  30. String today = cal.get(cal.YEAR)+"-"+cal.get(cal.MONTH)+"-"+cal.get(cal.DATE);
  31. //===========================================================================
  32. String NewYear,NewMonth,NewDay;
  33. NewYear = Integer.toString(cal.get(cal.YEAR));
  34. NewMonth = Integer.toString(cal.get(cal.MONTH)+1);
  35. NewDay = Integer.toString(cal.get(cal.DATE));
  36. if (NewYear.length()<=2) NewYear="20" + NewYear;
  37. if (NewMonth.length()<=1) NewMonth="0" + NewMonth;
  38. if (Integer.parseInt(NewDay)<=1) NewDay="0" + NewDay;
  39. //===========================================================================  基本统计数据
  40. int DayTotal = 0;
  41. ResultSet rs = conn.executeQuery("Select count(*) from DayCount");
  42. if (rs!=null && rs.next())
  43. DayTotal = rs.getInt(1);                              //获得统计总天数
  44. else
  45. DayTotal = 0;
  46. if (rs!=null) rs.close();
  47. rs = conn.executeQuery("Select * from Count");
  48. java.util.Date StartDate,LogDate=null;
  49. int ToDay=0,TotalDays=0;
  50. if (rs!=null && rs.next())
  51. {
  52. StartDate = rs.getDate("StartDate");                                 //开始统计日期
  53. DayMax    = rs.getInt("DayMax");                                     //最高一天流量
  54. AllCount  = rs.getInt("AllCount");                                   //统计访问总数(使用的天数)
  55. ToDay     = rs.getInt("ToDayCount");                                 //今天访问流量
  56. LogDate   = rs.getDate("LogDate");                                   //统计截止日期
  57. TotalDays = DateDiff(StartDate,new java.util.Date())+1;          //统计访问日期数(不管有没有使用,从开始统计算起.)
  58. Avera     = rs.getInt("AllCount") % TotalDays;                   //日均访问流量
  59. }
  60. if (rs!=null) rs.close();
  61. if (DateDiff(LogDate,new java.util.Date())>=1) ToDay = 0;
  62. //===========================================================================  预计一天访问量
  63. int intending=(ToDay/(cal.get(cal.HOUR)+1)*(24-cal.get(cal.HOUR)-1)+ToDay);
  64. //===================================================================
  65. String DayID,MonID,YearID;
  66. boolean MyDay;
  67. DayID = request.getParameter("day");
  68. MonID = request.getParameter("mon");
  69. if (DayID==null || !fchar.isNumeric(DayID))
  70. {
  71.      DayID  = NewDay;
  72.      MyDay  = false;
  73. }
  74. else
  75. {
  76.      DayID = DayID.trim();
  77.  MyDay  = true;
  78. }
  79. if (MonID==null || !fchar.isNumeric(MonID))
  80. {
  81. MonID = NewYear + NewMonth;
  82. }
  83. else
  84. MonID = MonID.trim();
  85. YearID = MonID.substring(0,4);
  86. String Mon = MonID.substring(MonID.length()-2);
  87. String dToday = YearID + "-" + Mon;
  88. %>
  89. <%
  90. //===========================================================================
  91. %>
  92. <html>
  93. <head>
  94. <title>风之城统计系统</title>
  95. <%@ include file="../../inc/nocache.jsp"%>
  96. <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  97. <link rel="stylesheet" href="../../common.css" type="text/css">
  98. <style type="text/css">
  99. <!--
  100. BODY {font-size:9pt;font-family:Tahoma,Verdana,MS Sans Serif,Courier New;}
  101. A:link,A:visited{text-decoration:none;}
  102. A:hover {text-decoration:underline;}
  103. A:hover {text-decoration:overline;color:#FFFF00}
  104. TR,TD,P{font-size:9pt}
  105. B{color:#E1005D;}
  106. INPUT.text,INPUT.file,SELECT,TEXTAREA{color:#000000;background-color:#FFFFFF;border:1 solid #220430}
  107. #TITLE{height:20;Filter: shadow(color=#00AAFF,direction=135);}
  108. .notice{position:relative;height:50;overflow:visible;border:0;z-index:2}
  109. FONT.table{color:#000000}
  110. FONT.strong{color:#FFFFEE;font-weight:bold}
  111. .footer{color:#FFFFEE;font-size:8pt}
  112. .info,.title{background-color:#002F90}
  113. .outter{background-color:#350682}
  114. .cell{background-color:#9B9D9A}
  115. FONT.search{color:#FFFFFF}
  116. FONT.notice{color:#FFFFFF}
  117. .retable{background-color:#FFFFFF}
  118. .rcontent{background-color:#F0F0F0}
  119. FONT.small{font-size:7pt}
  120. -->
  121. </style>
  122. </head>
  123. <body bgcolor="#FFFFFF" text="#000000">
  124. <table width="576" border="0" cellpadding="0" cellspacing="0" align="center" height="48">
  125.   <tr> 
  126.     <td align="center"><font color="#000000">今日: <%=today%><img src="<%=ImageLink%>/theme/default/vstatb.gif"> 
  127.       全部: <%=AllCount%><img src="<%=ImageLink%>/theme/default/hstatt.gif"> 最高: 
  128.       <%=DayMax%><img src="<%=ImageLink%>/theme/default/vstatg.gif"> 日均: <%=Avera%> 
  129.       </font></td>
  130.   </tr>
  131. </table>
  132. <table width="576" height="21" align="center" border="0" cellpadding="0" cellspacing="0">
  133.   <tr class=info><td align=right colspan=3><font class=strong>最后20位访问 统计</font></td></tr>
  134. <%        
  135.         ResultSet MyCount = conn.executeQuery("Select * FROM lastly order by Date desc");
  136.         if (conn.getRows()>0)
  137. {
  138. while (MyCount.next())
  139. {
  140.  String Online = "<Img Src=" + ImageLink + "/theme/default/online.gif align=absmiddle width=13 height=15>";
  141.  %>
  142.  <tr class=rcontent><td height=30><nobr><%=MyCount.getDate("Date")%></nobr></td><td><nobr><%=Online%><%=MyCount.getString("IP")%></td><td><%=MyCount.getString("BC")%>&nbsp;&nbsp;<%=MyCount.getString("OS")%></td></tr>
  143.  <%
  144. }
  145. }
  146. else
  147.             out.println("<tr class=rcontent><TD colspan=3 align=center>没有统计数据</TD></TR>");
  148.         MyCount.close();
  149.         conn.close();  
  150. %>
  151. </table>
  152. <table width="576" border="0" class="p9" cellpadding="0" align="center">
  153.   <tr>
  154.     <td align="center" height="42"> 
  155.       截止日期: <%=LogDate%>, 统计天数: <%=DayTotal%>/<%=TotalDays%> 天, 预计本日访问量: <%=intending%> 
  156.       人 </td>
  157.   </tr>
  158. </table>
  159.      
  160. <table cellspacing='0' cellpadding='3' width='576' border='0' align="center">
  161.   <tr><td align=center><font class=footer>风之城<br><img src='theme/default/hr_black.gif' height=2 width='60%'><br>Copyright &copy2000-2001 <A href='mailto:bestfeng@163.com'>风青云</A>,All Rights Reserved</font></td></tr>
  162.      <tr><td>
  163.      </td></tr></table>
  164. </body>
  165. </html>