Next Previous Contents

5. Χρησιμοποιώντας τις Java CGI Κλάσεις

Υπάρχουν προς το παρόν τρεις κύριες κλάσεις που υποστηρίζονται -- CGI, Email και HTML. Σκέφτομαι να προσθέσω κλάσεις για να αντιμετωπίσω τα MIME-διαμορφωμένα εισαγόμενα (input) και εξαγόμενα (output) -- MIMEin & MIMEout, αντίστοιχα.

Υπάρχουν επίσης μερικές support και test κλάσεις. CGI_Test, Email_Test και HTML_Test σκοπεύουν να χρησιμοποιηθούν για να ελέγξουν την εγκατάστασή σας. Μπορούν επίσης να χρησιμοποιηθούν σαν ένα σημείο-εκκίνησης για τα δικά σας προγράμματα Java που χρησιμοποιούν αυτή τη βιβλιοθήκη κλάσεων. Η Text κλάση είναι η υπερκλάση και για τις δύο κλάσεις, την Email και την HTML.

5.1 CGI

Σύνταξη κλάσης

public class CGI

Περιγραφή κλάσης

Η CGI κλάση κρατάει τις ``CGI Πληροφορίες'' -- Μεταβλητές περιβάλλοντος από τον διακομιστή ιστού και το όνομα/τιμή που στέλνονται από μία φόρμα όταν η submit ενέργεια είναι επιλεγμένη. Όλες οι πληροφορίες αποθηκεύονται σε ένα Properties αντικείμενο κλάσης.

Αυτή η κλάση είναι στο πακέτο ``Orbits.net''.

Περίληψη μελών

CGI() // Κατασκευαστής.

getNames() // Παίρνει τη λίστα ονομάτων.

getValue() // Παίρνει την τιμή φόρμας κατά προσδιορισμένο όνομα.

Δείτε επίσης

CGI_Test.

CGI()

Purpose

Κατασκευάζει ένα αντικείμενο που περιέχει τα διαθέσιμα CGI δεδομένα.

Syntax

public CGI()

Description

Όταν κατασκευάζεται ένα αντικείμενο CGI, όλες οι διαθέσιμες CGI πληροφορίες αναρροφούνται σε αποθήκη τοπικά στο νέο αντικείμενο.

getNames()

Purpose

Κάνει λίστα των ονομάτων που είναι ορισμένες για να έχουν αντίστοιχες τιμές.

Syntax

public Enumeration getKeys ()

Description

Παρέχει την πλήρη λίστα των ονομάτων για τα οποία αντίστοιχες τιμές είναι ορισμένες.

Returns

Μία Enumeration όλων των ορισμένων ονομάτων.

getValue()

Purpose

Επανακτά την value συσχετισμένη με το name που έχει οριστεί.

Syntax

public String getValue ( String name )

Description

Αυτή η μέθοδος παρέχει τη αντιστοιχία μεταξύ των names και values που στέλνονται από μία HTML φόρμα.

Παράμετρος

name

Το κλειδί κατά το οποίο οι τιμές επιλέγονται.

Returns

Ένα String που περιλαμβάνει την τιμή.

5.2 CGI_Test

Αυτή η κλάση παρέχει ένα παράδειγμα του πώς να χρησιμοποιείτε την κλάση CGI και ένα πρόγραμμα ελέγχου που μπορεί να χρησιμοποιηθεί για να επιβεβαιώσει ότι το πακέτο Java CGI λειτουργεί σωστά.

Περίληψη μελών

main() // Πρόγραμμα main().

Δείτε επίσης

CGI.

main()

Purpose

Παρέχει μία main() μέθοδο.

Syntax

public static void main( String argv[] )

Description

Αυτό είναι το σημείο καταχώρησης για ένα πρόγραμμα CGI που δεν κάνει τίποτα άλλο από το να αναφέρει μία λίστα με όλα τα διαθέσιμα όνομα/τιμή ζευγάρια και τις τρέχουσες τιμές τους.

Παράμετρος

argv[]

Επιχειρήματα περασμένα στο πρόγραμμα από το java.cgi script. Προς το παρόν αχρησιμοποίητη.

5.3 Email

Σύνταξη Κλάσης

public class Email extends Text

Περιγραφή κλάσης

Μηνύματα σχηματίζονται με την Text κλάση add*() μεθόδους και τις e-mail-συγκεκριμένες μεθόδους που προστίθενται από αυτήν την κλάση. Όταν ολοκληρωθεί, το μήνυμα στέλνεται στον προορισμό του.

Αυτή η κλάση είναι στο πακέτο ``Orbits.net''.

Περίληψη μελών

Email() // Κατασκευαστής.

send() // Στέλνει το e-mail μήνυμα.

sendTo() // Προσθέτει έναν προορισμό για το μήνυμα.

subject() // Ρυθμίζει το Θέμα: για το μήνυμα.

Δείτε επίσης

Email_Test, Text.

Email()

Purpose

Κατασκευάζει ένα αντικείμενο το οποίο θα περιέχει ένα email μήνυμα.

Syntax

public Email()

Description

Ρυθμίζει ένα κενό μήνυμα για να ολοκληρωθεί από τις Email μεθόδους.

See Also

Text.

send()

Purpose

Στέλνει το e-mail μήνυμα.

Syntax

public void send ()

Description

Αυτή διαμορφώνει και στέλνει το μήνυμα. Αν καμία διεύθυνση προορισμού δεν έχει ρυθμιστεί, δε λαμβάνεται καμία ενέργεια.

sendTo()

Purpose

Προσθέτει έναν προορισμό για αυτό το μήνυμα.

Syntax

public String sendTo ( String address )

Description

Προσθέτει την address στη λίστα προορισμών για αυτήν την μέθοδο. Δεν υπάρχει κανένα όριο ρύθμισης στον αριθμό προορισμών που ένα e-mail μήνυμα μπορεί να έχει. Είμαι σίγουρος πως αν σχηματίσετε τη λίστα αρκετά μεγάλη, μπορείτε να υπερβεί τε το μέγεθος της λίστας παραμέτρων που ο Mail Transport Agent μπορεί να αποδεχθεί ή να καταναλώσετε τη μνήμη σας.

Parameter/

address

Ένας προορισμός για να στείλετε αυτό το μήνυμα.

subject()

Purpose

Στέλνει το θέμα για αυτό το μήνυμα.

Syntax

public void subject ( String subject )

Description

Αυτή η μέθοδος ρυθμίζει το κείμενο για την γραμμή Subject: του e-mail. Αν κληθεί περισσότερες από μία φορές, το τελευταίο ρυθμισμένο θέμα είναι αυτό που χρησιμοποιείται.

Parameter

subject

Το κείμενο της Subject: γραμμής αυτού του μηνύματος.

5.4 Email_Test

Αυτή η κλάση παρέχει ένα παράδειγμα του πώς να χρησιμοποιείτε την Email κλάση και ένα test πρόγραμμα που μπορεί να χρησιμοποιηθεί για να επιβεβαιώσει ότι το Java CGI πακέτο λειτουργεί σωστά.

Περίληψη μελών

main() // Πρόγραμμα main().

Δείτε επίσης

Email.

main()

Purpose

Παρέχει μία main() μέθοδο.

Syntax

public static void main( String argv[] )

Description

Αυτό είναι το σημείο καταχώρησης για ένα πρόγραμμα 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()

Purpose

Δημιουργεί ένα αντικείμενο που θα περιέχει ένα HTML μήνυμα.

Syntax

public HTML()

Description

Ρυθμίζει ένα κενό μήνυμα να συμπληρωθεί από τις HTML μεθόδους.

See Also

Text.

author()

Purpose

Ρυθμίζει το όνομα του συγγραφέα του εγγράφου.

Syntax

public void author ( String author )

Description

Ρυθμίζει το όνομα του συγγραφέα του εγγράφου σε author.

Parameter/

author

Το κείμενο που πρέπει να χρησιμοποιηθεί σαν ο συγγραφέας αυτού του μηνύματος.

See Also

title().

definitionList()

Purpose

Αρχίζει μια λίστα ορισμών.

Syntax

public void definitionList ()

Description

Αρχίζει μια λίστα ορισμών. Η definition list είναι μία λίστα ειδικευμένη έτσι ώστε κάθε καταχώριση στη λίστα είναι ένας term ακολουθούμενος από το text ορισμών για αυτόν τον όρο. Η αρχή μιας λίστας ορισμών θα πρέπει να ακολουθείται από τουλάχιστον) ένα όρος/κείμενο ζευγάρι και μία κλήση στην endList() μέθοδο. Σημειώστε πως, προς το παρόν, οι λίστες δεν μπορούν να είναι φωλιασμένες (nested) η μία μέσα στην άλλη.

See Also

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

definitionListTerm()

Purpose

Προσθέτει έναν όρο στη λίστα ορισμών.

Syntax

public void definitionListTerm ()

Description

Προσθέτει έναν όρο στη λίστα ορισμών. Το κείμενο για το κομμάτι του όρου της τρέχουσας καταχώρησης λίστας θα πρέπει να επισυνάπτεται στο μήνυμα αφού η μέθοδος αυτού καλείται και πριν μια αντίστοιχη listItem μέθοδος καλείται.

See Also

definitionList(), listItem().

endList()

Purpose

Τελειώνει μια λίστα.

Syntax

public void endList ()

Description

Τελειώνει μια λίστα. Αυτή η μέθοδος κλείνει μία λίστα. Σημειώστε ότι, προς το παρόν, οι λίστες δεν μπορούν να είναι φωλιασμένες (nested), η μία μέσα στην άλλη.

See Also

definitionList().

listItem()

Purpose

Προσθέτει μία καταχώρηση σε μία λίστα.

Syntax

public void listItem ()

public void listItem ( String item )

public boolean listItem ( String term, String item )

Description

Προσθέτει μία καταχώρηση σε μία λίστα. Αν η πρώτη φόρμα χρησιμοποιείται, το κείμενο για την τρέχων αντικείμενο λίστας θα πρέπει να επισυνάπτεται στο μήνυμα αφού η μέθοδος αυτή καλείται και πριν άλλες μέθοδοι λίστας καλούνται. Στην δεύτερη και τρίτη φόρμα, το item κείμενο προσδιορίζεται σαν μία παράμετρος στη μέθοδο αντί να (ή επιπροσθέτως στο να) επισυνάπτεται στο μήνυμα. Η τρίτη φόρμα είναι ειδική στις λίστες ορισμών και παρέχει και τον όρο και του ορισμό της καταχώρησης λίστας.

Parameters

item

Το κείμενο αυτής της καταχώρησης λίστας.

term

Το κείμενο αυτής της λίστας ορισμών του κομματιού του όρου καταχώρησης.

See Also

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

send()

Purpose

Στέλνει το HTML μήνυμα.

Syntax

public void send ()

Description

Στέλνει το HTML μήνυμα.

title()

Purpose

Ρυθμίζει το κείμενο για τον τίτλο εγγράφου.

Syntax

public void title ( String title )

Description

Ρυθμίζει το κείμενο για τον τίτλο εγγράφου.

Parameter

title

Το κείμενο αυτού του τίτλου του μηνύματος.

See Also

author().

5.6 HTML_Test

Αυτή η κλάση παρέχει ένα παράδειγμα του πώς να χρησιμοποιείτε την HTML κλάση και ένα test πρόγραμμα που μπορεί να χρησιμοποιηθεί για να επιβεβαιώσει ότι το πακέτο Java CGI λειτουργεί σωστά.

Περίληψη μελών

main() // Πρόγραμμα main().

Δείτε επίσης

HTML.

main()

Purpose

Παρέχει μία main() μέθοδο.

Syntax

public static void main( String argv[] )

Description

Αυτό είναι το σημείο καταχώρησης για ένα πρόγραμμα CGI που επιστρέφει μία λίστα των διαθέσιμων όνομα/τιμή ζευγαριών σε ένα HTML έγγραφο, με το κάθε όνομα/τιμή ζευγάρι να απεικονίζεται σε ένα στοιχείο λίστας ορισμών.

Παράμετρος

argv[]

Επιχειρήματα περασμένα στο πρόγραμμα από το java.cgi σενάριο. Προς το παρόν δε χρησιμοποιούνται.

5.7 Text

Σύνταξη κλάσης

public abstract class Text

Περιγραφή κλάσης

Η κλάση είναι η υπερκλάση των Email και HTML κλάσεων. Μηνύματα χτίζονται με τις μεθόδους σε αυτήν την κλάση και συμπληρώνεται και διαμορφώνεται με τις μεθόδους σε υποκλάσεις.

Αυτή η κλάση είναι στο πακέτο ``Orbits.text''.

Περίληψη μελών

Text() // Κατασκευαστής.

add() // Προσθέτει κείμενο σε αυτό το αντικείμενο.

addLineBreak() // Προσθέτει μια διακοπή γραμμής.

addParagraph() // Προσθέτει μία διακοπή παραγράφου.

Δείτε επίσης

Email, HTML.

add()

Purpose

Προσθέτει κείμενο σε αυτό το αντικείμενο.

Syntax

public void add ( char addition )

public void add ( String addition )

public void add ( StringBuffer addition )

Description

Προσθέτει addition στα περιεχόμενα αυτού του αντικειμένου κειμένου.

Parameter

addition

Κείμενο που πρέπει να προστεθεί στο αντικείμενο κειμένου

See Also

addLineBreak(), addParagraph().

addLineBreak()

Purpose

Αναγκάζει μία διακοπή γραμμής σε αυτό το σημείο στο κείμενο.

Syntax

public void addLineBreak ()

Description

Προσθέτει μία διακοπή γραμμής στο κείμενο στο τρέχον σημείο.

See Also

add(), addParagraph().

addParagraph()

Purpose

Αρχίζει μία νέα παράγραφο.

Syntax

public void add ()

Description

Αρχίζει μία νέα παράγραφο σε αυτό το σημείο στη ροή κειμένου.

See Also

add(), addLineBreak().


Next Previous Contents