나는 나의 과목을 위해 JSP에서 히트 카운터를 쓰고있다. 나는 코드를 작성했지만 오류 및 그 작업은 없지만 문제는 다음과 같습니다. 사용자가 웹 사이트를 열고 다른 페이지를 사용하려고하면 사용자가 홈 페이지로 돌아갈 때마다 여전히 카운터가 있습니다. 번호를 추가하면 어떻게이 부분을 제한 할 수 있습니까? 세션으로 제한해야합니까?JSP 히트 카운터를 제한하는 방법은 무엇입니까?
<jsp:useBean id="counter" scope="application" class="counter.CounterBean" />
The current count for the counter bean is:
<jsp:setProperty name="counter" property="coun" value="1"></jsp:setProperty>
<%
counter.saveCount();
int _numberofvisitors=counter.getVisitorsNumber();
out.println(_numberofvisitors);
%>
콩 :
package counter;
import java.sql.*;
import java.sql.SQLException;
public class CounterBean implements java.io.Serializable {
int coun = 0;
public CounterBean() {
database.DatabaseManager.getInstance().getDatabaseConnection();
}
public int getCoun() {
return this.coun;
}
public void setCoun(int coun) {
this.coun += coun;
}
public boolean saveCount() {
boolean _save = false;
database.SQLUpdateStatement sqlupdate = new database.SQLUpdateStatement("counter", "hitcounter");
sqlupdate.addColumn("hitcounter", getCoun());
if (sqlupdate.Execute()) {
_save = true;
}
return _save;
}
public int getVisitorsNumber() throws SQLException {
int numberOfVisitors = 0;
if (database.DatabaseManager.getInstance().connectionOK()) {
database.SQLSelectStatement sqlselect = new database.SQLSelectStatement("counter", "hitcounter", "0");
ResultSet _userExist = sqlselect.executeWithNoCondition();
if (_userExist.next()) {
numberOfVisitors = _userExist.getInt("hitcounter");
}
}
return numberOfVisitors;
}
}
그것은 당신이 계산하고 싶은 것을 명확하지 : 다음과 같은
count
값을 증가? 세션 수 또는 고유 IP 수를 기반으로 계산 하시겠습니까? 또는 매번 방문자 당 고유 한 페이지 뷰 수를 계산 하시겠습니까? 기타 – BalusC