为什么在页面的显示中他们的效果完全一样?
但是,代码却相差这么大?
<%! int a=1; %>
<% out.print("a的显示次数为"+a++); %><%
int b=0;
if(application.getAttribute("pnum")!=null)
{
b=((Integer)application.getAttribute("pnum")).intValue()+1;
application.removeAttribute("pnum");
application.setAttribute("pnum",b);
}
if(b==0)
{
b=1;
application.setAttribute("pnum",b);
}
%>
<%
out.print("b的显示次数为"+b); %>
但是,代码却相差这么大?
<%! int a=1; %>
<% out.print("a的显示次数为"+a++); %><%
int b=0;
if(application.getAttribute("pnum")!=null)
{
b=((Integer)application.getAttribute("pnum")).intValue()+1;
application.removeAttribute("pnum");
application.setAttribute("pnum",b);
}
if(b==0)
{
b=1;
application.setAttribute("pnum",b);
}
%>
<%
out.print("b的显示次数为"+b); %>
解决方案 »
- 怎么用tomcat发布webservices啊??
- 【急】Jsp获得三级联动值问题.求帮助,还需要插入数据库,
- 跪求 RichFaces 下面报错信息 (真诚地希望大家帮忙看看)
- JSP中关于JSTL标签使用的问题
- 求教:广域网中的计算机如何访问Tomcat的wabapps下的页面
- 最菜的问题:大家看看我的代码怎么写才可以达到这样的效果?高分送,我会另开贴送分
- 那位老兄有JFreeChart的教程~~~~或则很熟悉JFreeChart
- #####Tomcat下执行servlet的问题#####
- 我遇到一个错误。可能是page的buffer太小。高手看看
- 在tomcat4 中怎样配置虚拟目录
- 求助java桥连和纯java连的各两种方式?
- 谁帮我解释下这个js代码
只能说,第二个程序,比第一个程序多了一些判断和处理,只是这些判断和处理在你的一次显示中没有影响到b的值如果pnum的值不为0或null,结果就不一样了
其实如果你不理解,那我真的说你还没学过jsp吧?
为空则设置一个初始值 1
jsp 9大对象
第二种当中,他对于b的值判断。如果是第一次打开这个页面呢。走
if(b==0)
{
b=1;
application.setAttribute("pnum",b);
}
这个部分。同时把b存起来。
再刷新页面,就走第一个方法了。这时候把存起来的b取到,直接+1.
这种方法有情况的判断,相对更合理,但是更占资源。
第二个代码只要web服务器不关闭就能不停的计数。
<%! int i=0;
%>
相当于这个i变成成员变量,因为多了一个!而一个JSP只有一个对象,所以多个浏览器访问时,都是同一个对象在服务,而多个人访问之后的都会累加起来.
另一个则是因为一个WEB应用程序都有一个application对象,在一个WEB项目中,有很多的JSP,在所有的JSP中,这个application都是一样的.针对一个JSP来说,那就肯定是一样的了,不管多少个浏览器来访问.
这几位大哥的耐心回答,正有了你们这些热心人,我们这些菜鸟才会进步另外,对那些自以为是的前辈们说句话:难道你们在刚接触WEB的时候,难道一个问题都没有?
难道全部都是一接触就全懂了,全明白了?