代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
//定义全局变量
<%!int num1 = 1;%>
<%
//全局变量递增
num1++;
//定义局部变量
int num2=1;
//局部变量递增
num2++;
%>
<h1>
//输出全局变量
<%= num1%>
</h1>
<h1>
//输出局部变量
<%= num2%>
</h1>
</body>
</html>
效果
可以看到,全局变量在每次刷新网页的时候都会递增,而局部变量不会。
我们可以理解为,Java中的成员变量是Jsp中的全局变量,Java中的局部变量是Jsp中的局部变量,在每次刷新网页的时候相当于重新执行Java中的方法,所以在每次刷新的时候不会重新初始化全局变量,而局部变量会再次初始化,这就全局变量和局部变量的区别。
这是我的个人理解,逻辑是如此,与里面的机制有关。