管理及程式設計指南

Net.Data servlet

Net.Data 提供含有 Net.Data 函數的 servlet 及 NetObjects Fusion 外掛程式, 可用於 Java 環境。使用 servlet 及外掛程式,您可以:

本節說明下列 servlet 主題:

關於 Net.Data servlet

Net.Data 提供 servlet, 以協助您使用 Java 環境來開發與管理巨集。servlet 是 Java 類別, 可執行類似於 CGI 程式或 Web 伺服器 API 外掛程式的角色。servlet 係被具有 Java servlet 能力的 Web 伺服器用來建立 HTML 頁面。servlet 並沒有它們自己的圖形使用者介面, 但可區域性 (或透過網路) 並動態地載入它們的類別, 且可使用 URL 位址 (遠端) 或類別名稱 (區域) 予以呼叫。 servlet 可供 Windows NT 與 AIX 作業系統使用。

Net.Data servlet 是 Java 式的外層, 執行的是使用原始 DLL 檔的 Net.Data 2 版巨集或直接要求。 這些 servlet 可讓您執行舊有的巨集 (MacroServlet) 或單一函數 (FunctionServlet)。要使用這些 servlet 必須要有 Net.Data版本 2。 Net.Data servlet 可執行資料庫或非資料庫語言環境, 且可與「現場連線」搭配執行。

servlet 是隨 API 而來,可與應用程式搭配使用。 servlet API 的資訊是與 Net.Data 書寫在一起。請參閱 <inst_dir>/servlet/NetDataservlet.jar 檔, 以取得 API 說明文件。

Net.Data 提供兩種 servlet:

巨集 servlet (com.ibm.netdata.servlet.Macroservlet)
執行舊有 Net.Data 巨集。

使用巨集 servlet 與透過 CGI-BIN 介面執行 Net.Data 巨集類似, 不同的是您是透過 Java servlet 來執行巨集。巨集 servlet 需要安裝 Net.Data 版本 2 或更新版本。

使用巨集 servlet 的優點包括:

巨集 servlet 也容許異質資料庫 (如 DB2 及 Oracle) 的原始存取,以及不同的語言環境 (如 Perl、REXX 及 Java)。

函數 servlet (com.ibm.netdata.servlet.Functionservlet)
透過 servlet 介面 (例如,%FUNCTION DTW_SQL()) 來執行 Net.Data 函數或 SQL 陳述式。請參閱不使用巨集呼叫 Net.Data (直接要求),以取得相關的詳細資訊。

函數 servlet 需要安裝 Net.Data 版本 2。

執行 Net.Data servlet

Net.Data servlet 可用兩種方式執行:一種是從 URL, 另一種是當成 HTML 檔案的 SSI。您可使用 NetObjects Fusion 外掛程式將 Net.Data servlet 納入 NOF 地點中。下列各節討論的是如何藉由鍵入 servlet 的語法, 來修改與執行 servlet。請參閱附錄 E, 搭配使用 NetObjects Fusion NOF 外掛程式與 Net.Data servlet, 以學習如何使用 NetObjects Fusion 來修改與執行 servlet。

執行巨集 servlet

在 HTML 檔案中,請使用下列其中一個語法選項來輸入 servlet 參數:

  1. URL:
    http://myserver/servlet/com.ibm.netdata.servlet.Macroservlet
      ?MACRO=macro_value&BLOCK=block_value&parmnn=valuenn
    

    例如:

    http://myserver/servlet/com.ibm.netdata.servlet.Macroservlet
      ?MACRO=my_macro&BLOCK=my_block&field1=custno
    
  2. SSI:
    <servlet code="com.ibm.netdata.servlet.Macroservlet">
         <param name="MACRO" value="macro_value">
          <param name="BLOCK" value="block_value">
         <param name="parmnn" value="valuenn">
    </servlet>
    

    例如:

    <servlet code="com.ibm.netdata.servlet.Macroservlet">
         <param name="MACRO" value="my_macro.d2w">
         <param name="BLOCK" value="report">
    <param name="field1" value="custno">
    </servlet>
    

參數:

macro_value
舊有 Net.Data 巨集的完整路徑

block_value
位在將執行的指定 Net.Data 巨集中的 HTML 區塊名稱; 預設值為 report (可選用的)

parmnn
您的巨集需要的其它參數,如
<param name="field1" ...

valuenn
您的巨集需要的其它值,如
... value="custnum"

HTMLPATH 參數:如果獲得的錯誤訊息指出 HTMLPATH 參數遺失, 請將 HTMLPATH 參數新增到 servlet 呼叫指令中:

OUTBUFLEN 參數:如果您的巨集結果大於 32 KB, 請須設定 OUTBUFLEN 參數。 必要時若無法設定這些參數可能會造成無法預期的結果。

執行函數 servlet

函數 servlet 可以使用直接要求,呼叫 Net.Data 來執行函數 (如 REXX 函數) 或 SQL 陳述式。 您對 servlet 設定的參數取決於您要執行函數或 SQL 陳述式而定。 在 HTML 檔案中,請使用下列其中一個語法選項來輸入 servlet 參數:

  1. URL:
  2. SSI:

參數:

lang_env_name
被呼叫的 Net.Data 語言環境 (如 DTW_SQL, DTW_REXX), 以處理函數、SQL 陳述式或儲存程序。這個參數需要使用 FUNC 或 SQL。

program_name
含有要執行的函數的程式的名稱。 例如,my_rexx; 其中 my_rexx 是 REXX 可執行檔的名稱。 請使用 parmnnvaluenn 參數, 來指定此函數的輸入參數。

database_name
與此 DATABASE 參數有關的資料庫名稱。

SQL_stmt_name
存取資料庫的 SQL 陳述式或儲存程序名稱。例如,"select * from employee"。請使用 parmnnvaluenn 參數, 來指定 SQL 陳述式或儲存程序的輸入參數。

parmnn
您的巨集需要的其它參數,如 <param name="field1" ...

valuenn
您的巨集需要的其它值,如 ... value="custnum"

HTMLPATH 參數:如果獲得的錯誤訊息指出 HTMLPATH 參數遺失, 請將 HTMLPATH 參數新增到 servlet 呼叫指令中:

其中 html_path 指定的是 Web 伺服器根 HTML 目錄的路徑; 例如:htmlpath=e:\html

OUTBUFLEN 參數:如果您的巨集結果大於 32 KB, 則您必須設定 OUTBUFLEN 參數。 必要時若無法設定這些參數可能會造成無法預期的結果。


[ 頁面頂端 | 前一頁 | 下一頁 | 目錄 | 索引 ]