Υπάρχουν δύο κύρια προβλήματα στο τρέξιμο ενός προγράμματος Java από έναν διακομιστή ιστού:
Χρειάζεται να τρέξετε τον διερμηνέα Java run-time και να παρέχετε την αρχική κλάση (πρόγραμμα για να τρέξετε) στη γραμμή εντολών. Με μία φόρμα HTML, δεν υπάρχει καμία φροντίδα για να στέλνετε μία γραμμή εντολών στον διακομιστή ιστού.
Κάθε μεταβλητή περιβάλλοντος που θα χρειαστεί από το πρόγραμμα Java
πρέπει να περαστεί με σαφήνεια.
Δεν υπάρχει καμία μέθοδος παρόμοια με τη λειτουργία της C, getenv()
.
Για να αντιμετωπίσετε αυτά τα εμπόδια, έγραψα ένα CGI πρόγραμμα κελύφους που παρέχει τις πληροφορίες που χρειάζονται από τον Java διερμηνέα.
Αυτό το σενάριο κελύφους διαχειρίζεται την αλληλεπίδραση μεταξύ του HTTP δαίμονα και του προγράμματος Java CGI που επιθυμείτε να χρησιμοποιήσετε. Εξάγει το όνομα του προγράμματος που θέλετε να τρέξετε από τα δεδομένα που παρέχονται από το διακομιστή. Συλλέγει όλα τα δεδομένα περιβάλλοντος σε ένα προσωρινό αρχείο. Ύστερα, τρέχει τον Java run-time διερμηνέα με το όνομα του αρχείου από τις πληροφορίες περιβάλλοντος και το όνομα του προγράμματος που προστέθηκε στη γραμμή-εντολών.
Το java.cgi
script διαμορφώθηκε και εγκαταστάθηκε στο
Αποφασίστε για τις πολιτικές τοπικών διαδρομών σας.
Οι φόρμες μου που χρησιμοποιούν προγράμματα 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 για να τρέξετε.