java - 统计访问次数的 Servlet

标签 java servlets

我是 servlet 新手,今天上了第一课。

现在,我正在尝试创建一个 servlet 来计算用户的访问次数。

关于如何增加计数器总是出现错误:

    HttpSession session = req.getSession(true);
Integer visitCount = new Integer(0);
String visitCountKey = new String("visitCount");
synchronized (this) {
    if (!session.isNew()) {
        visitCount = (Integer) session.getAttribute(visitCountKey);
        visitCount = new Integer(visitCount.intValue() + 1); //error
    }
    session.setAttribute(visitCountKey, visitCount);
}

我正在创建一个新的整数,因为我在 stackoverflow 上看到整数是不可变的。但它仍然不起作用,并在该行上给了我一个错误。

有人可以帮助我吗?

亲切的问候,

最佳答案

您应该添加 null 检查 visitCount

HttpSession session = req.getSession(true);
String visitCountKey = new String("visitCount");
synchronized (this) {

    Integer visitCount = (Integer) session.getAttribute(visitCountKey);
    if(visitCount == null) {
        visitCount = 0;
    }
    visitCount = new Integer(visitCount.intValue() + 1);
    session.setAttribute(visitCountKey, visitCount);
}

关于java - 统计访问次数的 Servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10297759/

相关文章:

jsp - 属性还是属性?

java - 如何在转发到另一个资源之前添加响应 header

java - 为什么我在 java 中收到 NoClassDefFoundError 错误?

java.lang.IndexOutOfBoundsException : Source does not fit in dest

java - java Restful Servlet 的版本控制

java - 获取和设置 session 值

java - 需要帮助对整数进行一些特定的格式化(java)

java - 关于 Linux 上的 getBounds() 和 setBounds() 的 bug_id=4806603 的解决方法?

java - 覆盖 spring validator 中的错误消息

java - 我如何摆脱 : HTTP Status 405 - HTTP method GET is not supported by this URL?