在jsp中的局部和全局变量

jsp中的局部和全bai局变定义方法:
全局变量du的定义方法:<%! 变量类型 变量名%>
如,定义一个int型的zhi全局变量a写法如dao下:
<%! int a;%>
局部专变量定义方法:<% 变量类型 变量名属%>
如,定义一个String型的局部变量b写法如下:
<% String sign = "1";%>

<%! %> 中定义的变量可以理解为全局变量,制内容会直接编译在Servlet类中,Servlet类是一个单例的类,只初始化一次,然后在你的后面定义的方bai法中进行了多次累加
<% %>中定义的变量可以理解为方法内的局部变量,你可以理解其中定义的语句即为一du个方法,每次刷新页面这个方法会被调用一次,zhi也就是说 j 每次刷新都会重新初始化,

并在下dao一句代码中对i和j分别进行了累加。

其实你换种方式看,jsp最终会转译成servelt
你说的那全局变量就是那类的成员变量 作用域:为整个类
而后者则是在方法 doget 或 dopost方法里,作用域为,某个方法

全局变量在关闭该网页、关闭浏览器、更换浏览器,再重新访问该jsp页面后仍然持续保留之前的值;

但在清除tomcat的work文件夹,或重启tomcat后恢复初始值。

原文地址:https://www.cnblogs.com/huhewei/p/13019928.html