다음 이전 차례

5. Java CGI클래스 사용하기

현재 세개의 메인 클래스가 제공된다. CGIEmailHTML이다. 필자는 MIME 형태의 입출력을 다루는 각각의 클래스- MIMEin 과 MIMEout - 를 추가할 생각이다.

지원용클래스와 테스트 클래스도 몇 개 있다. CGI_Test, Email_TestHTML_Test는 인스톨을 테스트하기 위한 것이다. 이들 클래스는 이 클래스 라이브러리는 사용하는 자바 프로그램에서 시작점(starting- point)처럼 사용될 수도 있을것이다. Text 클래스는 EmailHTML 클래스의 수퍼클래스이다.

5.1 CGI

클래스 문법

public class CGI

클래스 설명

CGI 클래스는 "CGI 정보" (웹 서버가 정한 환경 변수들과 submit 동작이 선택되었을 때 form으로부터 보낸 name/value)를 가진다. 모든 정보는 Properties 클래스 객체에 저장된다. 이 클래스는 "Orbits.net" 패키지에 들어있다.

멤버 요약


        CGI()         //  생성자.
        getNames()    //  이름들의 리스트를 얻는다.
        getValue()    //  이름을 명시함으로써 form의 value를 얻는다.

참조

CGI_Test.

CGI()

목적

사용 가능한 CGI 테이타를 가진 객체를 생성한다.

문법

public CGI()

설명

CGI 객체가 생성 되었을 때, 모든 사용 가능한 CGI정보가 그 객체에 대해 로컬인 저장소로 보내진다.

getNames()

목적

해당하는 value를 갖도록 정의된 name들을 보인다.

문법

public Enumeration getKeys ()

설명

해당하는 value가 정의된 name의 전체 리스트를 제공한다.

리턴

정의된 모든 이름의 Enumeration

getValue()

목적

name이 명시된 value를 취한다.

문법

public String getValue ( String name )

설명

HTML form으로부터 보내진 namevalue사이에 대응하는 것을 리턴함.

파라메터

name

value를 선택하는 키

리턴

value를 담고 있는 String

5.2 CGI_Test

이 클래스에는 CGI클래스를 어떻게 사용하는지에 관한 예제와 Java CGI 패키지가 정확하게 동작하는지 확인하는데 사용되는 테스트 프로그램이 들어 있다.

멤버요약


        main()      //  프로그램 main().

참조

CGI.

main()

목적

main() 메소드를 제공한다.

문법

public static void main( String argv[] )

설명

사용 가능한 name/value 쌍의 리스트와 현재 값을 리턴하는 CGI 프로그램에 대한 진입점(entry point)이다.

파라메터

argv[]

java.cgi 스크립트에 의해 프로그램에 전달되는 인자들. 현재 사용 안함

5.3 Email

클래스 문법

public class Email extends Text

클래스 문법

메시지는 Text클래스의 add* () 메소드와 이 클래스에 의해 추가된 e-mail 관련(e-mail-specific) 메소드로 만들어진다. 다 마치면, 메시지는 목적지로 보내진다. 이 클래스는 "Orbits.net"패키지에 들어있다.

멤버 요약


        Email()      //  생성자.
        send()       //  전자메일 메시지를 보낸다.
        sendTo()     //  메시지에 목적지를 추가한다.
        subject()    //  메지지에 주제(Subject:)를 정한다.

참고

Email_Test, Text.

Email()

목적

전자메일 메시지를 담은 개체를 생성한다.

문법

public Email()

설명

Email메소드로서 완성(complete)될 빈 메시지를 셋업한다.

참조

Text.

send()

목적

전자메일 메시시를 보낸다.

문법

public void send ()

설명

메지시를 정형화(format)하고 보낸다. 목적지가 정해지지 않았으면, 아무 일도 발생하지 않는다.

sendTo()

목적

메시지에 목적지를 추가한다.

문법

public String sendTo ( String address )

설명

이 메소드의 목적지 리스트에 주소 를 추가한다. 전자메일 메시지가 가질 수 있는 목적지의 수에는 정해진 한계가 없다. 리스트의 크기를 충분히 크게 만든다면, 메일 전송 에이전트(Mail Transport Agent) 가 허용할 수 있는 파라메터 리스트의 사이즈를 초과할 수 있으며 그렇지 않다면 메모리를 다 써버릴 것이다.

파라메터/

address

메시지를 보낼 목적지.

subject()

목적

메시지의 주제를 정한다.

문법

public void subject ( String subject )

설명

전자메일의 Subject: 줄의 텍스트를 정한다. 만약 한번 이상 호출되면, 맨 마지막에 정한 subject가 사용된다.

파라메터

subject

메시지의 Subject: 줄의 텍스트

5.4 Email_Test

이 클래스는 Email 클래스를 어떻게 사용하는지에 관한 예제와 Java CGI 패키지가 정확하게 동작하는지 확인하는데 사용되는 테스트 프로그램 예제가 들어있다.

멤버 요약


        main()      //  프로그램 main().

참조

Email.

main()

목적

main() 메소드를 제공한다.

문법

public static void main( String argv[] )

설명

사용 가능한 name/value 쌍과 현재 그 쌍의 리스트를 리턴하는 CGI 프로그램에 대한 진입점(entry point)이다. Email 변수에 명시된 주소에도 이 리스트를 보낸다.

파라메터

argv[]

java.cgi 스크립트에 의해 프로그램에 전달되는 인자들. 현재 사용 안함.

5.5 HTML

클래스 문법

public class HTML extends Text

클래스 설명

메시지는 Text클래스의 add* () 메소드와 이 클래스에 의해 추가된 HTML관련(HTML-specific) 메소드로 만들어진다. 완성되면, 메시지는 목적지로 보내진다. 현재, 리스트를 만드는 메소드들이 정확한 순서로 사용되었는지 확신할 에러 체킹을 하지 않아서, 프로그래머가 HTML 문법을 어기지 않도록 주의해야 한다. 이 클래스는 "Orbits.net"패키지에 들어있다.

멤버 요약


        HTML()                  //  생성자.
        author()                //  문서 저자의 이름을 정한다.
        definitionList()        //  정의 리스트를 시작한다.
        definitionListTerm()    //  정의 리스트에 용어(term)를 추가한다.
        endList()               //  리스트를 끝맺는다.
        listItem()              //  리스트에 엔트리를 추가한다.
        send()                  //  HTML메시지를 보낸다.
        title()                 //  문서 제목용 텍스크를 정한다.

참조

HTML_Test, Text.

HTML()

목적

HTML메시지를 담을 객체를 생성한다.

문법

public HTML()

설명

HTML 메소드에 의해서 완성될 빈 메시지를 만든다.

참조

Text.

author()

목적

문저 저자의 이름을 정한다.

Syntax

public void author ( String author )

설명

문서의 저자를 author로 정한다.

파라메터/

author

메시지의 저자로 사용될 텍스트.

참조

title().

definitionList()

목적

정의 리스트를 시작한다.

문법

public void definitionList ()

설명

정의 리스트를 시작한다. 정의 리스트는 리스트 안의 각각의 엔트리가 그 용어(term)의 정의 텍스트(text) 다음에 나오는 항목인 리스트이다. 정의 리스트의 시작은 (최소한) 하나의 용어/텍스트 쌍을 생성하고 endList() 메소드가 한번 호출된 이후 이어야 한다. 현재 리스트들은 네스트(nest)될 수 없음을 주의하라.

참조

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 )

설명

리스트에 엔트리 하나를 추가한다. 만약 첫번째 폼(form)이 사용된다면, 현 리스트 아이템의 텍스트는 이 메소드가 호출된 다음에 그리고 다른 리스트 메소드가 호출되기 전에 메시지에 붙여져야 한다. 두번째와 세번째 폼에서는, item 텍스트는 이 메시지에 덧붙여지는 대신에(혹은 추가로) 메소드의 파라메터로써 명시된다.세번째는 정의 리스트에 관련되고(specific), 용어와 리스트 엔트리의 정의를 제공한다.

파라메터

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()      //  프로그램 main().

참조

HTML.

main()

목적

main() 메소드를 제공한다.

문법

public static void main( String argv[] )

설명

HTML문서에서 정의 리스트 원소에서 각각의 name/value의 쌍을 보이며 사용 가능한 name/value의 쌍의 리스트를 리턴하는 CGI프로그램에 대한 진입점이다.

파라메터

argv[]

java.cgi스크립트에 의해 프로그램에 전달되는 인자들. 현재 사용 안함.

5.7 Text

클래스 문법

public abstract class Text

클래스 설명

이 클래스는 EmailHTML 클래스의 수퍼클래스이다. 메시지는 이 클래스안의 메소드에 의해 만들어지고 서브클래스의 메소드로써 완성되며(completed) 형식화(formatted)된다. 이 클래스는 "Orbits.text"패키지 안에 들어있다.

멤버 요약


        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().


다음 이전 차례