基本语法
<%! %>或者:<jsp:declaration> </jsp:declaration>
在此声明的变量或方法,在编译后会成为成员变量和成员方法,基于servlet的运行机制,这些变量或方法会成为唯一的一份,直到jsp程序停止执行
举例:
<span style="font-size:14px;"><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%!int count = 1;%><%-- 这里声明的变量 属于成员变量--%>
<% int count2 = 1;%><%--这里声明的变量为service方法中的局部变量,并且此处不能声明方法 --%>
<h2><%="count in <%!> is "+ count++ %></h2>
<h2><%="count in <% >is"+count2++ %></h2>
</body>
</html></span>
运行结果如下:
刷新之后变成:
jsp会在第一次被访问时,被编译成servlet对外提供服务,每个servlet只会生成一个对象,客户对同一servlet的多个请求只会产生多个线程,每一个线程调用单一servlet的service方法,因此成员变量的值可以保留,但是service方法中的变量每次访问都会刷新