我是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);
}