JavaBean入门
来源:互联网 发布:开票软件怎么升级 编辑:程序博客网 时间:2024/04/29 14:27
JavaBean其实就是一个Java类,但是它必须遵守一定的编写规则。JavaBean从功能上来讲,我将它分为业务Bean和实体Bean两类,下面我通过一个实体Bean的开发示例,来讲述JavaBean开发中的一些基础技术。
实体Bean的主要作用是用来对系统中要用到的数据进行封装,这些数据包括用户从前台的输入和从数据库中读取的数据等等,是JavaBean中较简单的一类。
SimpleBean.java:
package com.myapp.beans;
public class SimpleBean {
private String name;
private String password;
public SimpleBean() {
System.out.println("*SimpleBean*");
}
public void setName(String name) {
this.name = name;
}
public void setPassword(String password) {
this.password = password;
}
public String getName() {
return this.name;
}
public String getPassword() {
return this.password;
}
}
以上代码就是一个简单的JavaBean的示例,它严格遵守了JavaBean的编码规则,即:
⑴ JavaBean必须放在一个包中
⑵ JavaBean必须申明为public class
⑶ JavaBean的所有属性必须申明为private
⑷ 通过setter方法和getter方法设值和取值
⑸ 通过JSP调用时,则需一个无参的构造方法
⑹ 编写代码要严格遵守Java程序的命名规范
现在就可以在JSP页面里来调用这个JavaBean了。编写index.jsp页面如下:
<%@page contentType="text/html;charset=gb2312" import="com.myapp.beans.SimpleBean"%>
<HTML>
<HEAD>
<TITLE>简单JavaBean</TITLE>
</HEAD>
<BODY>
<%
SimpleBean sb = new SimpleBean() ;
sb.setName("聂鑫") ;
sb.setPassword("123456") ;
%>
<h1>姓名:<%=sb.getName()%></h1>
<h1>密码:<%=sb.getPassword()%></h1>
</BODY>
</HTML>
通过page指令的import语句,就可以导入在classes文件夹里的所有的类,这里我导入了刚刚写好的JavaBean。然后就可以在JSP页面中使用它了,这里和我们通常使用Java的类的方式是一样的。
这种使用方式在实际开发中是不会使用到的,因为JavaBean对象的生成应该由容器来完成,而不是由程序员来手工完成,下面我们使用JSP标签来使用JavaBean,我们将index.jsp修改如下:
<%@page contentType="text/html;charset=gb2312"%>
<jsp:useBean id="sb" scope="page" class="com.myapp.beans.SimpleBean"/>
<HTML>
<HEAD>
<TITLE>简单JavaBean</TITLE>
</HEAD>
<BODY>
<%
sb.setName("聂鑫") ;
sb.setPassword("123456") ;
%>
<h1>姓名:<%=sb.getName()%></h1>
<h1>密码:<%=sb.getPassword()%></h1>
</BODY>
</HTML>
<jsp:useBean>标签用来创建JavaBean对象,它通常使用到的属性有三个:id表示对象名;scope表示对象的作用范围;class表示该对象所属的包和类。
对于以上的代码,我们认为还是不满意,因为给JavaBean赋值和取值的这个过程,仍然是由程序员来完成的,这样还是会导致大量的Java代码与HTML代码混编在一起,于是我们应该掌握JavaBean在JSP中使用的最佳方式。
一种调用方式:
<jsp:useBean id="对象" scope="作用范围" class="包.类"/>
四种设值方式:
<jsp:setProperty name="对象" property="*"/>
<jsp:setProperty name="对象" property="属性"/>
<jsp:setProperty name="对象" property="属性" param="参数名"/>
<jsp:setProperty name="对象" property="属性" value="值"/>
一种取值方式:
<jsp:getProperty name="对象" property="属性"/>
以上列出了JavaBean在JSP中的常用方式,最常用的就是四种设值方式中的第一种,它可以将表单中传来的值,全部自动填充到JavaBean里,例如:
index.jsp:
<%@page contentType="text/html;charset=gb2312"%>
<HTML>
<HEAD>
<TITLE>简单JavaBean</TITLE>
</HEAD>
<BODY>
<FORM METHOD=POST ACTION="show.jsp">
帐号:<INPUT TYPE="text" NAME="name"><BR>
密码:<INPUT TYPE="password" NAME="password"><INPUT TYPE="submit" VALUE="确定">
</FORM>
</BODY>
</HTML>
show.jsp:
<%@page contentType="text/html;charset=gb2312"%>
<jsp:useBean id="sb" scope="page" class="com.myapp.beans.SimpleBean"/>
<HTML>
<HEAD>
<TITLE>简单JavaBean</TITLE>
</HEAD>
<BODY>
<%request.setCharacterEncoding("gb2312");%>
<jsp:setProperty name="sb" property="*"/>
<h1>姓名:<jsp:getProperty name="sb" property="name"/></h1>
<h1>密码:<jsp:getProperty name="sb" property="password"/></h1>
</BODY>
</HTML>
要实现值的自动填充,必须使表单元素名与JavaBean中的属性名保持一致,并且类型也要保持一致。
使用JavaBean的登录范例
LogBean.java:
package com.myapp.beans;
import java.util.*;
public class LogBean {
private String name;
private String password;
private Hashtable errors; //保存错误信息
public LogBean() {
name = "";
password = "";
errors = new Hashtable();
}
public boolean validate(){
boolean ok=true;
if(name.equals("")||name==null)
{
errors.put("name","请输入帐号");
name=" ";
ok=false;
}
if(password.equals("")||password==null||password.length()<6)
{
errors.put("password","密码长度必须大于6位");
password=" ";
ok=false;
}
return ok;
}
public void setName(String name) {
this.name = name;
}
public void setPassword(String password) {
this.password = password;
}
public String getName() {
return this.name;
}
public String getPassword() {
return this.password;
}
public String getErrorMsg(String message){
String errorMsg=(String)errors.get(message.trim());
return((errorMsg==null) ? " ":errorMsg);
}
}
这个JavaBean里增加了表单数据校检功能。
index.jsp:
<%@page contentType="text/html;charset=gb2312"%>
<jsp:useBean id="loginfo" class="com.myapp.beans.LogBean" scope="request"/>
<HTML>
<HEAD>
<TITLE>简单JavaBean</TITLE>
</HEAD>
<BODY>
<FORM METHOD=POST ACTION="login.jsp">
帐号:<INPUT TYPE="text" NAME="name">
<%=loginfo.getErrorMsg("name") %><BR>
密码:<INPUT TYPE="password" NAME="password">
<%=loginfo.getErrorMsg("password") %><BR>
<INPUT TYPE="submit" VALUE="确定">
</FORM>
</BODY>
</HTML>
注意到这个登录页可以用来显示错误信息。
login.jsp:
<%@page contentType="text/html;charset=gb2312"%>
<jsp:useBean id="loginfo" class="com.myapp.beans.LogBean" scope="request"/>
<HTML>
<HEAD>
<TITLE>简单JavaBean</TITLE>
</HEAD>
<BODY>
<%request.setCharacterEncoding("gb2312");%>
<jsp:setProperty name="loginfo" property="*"/>
<%
if(loginfo.validate())
{
%>
<jsp:forward page="show.jsp"/>
<%
}
else{
%>
<jsp:forward page="index.jsp"/>
<%
}
%>
</BODY>
</HTML>
show.jsp:
<%@page contentType="text/html;charset=gb2312"%>
<jsp:useBean id="loginfo" class="com.myapp.beans.LogBean" scope="request"/>
<HTML>
<HEAD>
<TITLE>简单JavaBean</TITLE>
</HEAD>
<BODY>
表单数据符合要求!
<h1>姓名:<jsp:getProperty name="loginfo" property="name"/></h1>
<h1>密码:<jsp:getProperty name="loginfo" property="password"/></h1>
</BODY>
</HTML>
这三个页面共用了一个在request范围内有效的JavaBean对象,index.jsp利用它来显示错误信息,show.jsp利用它来显示表单数据。
- JavaBean入门
- JavaBean入门
- JavaBean入门
- JavaBean入门
- 入门 JavaBean
- JavaBean入门
- JavaBean入门
- JavaBean入门与例子
- javabean初步入门
- Jersey 入门与Javabean
- Jersey 入门与Javabean
- JavaBean入门与简介
- Jersey 入门与Javabean
- Jersey 入门与Javabean
- JavaBean简单入门
- Jersey入门与javaBean
- jsp之JavaBean入门
- 什么是JavaBean,JavaBean入门及实例
- Struts,MVC 的一种开放源码实现
- JSP之session对象
- UE-用户体验
- oracle定时任务
- Python中的元类编程
- JavaBean入门
- JAVA错误处理大集合
- [PHP设计模式]Composite(组合)模式范例
- NASM源代码分析--预处理过程
- c# GDI+简单绘图(一)
- c# GDI+简单绘图(二)
- C#网络编程概述 一
- C# GDI+ 简单绘图 (三)
- 参数传递