程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 用JBuilder7開發一個簡單的J2EE應用

用JBuilder7開發一個簡單的J2EE應用

編輯:關於JAVA

說實話,在使用Jbuilder前 我也是有抵觸情緒的,認為Java圖形界面程序總是很慢,但是由於經不住Jbuilder強大的EJB開發功能的誘惑,將我原來PIII 450 128M內存擴展到192M以後,安裝上Jbuilder 7,驚奇的發現,龐大的Jbuilder 7居然可以順暢的運行了。

運行Jbuilder 7的感覺和在我機器上運行 Corel Draw 10一樣,雖然啟動時都一樣慢,但在使用過程中就非常順暢,沒有停頓。Jbuilder 7不愧是現在最好的Java開發工具.

Jbulder EJB2.0的可視化工具可以在幾分種內開發CMP EJB,開發者有更多的時間花在客戶市場上,這樣看似復雜的EJB開發已經變得非常簡單和迅速。

一、安裝准備工作

1.正確安裝Jboss+Tomcat

2.下載安裝Jbuilder 7 企業版,

3.開始你自己的項目開發,為項目設置server,選擇Project Properties 中的 Server.選擇 JBoss 3x 確認OK.

4.為了部署你的ear war或u jar, 選擇Tools/Enterprise Deployment部署即可.

二、開發簡單的EJB

1.我們使用現成Interest程序,該程序可以從JBoss的http://www.jboss.org/docs/manual/files/的documentation-example.zip 中獲得.

在C盤根目錄建立一個目錄examples,將上述包中org/Jboss/docs/Interest目錄拷貝到examples下.同時將interest目錄下的*.xml配置文件去除,我們將使用Jbuilder來生成這些文件.

2.選擇 New project for existing code -->Directory 選擇 目錄c:examples -->name 輸入examples(自己定義),完成後,在左邊欄目中,出現examples項目,還有目錄org.jboss.docs.interest,雙擊,可看到5個Java程序。

reBuild這些源程序,以便下一步我們在EJB designer中導入。

3.選擇new -->EJB Module (如果你的項目server不支持EJB,將無法選擇此項,本項目是使用JBoss來作為EJB的支持服務器,這些在project properties的server選擇設定)-->取名interest(自己定義)-->選擇version為EJB 2.0 完成後,在左邊欄目中,又多出一個interest目錄,雙擊,

如果我們不使用下載的interest源程序,可以在右邊大欄目上方 點擊 "Create EJB",從而創建自己的EJB;

這裡我們使用了interest,所以要導入,可以在右邊大欄目上方 點擊 "Import EJB"

bean name: Interest
bean type: session -->interest是個session bean。
base class: org.jboss.docs.interest.InterestBean
home interface class:org.jboss.docs.interest.InterestHome
remotr interface class: org.jboss.docs.interest.Interest

完畢後,出現了一個紅色方框,表示我們的Interest EJB創建好了。

你可以點擊 "EJB DD Source"看看ejb-jar.xml的內容.

rebuild或make這個EJB,會自動生成一個jar文件

三、建立簡單的Web 應用

4.EJB建立完成後,我們開始建立一個web應用:

在new -->Web Application(如果你的項目 server不支持Web,將無法選擇此項目)

輸入web application的名字,自己定義,如interestweb 以後訪問這個web應用,就是http://localhost:8080/interestweb/

directory就選擇examples目錄下web目錄,這也是自己定義的。

完成後,在左邊欄目中多出一個interestweb的目錄.

5.建立一個Web Servlet,由於interest源程序中,是靠servlet來調用EJB的,當然你也可以用你的JSp調用EJB,那麼我們要增加一個Web Servlet應用。

選擇new-->Servlet --->package 選擇org.jboss.docs.interest classname:自己定義,如InterestServlet 其他都是欠缺,注意,由於interest中原來有一個程序叫 InterestServlet,這次我們將替換這個程序(Servlet程序無法象EJB那樣導入).

完成後,在左邊欄目出又多出一個目錄;Addtional Settings,展開,我們看到了InterestServlet,然後,將原來的InterestServlet內容copy過來。

rebuild檢查這個servlet有無問題。

6.有了servlet 我們需要一個頁面來訪問這個Servlet,在interest原來程序中,是home.html,我們使用Jbuilder的new導航,自動建立一個home.jsp. 將home.html中代碼copy過來就可以。

這樣在interestweb下的Rott directory多了一個home.jsp

rebuild檢查這個home.jsp有無問題。

四、配置發布

7.一個簡單的J2EE框架已經出來了,現在我們要作些配置工作,讓Web應用的Servlet能夠訪問到EJB:

展開interestweb 展開deployment desciptors,雙擊web.xml 我們來編輯web.xml

web.xml是用來定義web應用的,在本web應用中,關鍵是要讓應用程序找尋到EJB,也就是關鍵是JNDI的配置。這裡我們使用JNDI的欠缺配置,直接引用<ejb-name>的值,這要求web應用程序和EJB程序在一個EAR文件中。

更復雜的JNDI配置就要根據不同的J2EE server各自不一樣,在實際應用中,有專門的deploy人員負責。

在左邊右下角出現webApp deployment descriptor的DTD 就是語法。

首先,我們要解決和EJB的聯系,選擇EJB References, 增加一個EJB

reference:
Reference Name:

這個EJB的名字很重要,由於interest程序中是用InterestServlet調用EJB的,我們要打開InterestServlet,尋找到Object ref = jndiContext.lookup("java:comp/env/ejb/Interest");

其中ejb/Interest就是Reference Name

link: 由於上面提到,我們使用欠缺的JNDI機制,所以這裡link一定要定義,定義成<ejb-name>,本例中是Interest

Home Interfcae:
org.jboss.docs.interest.InterestHome
Remote Interfcae:
org.jboss.docs.interest.Interest

打開source 可以看到:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>interestservlet</servlet-name>
<servlet-class>org.jboss.docs.interest.InterestServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>interestservlet</servlet-name>
<url-pattern>/interestservlet</url-pattern>
</servlet-mapping>
<ejb-ref>
<ejb-ref-name>ejb/Interest</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<home>org.jboss.docs.interest.InterestHome</home>
<remote>org.jboss.docs.interest.Interest</remote>
<ejb-link>Interest</ejb-link>
</ejb-ref>
</web-app>

注意:<url-pattern>/interestservlet</url-pattern>是訪問InterestServlet的Jsp或html頁面中的form action的值,有大小寫區分,現在是:

<form action="interestservlet" >
...
</form>

但是本例中,有一個home.html是用來調用InterestServlet的,我們看看home.html的代碼發現:

<form action="InterestServlet" method="POST" >

所以現在有兩種選擇,要麼修改這裡的<url-pattern> 要麼修改home.html中action

我們修改<url-pattern>吧。注意: <servlet-name>interestservlet</servlet-name>中是servlet的名字,也區分大小寫,我們servlet的程序是InterestServlet,如果你有不符合的地方要修改過來

配置welcome files為home.jsp 在本例中,第一個文件不是index.html 或index.jsp 是home.jsp

否則測試鍵入http://localhost:8084/interestweb/將出錯。

rebuild或make這個web應用,會自動生成一個war文件

8.最後,我們來生成ear文件,如果沒有Jbuilder幫忙,我們可能要使用ant手工編制build.xml,如果你經常開發新項目,這就很麻煩。Jbuilder現在很快能搞定。

new-->Ear (如果在本項目中,你沒有安裝EJB server,將無法選擇)

在建立導航中,Jbuilder會自動發現你的EJB ,你要打鉤加入,自動發現你的Web App ,你要選中。

完成後,在左邊欄目中,多出一個examples.eargrp目錄,雙擊打開,其實這就是application.xml

由此J2EE需要的幾個標准XML配置文件,我們依靠Jbuilder已經迅速的建立完成。

8.rebuild或make, 會自動在examples.eargrp下生成examples.ear文件。

使用tools/Enterprise Deployment 將examples.ear發布到JBoss中

或手工將examples.ear拷貝到Jboss的deploy目錄下。

五、測試成功

http://localhost:8080/interestweb/訪問你的J2EE,按提交按鈕後,應該出現下列:

Servlet interface to EJB
Calling EJB...
Interest on 1000.0 units, at 10.0% per period, compounded over 2.0 periods is: 210.00000000000023

這裡是本例中成功發布的程序,你可以將其中examples.ear直接發布,或打開,和你自己的試驗作個對比

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved