浏览 679 次
|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2008-02-23
对于三者各自的介绍就不在这里了 ,网上文章很多,说的也比我要好。
开发环境声明: IDE: Eclipse3.3+Myeclipse6.0 DataBase: MySQL5.0 Server: Jboss4.24GA之前的版本不支持EJB3.0,可能需要补丁,本人没试过 开发阶段: 数据库名为:logintest 表就一张: userinfo 字段: id auto_increament,username:varchar password:varchar工程里有脚本; 可以对照源码来试验 : Hibernate: 新建ejb工程----》 选择3.0 名字: loginejb---->add Hibernate capabilities... Hibernate的配置不说了(一张表也没必要说) New PO : User:这里说下结合Xdoclet来自动生成映射文件 : 在PO里可以结合一些注释标记: 比如 /*** * @hibernate.class * table="userinfo" * @author sawen21 * */ /** * @hibernate.id * generator-class="increment" * @param id */ /** * @hibernate.property * @return */ 这里就用了三种标记就能完成user.hbm.xml的生成,当然还有很多的特性比如many-to-one one-to-one等,这里用不上,可以到网上查些Xdoclet的Blog,这样可以为你节省很多时间,而且不容易出错。 添加Xdoclet方法: 选中工程loginejb-->右键---》property-->myeclipse展开---》选择xdoclet-->Add standard..选择standard hibernate即可。 然后选中工程loginejb----右键--》myeclipse--->run xdoclet就能够成功生成了 。 将user.hbm.xml加到hibernate.cfg.xml中。 <mapping resource="po/User.hbm.xml" /> 有HibernateTest.java如果运行成功的话 就证明Hibernate配置成功了 Session Bean 新建接口: IUser.java package dao;
import po.User;
public interface IUser {
public User login(String username,String password);
}
实现接口类 Userimpl.java package dao.daoimpl;
import java.util.List;
import javax.ejb.Remote;
import javax.ejb.Stateless;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import po.User;
import util.HibernateUtil;
import dao.IUser;
@Remote
@Stateless
public class Userimpl implements IUser {
public User login(String username, String password) {
try{
User user=null;
Session s=HibernateUtil.getSession();
Query q=s.createQuery("from User u where username=:name and password=:pass");
q.setString("name", username);
q.setString("pass", password);
List l=q.list();
if(l.size()>0)
user=(User) l.get(0);
HibernateUtil.closeSession();
return user;
}catch(HibernateException he){
he.printStackTrace();
}
return null;
}
}
这里注意的是: @Remote @Stateless 这里是3.0比之前好用的地方。不再需要建立其他的接口类,代表远程接口,无状态SessionBean JSF 新建Web Project----> loginweb-------->add JSF capabilities jsf这里也不太多讲 主要注意的是 faces-config.xml 以及jsf提供的一些UI组件应用。 可以结合上传的源代码来分析。 发布说明: 1.先从loginejb工程内的脚本执行 把mysql驱动拷贝到{%JBOSS_HOME%}/server/default/lib 2.把loginejb.jar loginweb.war 烤到{%JBOSS_HOME%}/server/default/deploy下 3.启动Jboss server 4.测试连接: http://localhost:8080/loginweb/login.faces 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2008-02-23
呵呵。。ejb端组件跟Web端应用放在一个工程中开发,对EJB来说肯定是不合理的,可以看看我在CSDN的博客,也写了一个JSF1.2+EJB3的员工CRUD实例,分成ejb,和web两个工程写的。地址
http://blog.csdn.net/qjyong/archive/2008/02/20/2110211.aspx |
|
| 返回顶楼 | |
|
最后更新时间:2008-02-23
呵呵~ 我是 分两个工程的 。。ejb端 : loginejb web端:loginweb
|
|
| 返回顶楼 | |



