JavaBean概述
- JavaBean是采用Java语言机制实现特定功能的组件
- JavaBean实际上是一个Java类,Jsp可以通过访问Javabean中的变量以及调用其中的方法,减小了Jsp中的代码冗余度
- JSP,Serlet,JavaBean之间的关系
- JavaBean是一种特殊的Java类,遵循JavaBean API规范,实现
java.io.Serializable接口
,是一个公共类,类中必须包含无参构造函数,提供对属性访问的set和get函数
- JavaBean需要放到指定的目录下,以便服务器能找到执行,一般为
Web Root/WEB-INF/classes
在JSP中引用JavaBean
jsp:useBean:装载一个将在JSP页面中使用的javaBean
<jsp:useBean id="name" class="package.class" scope="scope"/>
<jsp:useBean id="stu" class="YoungHD.StudentBean" scope="page">
...
</jsp:useBean>
- 其中id用于创建javaBean的引用名;class用于指定javaBean的类;scope用于指定javaBean的范围,默认值为page。
- scope的取值范围:
1、page,javaBean只能在当前页面使用,当加载新页面时将会被销毁。
2、request,javaBean在用户发送请求时使用。
3、session,javaBean一直存在于会话中。
4、application,javaBean在整个应用程序中均可使用。
jsp:setProperty设定useBean中指定的javaBean属性值
<jsp:setProperty property="PropertyName" name="BeanName" value="Value" param="Parameter"/>
- 其中name指定useBean中使用的javaBean的id;property用于指定要为之设置值得属性名称。value指定要为属性设置的值。param指定用于输入数据的表单元素的值。
- 注意:value属性和param属性不能同时使用。
- 举例
<jsp:setProperty property="username" name="YoungHD" value="younghd"/>
<jsp:setProperty name="stu" property="username" param="username"></jsp:setProperty>
- 将request中的数据一次性写入JavaBean,需要保证request中的参数名与JavaBean中保持一致
<jsp:useBean id="stu" class="" scope="session">
<jsp:setProperty name="person" property=