JSP语法简明教程
程序员文章站
2024-01-04 21:45:04
...
[color=red][size=large]JSP中 <%! %> <% %> 2者之间声明的变量有什么不同? [/size][/color]
在之间放置声明变量是页面的成员变量。声明的变量在整个JSP页面都有效
jsp引擎将jsp页面转译成java文件时,将标记符之间声明的变量作为类的成员变量,这些变量占有的空间直到jsp引擎关闭才释放。(存在服务器中)
在之间声明的变量属于java程序片的局部变量,只在当前及后继的java程序片中有效。而且这些变量不是线程间共享的,各个客户之间是互不影响的。浏览器每请求一次页面,tomcat服务器就视为一个有一个新的用户,并为之建立一个线程来执行jsp转译、编译后的字节码。
在之间放置声明变量是页面的成员变量。声明的变量在整个JSP页面都有效
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<body>
<%!int i = 0;%>
<%
i++;
%>
<% int j = 0;j++;%>
<p>带!:您是第<%=i%>个访问本站的用户。</p> 每次刷新加1,而且不同浏览器访问共享
<p>不带!:您是第<%=j%>个访问本站的用户。</p>一直不变为 1
</body>
</html>
jsp引擎将jsp页面转译成java文件时,将标记符之间声明的变量作为类的成员变量,这些变量占有的空间直到jsp引擎关闭才释放。(存在服务器中)
在之间声明的变量属于java程序片的局部变量,只在当前及后继的java程序片中有效。而且这些变量不是线程间共享的,各个客户之间是互不影响的。浏览器每请求一次页面,tomcat服务器就视为一个有一个新的用户,并为之建立一个线程来执行jsp转译、编译后的字节码。
上一篇: 物联网与云计算融合开拓智慧城市的普及之路
下一篇: 无人直升机或将迎来“黄金十年”?