gpt4 book ai didi

java - 如何限制 JSP 的点击计数器?

转载 作者:行者123 更新时间:2023-11-29 06:22:00 25 4
gpt4 key购买 nike

我正在为我的类(class)作业在 JSP 中编写一个点击计数器。我已经编写了代码,没有错误并且可以正常工作,但问题是:如果用户已经打开网站并尝试使用不同的页面,每当用户返回主页时计数器仍然在添加数字,我该如何限制这部分?应该用 session 限制它吗?这是我的代码:

<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);
%>

bean 类:

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;
}
}

最佳答案

修改这部分代码:

<%
counter.saveCount();
int _numberofvisitors=counter.getVisitorsNumber();
out.println(_numberofvisitors);
%>

<%
if (session.isNew()) {
counter.saveCount();
} else {
counter.setCoun(-1);
}
int _numberofvisitors=counter.getVisitorsNumber();
out.println(_numberofvisitors);
%>

希望这对您有所帮助。

更新:顺便说一句,最好为您的 Counter 类的方法选择更好的名称。首先,将 setCoun 更改为 setCount。此外,setter 方法通常只是将传递给它的值分配给它的关联字段。如果要增加 count 的值,请将方法名称更改为 addCount。然后增加 count 值,如:

<jsp:setProperty name="counter" property="coun" value="${1 + counter.coun}"></jsp:setProperty>

关于java - 如何限制 JSP 的点击计数器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2662605/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com