当前位置: 首页 > 知识库问答 >
问题:

在jsp中使用应用程序时计数错误

燕宜修
2023-03-14
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>
<html>
    <body>
        <%
            Integer count;
            synchronized (application) {
                count = (Integer) application.getAttribute("count");
                if(count == null)
                    count = new Integer(0);
                count = new Integer(count.intValue() + 1);
                application.setAttribute("count", count);
            }
        %>
        This page has been visited <%= count.intValue() %> times!
    </body>
</html>

共有1个答案

长孙正卿
2023-03-14

为什么要同步?为什么不直接使用全局变量(即javastatic)?

您不必担心Web服务器上的线程。它应该能处理的。

服务器上的全局变量对于所有线程都是相同的。

application.setAttribute(String Key, Object Value);
application.getAttribute(String Key);
<%
    Integer hitsCount = (Integer)application.getAttribute("hitCounter");
    if( hitsCount ==null || hitsCount == 0 ){
       /* First visit */
       out.println("Welcome to my website!");
       hitsCount = 1;
    }else{
       /* return visit */
       out.println("Welcome back to my website!");
       hitsCount += 1;
    }
    application.setAttribute("hitCounter", hitsCount);
%>
<p>Total number of visits: <%= hitsCount%></p>
 类似资料:
  • 我试图理解我们什么时候需要使用这个应用程序。在我们的node Express中使用 当我在网上搜索时,我在reddit上偶然发现了这个答案,它说明了应用程序之间的区别。获取和应用程序。使用 在此基础上,我总结了以下几点。 充当超级路由或中间件?这意味着它在? 此外,如果有人能添加更多关于app.use.的信息/练习,我将不胜感激

  • 很抱歉问这个问题。我找了几个小时,但找不到任何帮助。 我想用JSP做一个简单的问答应用程序。我创建了如下2个表 col1:QuizId col2:测验名称col3:问题数 COL1:QtnNum COL2:问题COL3:option1COL4:option2COL5:option3COL6:option4COL7:correctoption 我的要求是在页面末尾添加一个提交按钮。单击submit按

  • 问题内容: 我正在用这个 但是这个: 给我这个错误: 而且我真的不明白怎么了 问题答案: 可能是因为您误解了工作原理。 正确的代码段为: 但: 我强烈建议您不要使用,而是使用!它是JavaFX API的一部分,您不必执行这些调用。这只是很快就被黑了,但是您知道了:

  • 在部署应用程序后,我得到HTTP404页面未找到错误我是新的jsp请有人帮助我。

  • 我有一个使用firebase显示广告的应用程序。问题是一些设备(似乎只有Android 4.4设备)崩溃。以下是坠机报告: 我猜这个错误可能与我的一些依赖项的版本有关。 以下是顶级渐变中的依赖项: 还有我的应用程序gradle: 任何提示都会有帮助!提前谢谢!

  • 我们有一个应用程序,利用在应用程序计费。我们看到的问题如下: 当使用较高版本代码的构建被上传到Play Developer控制台时,In App Billing将停止在设备上的应用程序(使用较低版本代码)上工作,表示“应用程序未配置为计费”。 这很好,在测试的时候,但问题是--当应用程序在Google Play商店中时,会有什么行为?当您替换应用程序(以执行更新)时,处于野生状态(具有较低版本代码