您的位置:首页 > 编程语言 > Java开发

使用 NetBeans 开发 Java EE 5 "Hello World"

2007-11-25 08:59 525 查看
2005 年 11 月 3 日,Pavel Buzek
本教程旨在说明如何使用 NetBeans 和 GlassFish 应用程序服务器来创建和测试一个简单的“Hello world” Java EE 5 应用程序,它使用了 EJB 3.0 和 JSF 的依存关系注入技术。



获取 NetBeans Java EE 5 预览版

访问下载页面 从 javaee5 分支获得一个 NetBeans 的日常构建版本:


解压缩并启动 IDE。



注册应用服务器

预览版使用开源的 Java EE 5 应用服务器 GlassFish JBoss 服务器的最新版本来进行测试。
注意:GlassFish 已经在 Web 层支持 Servlet 2.5 和 JSF 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 项目,选择服务器类型为 Java EE 5 server,J2EE 版本为 Java EE 5。


IDE 将创建一个 Enterprise Application 项目、Web 项目和 EJB 项目。Enterprise Application 项目和 Web 项目包含了 Java EE 5 部署描述符。EJB 模块没有任何部署描述符 - 在 EJB 3.0 中不需要描述符,所有的元数据都写在声明中。

Web 应用程序项目必须在其类路径中包含 EJB 项目,以便调用 EJB。在 Web 模块项目中右键单击 Libraries,选择 Add Project,然后浏览 EJB 模块工程。


创建一个 EJB 3.0 Bean

在 EJB 模块项目的弹出菜单中选择 New > Session Bean。这将创建一个已声明 EJB 和一个远程或者本地业务接口。请注意,bean 类和普通 Java 类唯一不同之处的是多了
@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 模块项目属性,并添加 JSF 支持:


这将创建文件
faces-config.xml
,将所有库添加到项目的类路径中,注册相关条目到
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 应用程序。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: