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