Eclipse开发EJB3

来源:互联网 发布:手风琴 牌子 知乎 编辑:程序博客网 时间:2024/05/20 03:36

开发工具

App Server Sun glassfish v3

DB Mysql 5.1

IDE eclipse 3.4 for Java EE + glassfish server adapter

 

目的

演示如何编写一个简单的EJB3.0 + JPA 1.0的应用

 

准备工作

1. 创建Mysql数据库


2. 创建Glassfish的数据源和连接池

连接池General属性

 

连接池Additional属性

 

数据源

 

3. 复制mysql connection driver到Glassfish的类路径。

从Mysql官网下载mysql-connector-java-5.1.12-bin.jar,并复制到<glassfish>/lib目录下(eg. C:/glassfishv3/glassfish/lib)。

 

创建EJB工程

1. 将eclipse的perspective切换到Java EE

 

2. File - New - EJB Project,EJB Module Version使用3.0,并且选中Add Project to an EAR左边的多选框。

 

 

接下去,选择Configuration右边的Modify来修改EJB项目使用的库。

选中Java Persistence左边的多选框,为EJB项目添加JPA 1.0的库。

 

单击OK,返回EJB Project对话框,并且选择Next进入下一步配置。

取消Create an EJB Client JAR module to hold the client interfaces and classes左边的多选框,因为我们不需要通过Client Application的方式访问EJB。

 

大功告成,点击Finish完成项目的创建。

 

生成的工程如图:

 

3. 创建EJB类

选中TennisEJB工程里的ejbModule源文件目录,File - New - Session Bean

如下图所示,填入EJB类型信息后,选择Finish完成EJB类的创建。

 

生成的EJB源文件有编译错误,这是由于项目类路径中没有Java EE的类库。

解决方法是,右击TennisEJB工程,选择Properties。在项目属性对话框内,选择Java Build Path,单击Libraries标签页,单击标签页里的Add Library...按钮。

 

在弹出对话框里,选择Server Runtime,单击Next

 

在下一步里,选择导入GlassFIsh V3 Java EE 6的类库,然后Finish。

 

编译错误应该都不见啦。

 

4. 添加EJB代码

 

PlayerMgmtServiceBean类

 

PlayerMgmtServiceBeanLocal接口

 

现在EJB类有很多编译错误,这是因为Enitity类没有创建的缘故,现在就来添加Enitity类。

 

5. 创建Enitity类

选中TennisEJB工程里的ejbModule源文件目录,File - New - Other...,在弹出对话框里选择JPA - Entity

如下所示,填入Entity类信息后,Finish。

 

6. 添加Entity代码

 

Player类

7. 编辑Persistence.xml

 

 

这个xml是关于persistence unit的配置文件。

jta-data-source是准备步骤里创建的数据源的JNDI名称,应用服务器据此才能找到数据源。

class是Entity类的名字。

properties是EnitityManager供应商的参数。

 

8. 检查点

可以尝试把EJB部署到Glassfish应用服务器上了,右击TennisEJBEAR项目,选择Run As - Run on Server,

在对话框内,选择GlassFish ve Java EE 6,下一步。

在下一步中,输入GlassFish的管理员密码(默认adminadmin),Finish。

 

等待服务器启动完毕,打开http://localhost:4848/ ,检查EJB是否部署成功。

 

现在还没有办法使用EJB。访问EJB的方法有很多,可以通过WEB应用,Web Service,或者客户程序。我们的应用通过WEB应用来使用EJB。

 

创建WEB工程

1. File - New - Dynamic Web Project,Dynamic Web Module Version使用2.5,并且选中Add Project to an EAR左边的多选框

点击Finish完成创建工程。

 

2. 创建Servlet类

选中TennisWEB工程里的src源文件目录,File - New - Other...,在弹出对话框里选择Web - Servlet

如下所示,填入 Servlet类信息后,Finish。

 

生成的Servlet类中有编译错误,是由于Web项目中没有包含Java EE类库,参考创建EJB工程的第3步 创建EJB类”中的方法,为Web项目添加Java EE类库。

 

3. 添加Servlet代码

TennisServlet类

由于Servlet使用了EJB,需要为Web项目添加对EJB项目的引用。

右击TennisEJB工程,选择Properties。在项目属性对话框内,选择Java Build Path,单击Projects标签页,单击标签页里的Add按钮。

在弹出对话框中选中TennisEJB项目。OK完成引用。

 

4. 添加页面

在WebContent的根目录中,加入index.jsp

 

index.jsp

 

 

 

 

在WebContent/tennis/目录中,加入playerlist.jsp

playerlist.jsp

 

 

8. 检查点

可以尝试把WEB工程部署到Glassfish应用服务器上了。

右击GlassFish,选择Publish。

 

一切顺利的话,打开http://localhost:8080/TennisWEB,就能看到应用的web界面了。

 

调试技巧

1. Glassfish的log文件位于: C:/glassfishv3/glassfish/domains/domain1/logs/server.log

 

2. Glassfish也支持远程调试,可以在网上搜索Eclipse远程调试Glassfish的技巧

原创粉丝点击