Next Previous Contents

4. Εκτελώντας ένα πρόγραμμα Java CGI

4.1 Εμπόδια στο τρέξιμο προγραμμάτων Java κάτω από το μοντέλο CGI

Υπάρχουν δύο κύρια προβλήματα στο τρέξιμο ενός προγράμματος Java από έναν διακομιστή ιστού:

Δεν μπορείτε να τρέξετε προγράμματα Java όπως τα κανονικά εκτελέσιμα.

Χρειάζεται να τρέξετε τον διερμηνέα Java run-time και να παρέχετε την αρχική κλάση (πρόγραμμα για να τρέξετε) στη γραμμή εντολών. Με μία φόρμα HTML, δεν υπάρχει καμία φροντίδα για να στέλνετε μία γραμμή εντολών στον διακομιστή ιστού.

Η Java δεν έχει γενική πρόσβαση στο περιβάλλον.

Κάθε μεταβλητή περιβάλλοντος που θα χρειαστεί από το πρόγραμμα Java πρέπει να περαστεί με σαφήνεια. Δεν υπάρχει καμία μέθοδος παρόμοια με τη λειτουργία της C, getenv() .

4.2 Ξεπερνώντας προβλήματα στο τρέξιμο προγραμμάτων Java CGI

Για να αντιμετωπίσετε αυτά τα εμπόδια, έγραψα ένα CGI πρόγραμμα κελύφους που παρέχει τις πληροφορίες που χρειάζονται από τον Java διερμηνέα.

Το java.cgi script

Αυτό το σενάριο κελύφους διαχειρίζεται την αλληλεπίδραση μεταξύ του HTTP δαίμονα και του προγράμματος Java CGI που επιθυμείτε να χρησιμοποιήσετε. Εξάγει το όνομα του προγράμματος που θέλετε να τρέξετε από τα δεδομένα που παρέχονται από το διακομιστή. Συλλέγει όλα τα δεδομένα περιβάλλοντος σε ένα προσωρινό αρχείο. Ύστερα, τρέχει τον Java run-time διερμηνέα με το όνομα του αρχείου από τις πληροφορίες περιβάλλοντος και το όνομα του προγράμματος που προστέθηκε στη γραμμή-εντολών.

Το java.cgi script διαμορφώθηκε και εγκαταστάθηκε στο Αποφασίστε για τις πολιτικές τοπικών διαδρομών σας.

Καλώντας το java.cgi από μία φόρμα HTML

Οι φόρμες μου που χρησιμοποιούν προγράμματα Java CGI καθορίζουν μία ενέργεια φόρμας όπως ακολούθως:

<form action="/cgi-bin/java.cgi/CGI_Test" method="POST">
Όπου /cgi-bin/ είναι ο τοπικός σας CGI binary κατάλογος, java.cgi είναι το Java front-end που μας επιτρέπει να τρέχουμε προγράμματα Java στον ιστό και το CGI_Test είναι ένα παράδειγμα ονόματος προγράμματος Java για να τρέξετε.


Next Previous Contents