今天做了什么

区别EJB
JavaBean 和 Server Bean(通常称为Enterprise JavaBean(EJB))有一些基本相同之处。它们都是用一组特性创建,以执行其特定任务的对象,获得其它特性的能力。这使得 bean 的行为根据特定任务和所在环境的不同而有所不同。

Enterprise Bean 与 JavaBean 不同。JavaBean 是使用java.beans包开发的,它是 Java 2 标准版的一部分。JavaBean 是一台机器上同一个地址空间中运行的组件。JavaBean 是进程内组件。Enterprise Bean 是使用 javax.ejb 包开发的,它是标准JDK的扩展,是 Java 2 Enterprise Edition 的一部分。Enterprise Bean 是在多台机器上跨几个地址空间运行的组件。因此 Enterprise Bean 是进程间组件。JavaBean 通常用作 GUI 窗口小部件,而 Enterprise Bean 则用作分布式商业对象。

一个可以让你快速了解JavaBean的例子
Javabean就是Java类。从表示层的处理来考虑,Javabean就是一个个的service类。

现在就用一个实际的例子来说明javabean是怎样工作的,建立一个用户注册登陆小模块。

1、建立一个javabean封装用户的信息(姓名和密码)UserInfo.java,其中的方法有
setter方法来设置用户的信息,getter方法来获取用户的信息

package user;//存放UserInfo.java的包,该包中放在web-inf目录下
public class UserInfo
{
private String password;
private String name;

//获取信息
public String getPassword()
{
return this.password;
}
public String getName()
{
return this.name;
}
//设置信息
public void setPassword(String p)
{
this.password=p;
}
public void setName(String n)
{
this.name=name;
}
}
2、现在做的事就是建立一个javabean处理数据库操作以及一些简单的逻辑操作

UserRegist.java

package user;//同理也放在这个包中
import java.sql.*;

public class UserRegist
{
private UserInfo userInfo;//在此javabean中把UserInfo.java这个javabean引进来
private Connection conn=null;

//连接数据库
public UserRegist()
{
try{
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/joke?user=root");
}
catch(Exception e){
e.printStackTrace();
}
}

public void setUserInfo(UserInfo userInfo)
{
this.userInfo=userInfo;
}

//进行注册
public void regist()throws Exception
{
String reg="insert into user_Info values(?,?)";
try{
PreparedStatement pstmt=conn.prepareStatement(reg);
//create a preparestatement sentence ,then to set their name
pstmt.setString(1,userInfo.getPassword());
pstmt.setString(2,userInfo.getName());
//excute update
pstmt.executeUpdate();
}
catch(Exception e){
e.printStackTrace();
throw e;
}
}
}
3、好了,我们的要用到的javbean就建立完了,现在就是做一个简单的表单html页面了,login.html,接受用户输入的信息。

<form action="regist.jsp" name="form1">
<table>
<tr>
<td> username:</td>
<td><input name="name"></input></td>
</tr>
<tr>
<td>userpassword:</td>
<td><input type="password" name="password"></input></td>
</tr>
<tr>
<td><input type="submit" value="go"></td>
<td><input type="reset" value="reset"></td>
</tr>
<table>
</form>
4、最后我们做的事就是用一个简单的jsp页面让两个javabean工作起来,regist.jsp

<%@page contentType="text/html;charset=GB2312"%>
//利用此标签来调用UserInfo.java
<jsp:useBean id="userInfo" class="user.UserInfo" scope="page">
//利用此标签来用UserInfo.java接受并保存表单中的信息
<jsp:setProperty name="userInfo" property="*"/>
</jsp:useBean>
//来调用UserRegist.java
<jsp:useBean id="regist" class="user.UserRegist" scope="page"/>
<%
regist.setUserInfo(userInfo);//调用UserRegist.java中的setUserInfo()方法获取保存在serInfo.java中的信息
regist.regist( );//调用UserRegist.java中的regist( )方法进行注册
out.println("registed ok!");
%>
<br><hr><br>
<a href="login.jsp">back</a>