1 JavaBean介绍
在软件开发过程中,经常使用“组件”的概念。所谓组件,就是可重用的一个软件模块,JavaBean也是一种组件技术。
JavaBean组件有可视化和非可视化两种。可视化组件可以在运行结果中观察到(如:Swing中的按钮、文本框等);二非可视化的组件一般不可以观察到,通常处理一些复杂的业务逻辑,主要用在服务器端。对于JSP来说,只支持非可视化的JavaBean组件。
非可视化的JavaBean又可分为两种:
- 业务Bean:用于封装业务逻辑、数据库操作等。
- 数据Bean:用来封装数据。
2 JavaBean的应用
JavaBean实际上就是一种满足特定要求的Java类,需满足一下要求:
- 是一个公有类,含有公有的无参构造方法;
- 属性私有;
- 属性具有公有的get和set方法。
3 示例
3.1 应用知识点
JSP标准动作:
- jsp:useBean:查找或者实例化一个JavaBean。
- jsp:setProperty:设置JavaBean属性。
- jsp:getProperty:输出某个JavaBean的属性。
3.2 示例展示
(1)编写用户登录的表单页面login.jsp。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form method="post" name="login" action="showbean.jsp">
<p align="left">
用户名:<input type="text" name="loginName" size="20">
</p>
<p align="left">
密 码:<input type="password" name="password" size="20">
</p>
<p align="left">
<input type="submit" value="提交">
<input type="reset" value="重置">
</p>
</form>
</body>
</html>
(2)编写显示信息的页面showbean.jsp。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<jsp:useBean id="user" class="jsp.UserBean" scope="request"/>
<jsp:setProperty property="name" name="user" param="loginName"/>
<jsp:setProperty property="pwd" name="user" param="password"/>
用户名:<jsp:getProperty property="name" name="user"/>
<br/>
密 码:<jsp:getProperty property="pwd" name="user"/>
</body>
</html>
(3)UserBean类
package jsp;
public class UserBean {
private String name;
private String pwd;
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
public String getPwd(){
return pwd;
}
public void setPwd(String pwd){
this.pwd = pwd;
}
}
3.3 运行结果