Next Previous Contents

5. 使用 Java CGI 類別

目前為止支援三個主要類別 -- CGI, Email 以及 HTML. 我正在考慮分別加上處理 MIME 格式輸入與輸出的類別 -- MIMEin & MIMEout.

也有一些用來支援和測試的類別. CGI_Test, Email_Test 以及 HTML_Test 是拿來測試你的安裝用的. 你也可拿來當做你自己程式中使用這些類別庫的起點. Text 類別是 EmailHTML 的基底類別.

5.1 CGI

類別語法

public class CGI

類別描述

CGI 類別持有的「CGI 資訊」 -- web 伺服器所設定的環境變數以及按下 submit 時由 form 所傳送來的名稱/數值. 所有的資訊都被存放在類別物件 Properties 中.

這個類別位於 ``Orbits.net'' 包裝(package)中.

成員摘要


        CGI()         //  建構子
        getNames()    //  取得名稱的串列
        getValue()    //  取得指定名稱的值

請參閱

CGI_Test.

CGI()

目的

建構一包含可用 CGI 資料的物件

語法

public CGI()

描述

當一 CGI 物件被建立時,所有可用的 CGI 資料被存放在新物件的局部儲存空間中.

getNames()

目的

列出已定義對應值的名稱.

語法

public Enumeration getNames ()

描述

提供所有已定義對應值的名稱的完整列表.

返回

所有名稱的 Enumeration 物件.

getValue()

目的

取回所指定對應於 namevalue

語法

public String getValue ( String name )

描述

這個方法提供由 HTML form 送入的 namesvalues 之間的對應.

參數

name

所選擇的鍵值.

返回

一個包含對應值的 String 物件.

5.2 CGI_Test

這個類別提供兩個功能,一個如何使用 CGI 類別的例子以及一個用來確定 Java CGI 套件運作正常的測試程式.

成員摘要


        main()      //  Program main().

請參閱

CGI.

main()

目的

提供 main() 方法.

語法

public static void main( String argv[] )

描述

這是 CGI 程式的入口,只不過返回可用的名稱/數值對與其現值的列表.

參數

argv[]

java.cgi 指令稿傳入的參數.目前未使用.

5.3 Email

類別語法

public class Email extends Text

類別描述

訊息由 Text 類別的 add*() 方法所建立,加入電子郵件專用的方法. 完成後,訊息被送到它的目的地.

這個類別位於 ``Orbits.net'' 包裝中.

成員摘要


        Email()      //  建構子
        send()       //  送出電子郵件訊息
        sendTo()     //  增加訊息的目的地
        subject()    //  設定訊息的主題

請參閱

Email_Test, Text.

Email()

目的

建立一包含電子郵件訊息的物件.

語法

public Email()

描述

建立一空的訊息以利由此類別方法加以完成.

請參閱

Text.

send()

目的

送出電子郵件訊息.

語法

public void send ()

描述

本方法編排並送出訊息.如果目的位址還未設定,將不會有動作發生.

sendTo()

目的

增加本訊息的目的地.

語法

public String sendTo ( String address )

描述

address 加入到目的地列表中.一份電子郵件目的地的數目是沒有限制的. 不過我相信如果你建了過大的列表,你將可能會超過你的郵件傳送代理程式(MTA) 所能接受的大小或用光你的記憶體.

參數

address

本訊息欲送達的一個目的地.

subject()

目的

設定本訊息的主題.

語法

public void subject ( String subject )

描述

本方法設定電子郵件的 Subject: 欄位. 如果呼叫超過一次以上,會使用最後一次呼叫的結果.

參數

subject

Subject: 欄位的文字.

5.4 Email_Test

這個類別提供一個如何使用 Email 類別的例子以及一個用來確定 Java CGI 套件運作正常的測試程式.

成員摘要


        main()      //  Program main().

請參閱

Email.

main()

目的

提供 main() 方法.

語法

public static void main( String argv[] )

描述

這是 CGI 程式的入口,返回可用的名稱/數值對與其現值的列表. 它也將列表送到由 Email 變數所指定的位址.

參數

argv[]

java.cgi 指令稿傳入的參數.目前未使用.

5.5 HTML

類別語法

public class HTML extends Text

類別描述

訊息由 Text 類別的 add*() 方法所建立,並加入 HTML 專用的方法. 完成後,訊息被送到它的目的地.

目前,還沒有錯誤檢查機制以確保列表建立的方法被以正確的順序使用. 因此程式設計者必須自行確定沒有違反 HTML 的語法.

這個類別位於 ``Orbits.net'' 包裝中.

成員摘要


        HTML()                  //  建構子
        author()                //  設定文件作者的名字
        definitionList()        //  起始一定義列表
        definitionListTerm()    //  在定義列表中增加一項目
        endList()               //  結束列表
        listItem()              //  在列表中增加一項目
        send()                  //  送出此 HTML 訊息
        title()                 //  設定文件標題的文字

請參閱

HTML_Test, Text.

HTML()

目的

建立一包含 HTML 訊息的物件.

語法

public HTML()

描述

建立一空的訊息以利由 HTML 方法加以完成.

請參閱

Text.

author()

目的

設定文件作者的名字.

語法

public void author ( String author )

描述

將文件的作者名字設定為 author

參數

author

用來作為此訊息作者的文字.

請參閱

title().

definitionList()

目的

起始一定義列表.

語法

public void definitionList ()

描述

起始一定義列表. 一個定義列表是一種特別的列表,列表中的每一項是由 項目 其後跟著定義的 文字 所形成的. 一定義列表的起始應跟著(至少)一項目/文字配對以及一個 endList() 方法的呼叫. 請注意,目前列表不能是巢狀的

請參閱

definitionListTerm(), endList(), listItem().

definitionListTerm()

目的

在定義列表中增加一項目.

語法

public void definitionListTerm ()

描述

在定義列表中增加一項目. 目前列表的項目部份的文字應該在此方法被呼叫後並且在對應的 listItem 方法被呼叫前加入.

請參閱

definitionList(), listItem().

endList()

目的

結束一列表.

語法

public void endList ()

描述

本方法結束一列表.注意,目前列表不能是巢狀的

請參閱

definitionList().

listItem()

目的

在列表中增加一項目.

語法

public void listItem ()

public void listItem ( String item )

public boolean listItem ( String term, String item )

描述

在列表中增加一項目. 如果使用第一種形式,目前列表項目的文字應在此方法被叫後並在任何其它列表方法被呼叫前加入. 在第二及第三種形式中,item 文字被指定為方法的參數而不是在其後被加入. 第三種形式是定義列表專用並且同時指定列表的項目與定義文字部份.

參數

item

此列表項目的文字.

term

此定義列表的項目部份的文字.

請參閱

definitionList(), definitionListTerm(), endList().

send()

目的

送出此 HTML 訊息.

語法

public void send ()

描述

送出此 HTML 訊息.

title()

目的

設定文件標題的文字.

語法

public void title ( String title )

描述

設定此文件的標題文字.

參數

title

此文件標題的文字.

請參閱

author().

5.6 HTML_Test

這個類別提供一個如何使用 HTML 類別的例子以及一個用來確定 Java CGI 套件運作正常的測試程式.

成員摘要


        main()      //  Program main().

請參閱

HTML.

main()

目的

提供 main() 方法.

語法

public static void main( String argv[] )

描述

這是 CGI 程式的入口,返回在一 HTML 文件中可用的名稱/數值配對與其現值的列表,並將每一名稱/數值配對顯示在一定義列表的元素裡.

參數

argv[]

java.cgi 指令稿傳入的參數.目前未使用.

5.7 Text

類別語法

public abstract class Text

類別描述

本類別為 Email HTML 的基礎類別. 訊息以此類別的方法建立,並以衍生類別的方法完成並編排.

這個類別位於 ``Orbits.net'' 包裝中.

成員摘要


        Text()            //  建構子
        add()             //  加入文字到此物件
        addLineBreak()    //  加入分行符號
        addParagraph()    //  加入分段符號

請參閱

Email, HTML.

add()

目的

在此項目中加入文字.

語法

public void add ( char addition )

public void add ( String addition )

public void add ( StringBuffer addition )

描述

在這個文字項目的內容中加入 addition

參數

addition

加入此文字項目的文字.

請參閱

addLineBreak(), addParagraph().

addLineBreak()

目的

強迫在目前文字位置分行.

語法

public void addLineBreak ()

描述

在目前位置加入一分行符號.

請參閱

add(), addParagraph().

addParagraph()

目的

起始一新的段落.

語法

public void add ()

描述

在目前的文字位置起始一新的段落.

請參閱

add(), addLineBreak().


Next Previous Contents