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对象。