代码含义:
<%! int a=0; %>相当于在servlet中声明全局变量a,并赋初值为0;
<% int b=0; a++; b++; %>相当于在servlet的service方法中声明b变量(局部变量),并实现a、b自增;
a:<%=a %>输出a的值;
<br>换行
b:<%=b %>输出b的值;
第二次访问输出结果:
a:2
b:1
原因:a为全局变量,每次request通过servlet的service方法而实现a的自增,顾每次访问网页a的值自增,而b变量为servlet的service方法中的局部变量,实现b变量的声明和自增,所以不管访问多少次,b的值始终为1.
重点:针对这个问题你需要明白两点:
1、全局变量和局部变量的区别
2、JSP页面代码的实现机制,其实你在JSP页面中所写的Java代码,相当于你在自己书写servlet时所写的代码,只不过JSP页面自动生成了servlet类包含了你在JSP页面内所写的代码
注:虽然这样的代码可以直接看出结果,但为了负责的态度,经过了实测,确保答案正确
温馨提示:答案为网友推荐,仅供参考