JSP-トラフィックの統計情報

まず、アイデア

(A)変数(hitcounter)は、プログラムの動作中に効果的である、それはリセットされません。そのため、スコープの最大の内蔵アプリケーション内のオブジェクトを使用して。
(B)(存在しないかもしれない)アプリケーションがすでに存在している取得。

Integer hitCounter = (Integer)application.getAttribute("hitCounter");

判定が既に存在するかどうか(C)。

プロジェクト 存在しません。 存在します
条件 hitCounter == nullの|| hitCounter == 0。 hitCounter!= nullの&& hitCounter!= 0
プロセス hitCounter = 1 hitCounter ++

(D)更新されたデータ、および再度書き込みプログラム。

application.setAttribute("hitCounter", hitCounter);

(E)ページが表示されます。

<p>页面访问量为: <%=hitCounter %></p>

第二に、短期記憶(データベースなし)

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<html>
<head>
  <title>访问量统计</title>
</head>
<body>
<%
    Integer hitsCount = (Integer)application.getAttribute("hitCounter");
    if( hitsCount ==null || hitsCount == 0 ){       
       out.println("欢迎访问!");
       hitsCount = 1; /* 第一次访问 */
    }else{       
       out.println("欢迎再次访问!");
       hitsCount += 1;/* 返回访问值 */
    }
    application.setAttribute("hitCounter", hitsCount);
%>
<p>页面访问量为: <%=hitsCount %></p>
</body>
</html>

第三に、長期保存(データベースで)

常にデータベース、パフォーマンスの低下に接続する必要があります。...未完成。

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<html>
<head>
  <title>访问量统计</title>
</head>
<body>
<%
    Integer hitsCount = (Integer)application.getAttribute("hitCounter");
    if( hitsCount ==null || hitsCount == 0 ){       
       out.println("欢迎访问!");
       hitsCount = 1; /* 第一次访问 */
    }else{       
       out.println("欢迎再次访问!");
       hitsCount += 1;/* 返回访问值 */
    }
    application.setAttribute("hitCounter", hitsCount);
%>
<p>页面访问量为: <%=hitsCount %></p>
</body>
</html>

おすすめ

転載: blog.csdn.net/lizengbao/article/details/88320980