首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

初学JSP 绝对基础的有关问题

2012-03-04 
初学JSP绝对基础的问题%@pagecontentType text/htmlcharsetGBK %htmlheadtitle jshellver0.1

初学JSP 绝对基础的问题
<%@   page   contentType= "text/html;   charset=GBK "   %>


<html>
<head>
<title> jshell   ver   0.1 </title>
</head>
<body>
<%!
int   i=0;
%>

<%
out.println(i++);
%>

</body>
</html>

上面这些代码   我用ie浏览
一直手动刷新   每刷一次   i的值就会加1
可是     我这里出现了一个问题
有的时候   我刷着刷着   i   的值突然就变成了0!   这是为啥!?

[解决办法]
我觉得可能是由于SERVLET的多线程的安全问题造成的,因为使用 <%! %> 声明的变量是Servlet的实例变量,不是线程安全的,比 <%!int i=0;%> 如果你改成 <% int i=0;%> 则是线程安全的,这样你的问题也许就解决了。
线程安全问题主要是由实例变量造成的,不管在Servlet还是JSP,或者在Struts的Action里面,不要使用实例变量,任何方法里面都不要出现实例变量,你的程序就是线程安全的,就不会出现类似你说的这些问题,你可以试试看。

热点排行