当前位置: 代码迷 >> Java Web开发 >> 在<% %> 中定义的变量与<%! %>中定义的变量有什么不同
  详细解决方案

在<% %> 中定义的变量与<%! %>中定义的变量有什么不同

热度:930   发布时间:2016-04-17 01:18:52.0
在<% %> 中定义的变量与<%! %>中定义的变量有什么不同?
在<% %> 中定义的变量与<%! %>中定义的变量有什么不同?

------解决方案--------------------
<% %>定义局部变量,每次访问页面的时候变量都要声明;
<%! %>定义成员变量,访问页面的话只声明一次。
------解决方案--------------------
和那简单 
<% %>中定义的变量为局部变量 他在JSP转化为servlet的时候是jsp_servlet方法里面的局部变量 
而<%! %>中定义的为全局变量 他在JSP转化为servlet的时候为全局变量
------解决方案--------------------
<%int i=5;%>
局部变量


<%!int i=6; %>
全局变量

楼主可以去tomcat下的work\Catalina\localhost 找到自己的项目
并找到页面对应生成的servlet 打开看看就明白了
------解决方案--------------------
<% %>中定义的变量不是静态的
而在<%! %>中定义的变量是public static型的 只初始化一次
<% int b=2;%>
<%! int a=2;%>
<%=a++%> <%=b%>
在jsp中运行四次 
第一次:a=2 b=2
第二次:a=2 b=2
第三次:a=3 b=2
第四次:a=4 b=2
这里面是有很多学问的 关键的是在不断的实践中发现问题 解决问题 以求不断的提高自己
  相关解决方案