top
Loading...
JBuilder4入門

1. 前言

經過對JBuilder 4 Enterprise 版的幾天使用,逐步了解了JBuilder 4一些讓人向往的特性,如功能豐富的向導,對EJB/Servlet/JSP的直接調試能力。深深的為其震撼,現將一些收獲整理,希望能以此提高我們開發的速度!

2. EJB

開發環境的配置

要進行EJB的開發,需要有JBuilder4 Enterprise、Borland Application Server 4.x.

安裝

先安裝JBuilder 4,假設你要安裝到

c:JBuilder40 (default).

安裝 JBuilder Foundations

安裝 JBuilder 4 Enterprise.

要安裝BAS(IAS)4.x、請先下載JDK1.2.2以上版本,j2eesdk1.2.1以上版本。

安裝 J2eesdk 1.2.1 to c:j2eesdk1.2.2 (default).

安裝 Borland Application Server 4.5.

這里假設你將BAS安裝到c:Bas45 (not default),osagent使用缺省的端口 (14000)

Bas與JBuilder4的集成

將JBuilder Open Tool bas45.jar 從 C:Bas45consolejbuilderjb40 拷貝到C:JBUILDER40libext 目錄下,重啟JBuilder.

1. 選擇Tools | Enterprise Setup 。

2. 在 Application Server 頁中選擇BAS 4.5,在BAS installation directory點中選擇輸入 C:BAS45



3. 點OK。系統將提示重啟JBuilder,請確認。

4. 選擇Tools | Enterprise Setup

5. 選擇Corba頁,在Path for ORB Tools中輸入C:/Bas45/bin

6. 點Library for projects下的…按鈕,選擇Bas 4.5 ,請參考下圖。



實例操作步驟

下面將在Jbuilder里創建一個簡單的EJB,請對照下面步驟執行

第一步,創建工程:

選擇 File | New Project…

將工程目錄設為 quickstart.

將根目錄設為 c:/project.

按 Finish 按鈕.



第二步,創建EJB Group。

EJB Group將打包成Jar文件時自動加入里面的包內的EJB。:

選擇 File | New… | Enterprise tab | Empty EJB Group.

設置組的名稱為quickstart,JBuilder將在此工程的目錄里生成一個quickstart.jar文件。.

點 OK.



第三步、建立Bean

接著使用向導建立Bean:

File | New… | Enterprise tab | Enterprise JavaBean.

點 Next to將這個bean加入剛剛創建的EJB組。

將類名高為TellerBean 點Next.



不要改變接口的名稱,但是要將bean home改為TellerHome。



現在,可以看到工程中有三個類. TellerHome和Teller 是EJB容器需要實現的。

TellerBean是我們要加入的商業邏輯的類,雙擊TellerBean在其中加入以下代碼:

public int getTellerNo() {

return 1;

}

Save All your work and Make .

第四步,發布方法

現在我們需要將方法暴露給容器。雙擊TellerBean,我們可以在Bean這一頁中看到一個叫Methods的頁。步驟:

雙擊TellerBean.java。

選中 Bean 頁,再選Methods 頁。

選中 getTellerNo 方法的復選框(Save All,這時如果你打開Teller.java,你可以看到其中聲明了一個新的方法的。)



現在我們寫完了EJB的代碼。

第五步,配置

現在我們要完成及檢查配置描述(Deployment Descriptor)。配置描述是EJB的重要部分,它將發布配置與發布代碼分離開,以我們可以在不改變源代碼的情況以分解與調配一個應用。

JBuilder已經為我們生成了一部分配置描述,現在我們來作些調整:

雙擊Double-click quickstart.ejbgroup to view it.

在左下的結構窗格中展開TellerBean ,點 Container Transactions.



點 Add 為我們的方法加入一個事務屬性為 ‘Required’的容器事務,點Verify ,應該是0 Warnings,0 Errors. 點Save All ,再點Make



第六步,寫客戶端測試代碼。

現在我們完成了服務端的編寫,現在我們要寫個Java客戶端來調用EJB內的getTellerNo。使用向導來創建一個EJB Test Client。

File | New… | Enterprise tab | EJB Test Client

將類名認為 Client

只選中 Generate main function



點OK.

在Client類中加入以下代碼。注意是在第一個try語句塊的最后。

Teller teller = tellerHome.create();

int t = teller.getTellerNo();

System.out.println(“Using teller No: “ + t);

第七步,編譯

最后生成RMI/IIOP的存根(stub)來調用遠程方法。

右擊TellerHome.java 選中 Properties.

在 Build | VisiBroker 頁中, 選中 Generate IIOP.

點 OK.

Save All 再 Make .

現在我們已經完成了開發。



第八步,運行

現在我們將在JBuilder4內運行容器來執行這個bean,選運行VisiBroker Smart Agent:

Tools | VisiBroker Smart Agent

設置運行容器的參數

Run | Configurations…

編輯<default>的設置.

選中 EJB 頁.



點 OK, OK.

運行這個container 等待它初始化

右擊Client.java,選中Run ,運行客戶端。

在消息窗口可以看到這樣的輸出信息。

C:JBuilder40jdk1.3injavaw –class… Using teller No: 1
.

如何調試

1. 設定斷點

在TellerBean中找到這一行

return 1;

右擊這一行,選擇Toggle Breakpoint(或按快捷鍵F5),這一行將會加亮成紅色。

2. 裝入容器

,如果在消息框內出現

Borland Application Server Customer


........ done


Initializing JDB............. done


Initializing EJBs............. done


Container [ejbcontainer] is ready


EJB Container Statistics

========================

Time Fri Jun 08 21:51:22 CST 2001

Memory (used) 1304 Kb (max 1304 Kb)

Memory (total) 2292 Kb (max 2292 Kb)

Memory (free) 43.0%

------------------------

Home TellerHome

Total in memory 0

Total in use 0

========================

則可證明Container運行成功。

3. 運行客戶端

用右鍵點擊Client.java,選中Run,在調用遠程方法時,將跟蹤到EJB的內部,想想這個,真是爽呀!JBuilder4開發EJB,真的歷害。



3. JSP

開發環境的配置

JBuilder提供了一個JSP開發的完整系統,包括一個用來創建JSP文件的JSP向導,及對JSP標記的CodeInsight(加亮顯示,自動完成)技術,集成的Tomcat引擎(支Java Servlet 2.2 及JSP 1.1 ),可以使用戶在集成環境下調試JSP代碼。

系統無需特別的設置,便可以用于開發JSP。

實例操作步驟

1. 生成一個JSP工程

選擇 File|Close Project關閉所有的打開的工程。

選擇 File|New。

選中Object Gallery的New頁中的 JavaServer Page. 這時將出現工程向導。

把Project Name改成SampleJSP.。

單擊Finish按鈕接受其缺省的配置。

這時工程就創建了,系統將彈出JSP向導。

在JSP向導的第一步中輸入JspWithCountingBean,單擊Finish。



JSP創建成功。

工程的主類是生成的JSP文件,下面兩個文件將加入工程中:

JspWithCountingBean.jsp – 一個包含JSP標記的HTML文件。

JspWithCountingBeanBean.java – 一個JSP文件調用的Bean。

雙擊在工程窗格中的JspWithCountingBeanBean.java,在源程序中增加以下黑體部分代碼。

package samplejsp;


public class JspWithCountingBeanBean {

/**initialize variable here*/
private int myCount=0;

private String sample = "Start value";
/**Access sample property*/
public String getSample() {
return sample;
}

/**Access sample property*/
public void setSample(String newValue) {
if (newValue!=null) {
sample = newValue;
}
}

/**New method for counting number of hits*/
public int count() {
return ++myCount;
}

}

雙擊在工程窗格中的JspWithCountingBean.jsp,在代嗎中增加以下黑體部分代碼。

<HTML>
<HEAD>
<jsp:useBean id="JspWithCountingBeanId" scope="session"
class="samplejsp.JspWithCountingBeanBean" />
<jsp:setProperty name="JspWithCountingBeanId" property="*" />
<TITLE>
JspWithCountingBean
</TITLE>
</HEAD>
<BODY>
<H1>
JBuilder Generated JSP
</H1>
<FORM method="post">
<BR>Enter new value: <INPUT NAME="sample"><BR>
<BR><BR>
<INPUT TYPE="SUBMIT" NAME="Submit" VALUE="Submit">
<INPUT TYPE="RESET" VALUE="Reset">
<BR>
Value of Bean property is: <jsp:getProperty name="JspWithCountingBeanId"
property="sample" />
<P>This page has been visited :<%= JspWithCountingBeanId.count() %> times.<BR>
</FORM>
</BODY>
</HTML>

2. 運行JSP

要運行JSP

右擊JSP文件

選擇 Web Run.

如果沒有錯誤,Tomcat將啟動,在內容面板中將出現Web View與Web View Source 頁,Web View相當于一個瀏覽器,返回JSP運行的結果。如果運行成功將可以看到以下內容:

JSP in Web View



可以點擊Web View 頁中的Submit按鈕,可以看到Page Counter在增加。Tomcat所有的輸出信息/日志都顯示在Message窗格中。

3. 調試JSP

要調試JSP,先設置一個斷點,具體步驟如下:

在JspWithCountingBean.js中的源文件窗格中,找到下面這一行:

<P>This page has been visited :<%= JspWithCountingBeanId.count() %> times.<BR>.

點右鍵,在彈出菜單中選擇Toggle Breakpoint。

右擊JSP文件,選擇Web Debug即可調試。



如何調試

如上節所提,上圖就是調試的界面。

4. Servlet

開發環境的配置

無需特別配置,JBuilder4已經為我們配好了開發環境。

例操作步驟

1. 生成一個Servlet

在JBuilder內創建一個新工程

選擇 File|Close 關閉其他工程

選擇 File|New, 在Object Gallery.雙擊Servlet圖標

這時將出現工程向導,將目錄、工程名設為SampleServlet。

點Finish.

這時出現Servlet向導

創建一個新的servlet:

類名設為firstServlet。

選中doPost()方法(通常doGet()方法已被缺省選中了 )。

點Next.

讓SHTML文件保持缺省設置,點Next。

點Add按鈕加入一個Servlet Parameter,這樣將在SHTML文件內生成一些這些參數的引用代碼。請對應下表將參數設為下表的值:


Name* UserName
Type*String
DescName of User
Variable*userName
DefaultHey You

點Finish,這時工程內將有一個firstServlet.java文件和一個firstServlet.shtml 文件。Servlet庫也將自動載入工程的Library。

在firstServlet.java內加入以下代碼,新再入的代碼也被標為黑體。

package firstservlet;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;

public class firstServlet extends HttpServlet {
private static final String CONTENT_TYPE = "text/html";

/**Initialize global variables*/
int connections;
public void init(ServletConfig config) throws ServletException {
super.init(config);
connections=0;
}

/**Process the HTTP Get request*/
public void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
out.println("<font color="green">");
out.println("<p>The servlet has received a GET. This is
the reply.</p>");
out.println("</font>");
}

/**Process the HTTP Post request*/
public void doPost(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
file://Name of User
String userName = "Hey you";
try {
userName = request.getParameter("UserName");
}
catch(Exception e) {
e.printStackTrace();
}
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>firstServlet
</title></head>");
out.println("<body>");
out.println("<p>The servlet has received a POST.
This is the reply.</p>");
out.println("<p>Thanks for visiting, ");
out.println(request.getParameter("UserName"));
out.println("<P>");
out.println("Hello World - my first Java Servlets program!");
out.println("<P>You are visitor number ");
connections++;
out.println(Integer.toString(connections));
out.println("</body></html>");
}
}

2. 編譯

要編譯serlet,先到設置運行時屬性。

單擊 Project|Project Properties。選擇Run頁,再選JSP/Servlet 頁。

單擊Set按鈕,瀏覽并選中創建的SHTML文件。

改變Web Server的屬性,端口是Web Server運行時使用的端口,缺省的端口是8080,如果8080被占用的,JBuilder會自動選擇一個空閑的端口。

點OK。

現在可以編譯了

右擊firstServlet.shtml.

點Make。

3. 運行

與運行JSP類似,右擊firstServlet.shtml,選中Web Run.

4. 調試

與運行JSP類似,右擊firstServlet.shtml,選中Web Debug.

如何調試

已作說明。


作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗