对于三者各自的介绍就不在这里了 ,网上文章很多,说的也比我要好。
开发环境声明:
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
实现接口类 Userimpl.java
这里注意的是:
@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
开发环境声明:
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
评论
sawen21
2008-02-23
呵呵~ 我是 分两个工程的 。。ejb端 : loginejb web端:loginweb
qiujy
2008-02-23
呵呵。。ejb端组件跟Web端应用放在一个工程中开发,对EJB来说肯定是不合理的,可以看看我在CSDN的博客,也写了一个JSF1.2+EJB3的员工CRUD实例,分成ejb,和web两个工程写的。地址
http://blog.csdn.net/qjyong/archive/2008/02/20/2110211.aspx
http://blog.csdn.net/qjyong/archive/2008/02/20/2110211.aspx
发表评论
提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则
- 浏览: 443 次
- 性别:

- 来自: 大连

- 详细资料
搜索本博客
最新评论
-
和Flex第一次亲密接触
不够亲密,很多地方有类似东西。
-- by imjl -
和Flex第一次亲密接触
大概了解了下,不过对LZ“在flex中以mxml来存储数据(flash中的控件) ...
-- by SunMicro -
和Flex第一次亲密接触
Flex可以做Ajax不能做的事情。
-- by luolonghao -
和Flex第一次亲密接触
:) Flex 相比AJAX,可能会更容易维护管理; 关注中......
-- by bohemia -
JSF+EJB3.0(Session Bean) ...
呵呵~ 我是 分两个工程的 。。ejb端 : loginejb web端:lo ...
-- by sawen21






评论排行榜