jsp bean标签

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代码,所声明的变量地址会不断变化。

原文地址:https://www.cnblogs.com/elnino/p/4507848.html