您现在的位置: J2ME开发网 >> Java技术 >> J2EE开发 >> 新手入门 >> 文章正文
使用NetBeans开发Java EE 5 "Hello World"应用程序
作者:李媛    文章来源:SUN中国技术社区    点击数:    更新时间:2006-2-14
使用NetBeans开发Java EE 5 "Hello World"应用程序
这个教程旨在演示如何使用NetBeansGlassFish应用服务器来创建并测试一个简单的“Hello worldJava EE 5应用程序,它使用了EJB3.0JSF的依赖注入。

这个教程旨在演示如何使用NetBeansGlassFish应用服务器来创建并测试一个简单的“Hello worldJava EE 5应用程序,它使用了EJB3.0JSF的依赖注入。

获取NetBeans Java EE 5 Preview版本

可以从这里获得一个每日构建的NetBeans Java EE 5版本:

解压缩并启动IDE

注册应用服务器

这个预览版本使用最新的GlassFish开放源代码的Java EE 5应用服务器和JBoss服务器来测试。

注意:GlassFish已经支持Web层的Servlet 2.5JSF 1.2关于Java EE 5的依赖注入申明。如果你希望使用JBoss,你可以测试这个单独的EJB模块,然后使用J2SE客户端或者JNDI查找来调用EJB

下载服务器,安装,然后在NetBeans的菜单Tools > Server Manager注册它。使用“Sun Java Systems Application Server”作为服务器类型来注册GlassFish

创建一个Java EE 5应用程序

创建一个新的Enterprise Application工程,设置服务器为GlassFishJ2EE版本为Java EE 5.0

IDE将创建一个Enterprise Application工程,Web工程和EJB工程。Enterprise Application工程和Web工程包含了Java EE 5部署描述符。EJB模块并没有任何部署描述符——在EJB 3.0中,不需要描述符,所有的元数据都将在写在申明的时候。

Web应用工程必须在其CLASSPATH中包含EJB工程,以便调用EJB。在Web模块中右键点击Libraries,选择添加Project,然后加入EJB模块的项目:

创建一个EJB 3.0 Bean

EJB模块工程中,右键弹出快捷菜单,选择New > Session Bean,就创建了一个申明式的EJB和一个远程或者本地业务接口。注意,和普通的Java类唯一不同的是,Bean多了一个@Stateless的申明。

添加一个业务方法到接口中:

package hi;

/**

* This is the business interface for HelloWorld enterprise bean.

*/

public interface HelloWorldRemote {

public String sayHi ();

}

然后在Bean类实现它:

package hi;

import javax.ejb.*;

/**

* This is the bean class for the HelloWorldBean enterprise bean.

* Created 3.11.2005 13:14:42

* @author pbuzek

*/

@Stateless()

public class HelloWorldBean implements hi.HelloWorldRemote {

public String sayHi (){

return "Hello world!";

}

}

Web应用中调用EJB

让我们从JSF中调用EJB,可以看到,依赖注入是如何在JSF Managed Bean中实现的。

首先,打开Web模块工程属性框,在Frameworks中选择支持JSF

这将创建一个faces-config.xml文件,添加相关的库到工程的CLASSPATH中,注册web.xml并创建一个简单的JSF页面welcomeJSF.jsp

现在,使用JSF Managed Bean模板在Web模块中创建一个Managed Bean

接下来,编写调用EJB的代码。在Java EE 5中,你不必写任何JNDI查找的代码,只需使用@EJB申明来标识一个字段,服务器将在创建Managed Bean时,将EJB的实例注入到此字段中:

package beans;

import hi.HelloWorldRemote;

import javax.ejb.EJB;

public class Managed {

@EJB() HelloWorldRemote hello;

public String getGreeting () {

return hello.sayHi();

}

public Managed() {

}

}

最后一步是从JSF中调用Managed Bean

<body>

<f:view>

<h1><h:outputText value="Java Server Faces" /></h1>

<h:outputText value="#{Managed.greeting}"/>

</f:view>

</body>

运行“Hello World”应用程序。

可以从这里下载源示例代码。