复制代码

public class CounterBean{    private int count=0;    
    public CounterBean(){}    public int getCount()
    {return count;}    public void setCount(int count)
    {this.count=count;}

}

复制代码

 


在JSP中访问JavaBean
1.访问JavaBean的JSP标签:

2.jsp:useBean的原理代码:

复制代码

ms.CounterBean myBean =null;

myBean = session.getAttribute("myBean");if(myBean==null)
{
    myBean = new ms.CounterBean();
    session.setAttribute("myBean",myBean);
}

复制代码


  |说明:实际上是创建了一个myBean变量,同时把它放入了会话范围内,所以id应该唯一。

3.访问JavaBean属性:

4.JavaBean的范围:scope属性:
  page范围:页面范围内
    从客户请求访问一个JSP开始到这个JSP文件执行结束。 

页面范围内的JavaBean只有当前JSP页面生效,假如A页面发生请求转发B页面的话,被请求的B页面无法使用A页面的JavaBean。

  request范围:请求范围内
    从客户请求访问一个JSP文件开始,到这个JSP文件返回响应结果结束。  

假如A页面发生请求转发B页面的话,被请求的B页面可以使用A页面的JavaBean。


  session范围:会话范围内
    会话范围对应整个会话的生存周期,处于同一个会话范围内的Web组件共享这个隔会话范围内的JavaBean对象。

会话范围内的JavaBean对象实际上是保存在HttpSession对象中的,因此可以通过ServletContext.getAttribute()方法读取该Web应用范围内的JavaBean对象。


  application范围:在Web应用范围内
    Web应用范围对应整个Web应用的生存周期,处于同一个Web应用中的所有Web组件共享这个Web应用范围内的javaBean对象。

Web应用范围内的JavaBean对象实际上是保存在ServletContext对象中的,因此可以通过ServletContext.getAttribute()方法读取该Web应用范围内的JavaBean对象。