jsp 计数器 使用application对象和使用全局变量实现的区别

一、在此标识符中定义的变量为全局变量,在此之中也可定义函数。程序代码如下:<%@pagecontentType="text/html;charset=GB2312"%><... 一、在此标识符中定义的变量为全局变量,在此之中也可定义函数。程序代码如下:
<%@ page contentType="text/html;charset=GB2312" %>
<html>
<head>
<title>
java计数器程序片
</title>
</head>
<body>
<%!//在这种标记中定义的变量为全局变量
int count=0;
synchronized void count(){
count++;
}
%>
<%
count();
out.println("这是第"+count+"个访问者!");
%>
</body>
</html>

二、jsp的内置对象application。程序代码如下:

<%@ page contentType="text/html;charset=GB2312" %>
<html>
<head>
<title>
java计数器程序
</title>
</head>
<body>
<%
if(application.getAttribute("count")==null){
application.setAttribute("count",new Integer(0));
}
Integer count=(Integer)application.getAttribute("count");

application.setAttribute("count",new Integer(count.intValue()+1));
count=(Integer)application.getAttribute("count");
%>
<center>这是第<%=count.intValue()%>个访问者!</center>
</body>
</html>

一般用到计数器好像都是用第二种代码的
但是想知道这两种方法有什么区别?
展开
 我来答
苏东坡卖瓜
2010-12-09 · TA获得超过149个赞
知道小有建树答主
回答量:122
采纳率:100%
帮助的人:73.2万
展开全部
jsp内置四种对象,其中一种就是application,application比较重要的两个方法就是getAttribute()和setAttribute方法,application对象是在服务器开启之后建立,服务器关闭之后application对象就会销毁,也就是说它是为所有访问该服务器的用户共享!
而第一种方法里的全局变量只在当前page内有效,这就是计数器为什么要用到application对象的原因! 希望能帮到你!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式