J2EE学习笔记之JavaBean
JavaBean概述:
JavaBean是一个简单的Java类,具有Java类的一切特征。如封装、继承、多态等。JavaBean可分为两类,一类是有用户接口的JavaBean,另一类则是没有用户接口的JavaBean;一般在JSP中使用的是没有用户接口(UI)的JavaBean。
使用JavaBean主要是用来封装业务逻辑(如数据运算、数据库操作),从而实现业务逻辑与前后台程序的分离。
标准的JavaBean有以下三个特点:
(1)JavaBean必须是一个public的类,即JavaBean类的访问权限必为public。
(2)JavaBean必须具有一个无参数的构造方法。
(3)一般将JavaBean的属性设置为private的,通过使用getXXX()和setXXX()方法来对相应的属性进行读取和设置。
原因嘛,表示不清楚。
学习目标:
学会定义JavaBean
学会在JSP中调用JavaBean
学会设置并获得JavaBean属性
学会设置JavaBean的范围
学会移除JavaBean
(一)定义JavaBean
示例说明:
package javaweb.javaBean;
public class UserBean{ //public类
//设置private属性
private String name;
private String password;
//属性相应的get和set方法
public String getName(){
return name;
}
public void setName(String username){
this.name=username;
}
public String getPassword(){
return password;
}
public void setPassword(String passwd){
this.password=passwd;
}
//默认的构造方法即为无参数的构造方法。
}
(二)在JSP中调用JavaBean
将通常使用的业务逻辑代码封装到JavaBean中,实现了业务逻辑与显示代码的分离,同时也使得封装了业务逻辑的JavaBean可多次被调用,提高了代码的复用度,便于开发维护。
使用<jsp:useBean>动作指令即可实现在JSP中调用JavaBean,语法格式为:
<jsp:useBean id="JavaBean实例化后的对象的名称" scope="存储范围" class="JavaBean的类名"></jsp:useBean>
scope属性是指JavaBean实例化后的对象的存储范围,取值为page、request、session、application。
class属性指定JavaBean的类名,包括类名和包名。
示例说明用法:useBean.jsp
<%@ page language="java" contentType="text/html;charset=gb2312"%>
<html>
<head>
<title>JSP中调用JavaBean</title>
</head>
<body>
<%--通过useBean动作指令来调用JavaBean--%>
<jsp:useBean id="user" scope="page" class="javaweb.javaBean.UserBean"></jsp:useBean>
<%
user.setName("lee");
user.setPassword("hello");
out.println("用户名:"+user.getName()+"<br/>");
out.println("用户密码:"+user.getPassword());
%>
</body>
</html>
(三)设置JavaBean属性(与表单结合使用)
JSP提供了4中格式的动作指令来设置JavaBean属性,如下:
<jsp:setProperty name="JavaBean实例化后的对象名" property="*"/>
<jsp:setProperty name="JavaBean实例化后的对象名" property="属性名称"/>
<jsp:setProperty name="JavaBean实例化后的对象名" property="属性名称" param="参数名称"/>
<jsp:setProperty name="JavaBean实例化后的对象名" property="属性名称" value="属性值">
其实可用在JSP中用代码实现以上的功能,而不必非要用动作指令。
下面对其进行详细的介绍。
1.
<jsp:setProperty name="实例化对象名" property="*"/>
"*"是指根据表单发送过来的数据来对JavaBean的所有属性进行设置,当然这就要求表单发送过来的数据的参数的个数以及参数名都要与JavaBean的属性相一致。
2.
<jsp:setProperty name="实例化对象名" property="属性名">
使用此指令可以设置JavaBean中指定的属性,而不必设置全部的属性。
3.
<jsp:setProperty name="实例化对象名" property="属性名" param="参数名"/>
前两种<jsp:setProperty>动作指令均要求表单传过来的参数名与JavaBean中的属性名相一致,包括大小写,这样有点麻烦。而此动作指令没有这么一个要求,
只需使用property属性指定要设置的JavaBean属性,而用param属性指定使用传送过来的那个参数对property指定的属性进行设置。
4.
<jsp:setProperty name="实例化对象名" property="属性名" value="属性值">
可使用该动作指令动态设置JavaBean的属性,而不是根据从表单发送过来的数据进行设置。
(四)获得JavaBean属性
可以通过实例化对象调用相应的get和set方法获得属性,而这里介绍的是使用<jsp:getProperty>动作指令来获得JavaBean属性,语法格式为:
<jsp:getProperty name="实例化对象名" property="属性名"/>
name属性要和<jsp:useBean>中的id属性一致
(五)设置JavaBean的范围
JavaBean的存储范围与前面讲过得JSP属性存储范围相同,意义也一样。
(六)移除JavaBean
JavaBean会根据其设置的范围来决定自己的生命周期,当生命周期结束时,JavaBean将会被自动移除。
当然我们也可以手动的将其移除,移除不同范围的JavaBean就是移除不同范围的属性一样,调用pageContext、request、session、application的removeAttribute(String name)方法即可,从而将page、request、session、application范围内的JavaBean移除掉。
name应与<jsp:useBean>中的id属性一致。
完结
JavaBean概述:
JavaBean是一个简单的Java类,具有Java类的一切特征。如封装、继承、多态等。JavaBean可分为两类,一类是有用户接口的JavaBean,另一类则是没有用户接口的JavaBean;一般在JSP中使用的是没有用户接口(UI)的JavaBean。
使用JavaBean主要是用来封装业务逻辑(如数据运算、数据库操作),从而实现业务逻辑与前后台程序的分离。
标准的JavaBean有以下三个特点:
(1)JavaBean必须是一个public的类,即JavaBean类的访问权限必为public。
(2)JavaBean必须具有一个无参数的构造方法。
(3)一般将JavaBean的属性设置为private的,通过使用getXXX()和setXXX()方法来对相应的属性进行读取和设置。
原因嘛,表示不清楚。
学习目标:
学会定义JavaBean
学会在JSP中调用JavaBean
学会设置并获得JavaBean属性
学会设置JavaBean的范围
学会移除JavaBean
(一)定义JavaBean
示例说明:
package javaweb.javaBean;
public class UserBean{ //public类
//设置private属性
private String name;
private String password;
//属性相应的get和set方法
public String getName(){
return name;
}
public void setName(String username){
this.name=username;
}
public String getPassword(){
return password;
}
public void setPassword(String passwd){
this.password=passwd;
}
//默认的构造方法即为无参数的构造方法。
}
(二)在JSP中调用JavaBean
将通常使用的业务逻辑代码封装到JavaBean中,实现了业务逻辑与显示代码的分离,同时也使得封装了业务逻辑的JavaBean可多次被调用,提高了代码的复用度,便于开发维护。
使用<jsp:useBean>动作指令即可实现在JSP中调用JavaBean,语法格式为:
<jsp:useBean id="JavaBean实例化后的对象的名称" scope="存储范围" class="JavaBean的类名"></jsp:useBean>
scope属性是指JavaBean实例化后的对象的存储范围,取值为page、request、session、application。
class属性指定JavaBean的类名,包括类名和包名。
示例说明用法:useBean.jsp
<%@ page language="java" contentType="text/html;charset=gb2312"%>
<html>
<head>
<title>JSP中调用JavaBean</title>
</head>
<body>
<%--通过useBean动作指令来调用JavaBean--%>
<jsp:useBean id="user" scope="page" class="javaweb.javaBean.UserBean"></jsp:useBean>
<%
user.setName("lee");
user.setPassword("hello");
out.println("用户名:"+user.getName()+"<br/>");
out.println("用户密码:"+user.getPassword());
%>
</body>
</html>
(三)设置JavaBean属性(与表单结合使用)
JSP提供了4中格式的动作指令来设置JavaBean属性,如下:
<jsp:setProperty name="JavaBean实例化后的对象名" property="*"/>
<jsp:setProperty name="JavaBean实例化后的对象名" property="属性名称"/>
<jsp:setProperty name="JavaBean实例化后的对象名" property="属性名称" param="参数名称"/>
<jsp:setProperty name="JavaBean实例化后的对象名" property="属性名称" value="属性值">
其实可用在JSP中用代码实现以上的功能,而不必非要用动作指令。
下面对其进行详细的介绍。
1.
<jsp:setProperty name="实例化对象名" property="*"/>
"*"是指根据表单发送过来的数据来对JavaBean的所有属性进行设置,当然这就要求表单发送过来的数据的参数的个数以及参数名都要与JavaBean的属性相一致。
2.
<jsp:setProperty name="实例化对象名" property="属性名">
使用此指令可以设置JavaBean中指定的属性,而不必设置全部的属性。
3.
<jsp:setProperty name="实例化对象名" property="属性名" param="参数名"/>
前两种<jsp:setProperty>动作指令均要求表单传过来的参数名与JavaBean中的属性名相一致,包括大小写,这样有点麻烦。而此动作指令没有这么一个要求,
只需使用property属性指定要设置的JavaBean属性,而用param属性指定使用传送过来的那个参数对property指定的属性进行设置。
4.
<jsp:setProperty name="实例化对象名" property="属性名" value="属性值">
可使用该动作指令动态设置JavaBean的属性,而不是根据从表单发送过来的数据进行设置。
(四)获得JavaBean属性
可以通过实例化对象调用相应的get和set方法获得属性,而这里介绍的是使用<jsp:getProperty>动作指令来获得JavaBean属性,语法格式为:
<jsp:getProperty name="实例化对象名" property="属性名"/>
name属性要和<jsp:useBean>中的id属性一致
(五)设置JavaBean的范围
JavaBean的存储范围与前面讲过得JSP属性存储范围相同,意义也一样。
(六)移除JavaBean
JavaBean会根据其设置的范围来决定自己的生命周期,当生命周期结束时,JavaBean将会被自动移除。
当然我们也可以手动的将其移除,移除不同范围的JavaBean就是移除不同范围的属性一样,调用pageContext、request、session、application的removeAttribute(String name)方法即可,从而将page、request、session、application范围内的JavaBean移除掉。
name应与<jsp:useBean>中的id属性一致。
完结