jsp中存在一个奇奇怪怪的bean标签。
例如
现在在java包中定义一个类test2
package bean;
public class test {
private int number;
public test()
{
number=100;
}
public int get_number()
{
return number;
}
public void set_number(int x)
{
number=x;
如果有jsp文件
<jsp:useBean id="student" scope="application" class="bean.test"/>
<%=student.get_number()%>
<%student.set_number(4);%>
这里相当于定义了一个test类的实例student。这里奇怪的地方在于,第一次运行这个jsp文件,网页输出值为100。
然而,如果服务器没有宕机,第二次,第三次运行这个jsp文件,网页输出值即为4
这就是bean与普通的jsp内嵌java代码不同的地方。bean中声明的变量在他的作用范围内类似于static。
我将bean中的变量地址打印出来,发现多次运行同一个jsp文件,bean中的变量地址是不会改变的。然而如果是内嵌
java代码,所声明的变量地址会不断变化。