JavaBean语法
1.导入JavaBean类
<%@page import="mypack.CounterBean" %>
2.声明JavaBean对象
<jsp:useBean id="myBean" class="mypack.CounterBean" scope="session"/>
注意:1)JSP规范要求存放在所有范围内的每个JavaBean对象都有唯一的ID
如:不允许在回话范围内存在两个ID为myBean
也不允许在会话范围和请求范围内分别存在ID为myBean的javaBean。
2)在<jsp:useBean>标签中指定class属性时,必须给出完整的JavaBean的类名(包括类所属的包的名字)
<jsp:useBean id="myBean" class="CounterBean" scope="session"/>
否则JSP编辑器会找不到CounterBean类,从而抛出ClassNotFoundException错误。
JavaBean的几个特性
- 是一个公共类(public)
- 有一个不带参数的构造方法
- 通过get方法设置属性,通过set方法获取属性
- 属性名和get及set方法间存在固定的对应关系,属性名中第一个字母在方法名中改为大写 如getXyz() ,setXyz().
- JAVABean持久化,需要实现java.io.Serializable接口。
JavaBean四种范围
- 页面范围
共享数据的有效范围是用户请求访问的当前页面;
2. 请求范围
共享数据的有效范围为用户请求访问的当前Web组件,以及和当前Web组件共享同一个用户请求的其他Web组件。如果用户请求访问的是JSP网页,那么该 JSP网页<%@include> 指令、<jsp:include> 标签及<jsp:forward>标签指向的其他JSP文件也能访问共享数据。请求范围内的共享数据实际上存放在HttpServletRequest对象中。
3. 会话范围
共享数据存在于整个HTTP会话的生命周期内,同一个HTTP会话中的Web组件共享它。会话范围内的共享数据实际上存放在HttpSession中。
4.Web应用范围
共享数据存在于整个Web应用的生命周期内, Web应用中的所有Web组件都能共享它。共享数据实际上存放在ServletContext对象中。