JSP 变量定义

JSP中如何定义静态变量,急需呀

<%!
private static int a = 0;
%>追问

我是这样定义的

后面代码中有累加i,调试时,i值会每点一次,增加,
但重新关闭tomcat,重新调试,i又从1开始,想问,如何永久保存记录i的值

追答

tomcat关闭时,i的值是肯定会还原成1,想保存i的值,可以把i保存在数据库中,或是保存在文件中,都可以啊

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-19
jsp页面中<%! %>内定义的是全局变量。
使用<%! %>定义的变量编译成servlet后成为servlet的私有成员变量,在servlet环境中,对于一个JSP页只允许有一个结果servlet的实例在运行和响应所有的页面请求。因此,在结果servlet中所有的成员变量可以被所有的请求所共享,所以只要成员变量没有重新赋值,下次访问该页面时仍然不变。而在<% %>中定义的变量编译成servlet后成为service()方法的一个本地变量,而service()方法中的本地变量只能每响应一次请求就重建一次。
第2个回答  2011-06-17
<%
..........(这里可以写Java代码)
%>追问

我是这样定义的

后面代码中有累加i,调试时,i值会每点一次,增加,
但重新关闭tomcat,重新调试,i又从1开始,想问,如何永久保存记录i的值

追答

你想做网站访问的累加器吗?

容器都关了,你怎么可能还希望保存住变量的值啊?

所以用其它的东西来保存,
1.存到数据库里。
2.存到一个文件里。
做一个侦听器,Tomcat启动时读取出数据,
如果你放心的话,就在tomcat关闭时再写回去,不放心就设置一个时机写回取,不要频繁的写就行了。

第3个回答  2011-06-17
<%!
//加一个!,这里声明的变量可以在不同客户端之间共享
%>追问

我是这样定义的

后面代码中有累加i,调试时,i值会每点一次,增加,
但重新关闭tomcat,重新调试,i又从1开始,想问,如何永久保存记录i的值

追答

想要永久保存,只能把i的值存进数据库

第4个回答  2011-06-17
<%!
static Integer n = 5;
%>追问

我是这样定义的

后面代码中有累加i,调试时,i值会每点一次,增加,
但重新关闭tomcat,重新调试,i又从1开始,想问,如何永久保存记录i的值

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网