Τρέχοντας CGI-δοχείο σε Tomcat: Απλά βήματα & gotchas
τα προγράμματα CGI-δοχείων (κοινά executables) μπορούν να οργανωθούν από Tomcat. Εντούτοις δεν επιτρέπεται εξ ορισμού.
Για να επιτρέψει ακολουθεί προσεκτικά τα βήματα κατωτέρω:
1. Uncomment (ή προσθέστε) τα εξής τμήματα σε CATALINA_HOME/conf/web.xml (%CATALINA_HOME% \ conf \ web.xml στα παράθυρα), μεταξύ
2. Μετονομάστε το (κίνημα απελευθέρωσης \ servlets-cgi.renametojar κεντρικών υπολογιστών \ \ %CATALINA_HOME% στα παράθυρα) αρχείο CATALINA_HOME/server/lib/servlets-cgi.renametojar σε CATALINA_HOME/server/lib/servlets-cgi.jar (κίνημα απελευθέρωσης \ servlets-cgi.jar κεντρικών υπολογιστών \ \ %CATALINA_HOME% στα παράθυρα)
3. Ξαναξεκινήστε Tomcat
Δοκιμή με Hello.bat
Ένας απλός τρόπος να εξετάσει θα ήταν να δημιουργηθεί ένας κατάλογος της CGI κάτω από τον κατάλογο Ιστός-INF της αίτησης Ιστού σας.
Αφήνει να προσθέσει ένα απλό αρχείο αποκαλούμενο hello.bat (για τους χρήστες παραθύρων).
Το αρχείο περιέχει ακριβώς τη γραμμή:
κόσμος ηχούς γειά σου!
Αυτό επιδεικνύει τον κόσμο σειράς «γειά σου!»
Δημιουργήστε ένα αρχείο αποκαλούμενο env.bat
Το αρχείο περιέχει ακριβώς τη γραμμή:
σύνολο
Αυτό επιδεικνύει όλες τις διαθέσιμες μεταβλητές περιβάλλοντος για το πρόγραμμα CGI-δοχείων.
Gotchas στα παράθυρα
- - - - - -
Κανονικά χρησιμοποιούμε @echo μακριά σε ένα αρχείο δεσμης για να κλείσουμε την επίδειξη της εντολής. Εντούτοις όταν κάνουμε τον ακόλουθο, καμία παραγωγή δεν επιδεικνύεται:
@echo μακριά
κόσμος ηχούς γειά σου!
Χρειάζεται ακριβώς μια αλλαγή γραμμής για να είναι ευτυχές. Έτσι δημιουργήστε ένα αρχείο (πέστε το empty.txt) που περιέχει ακριβώς μια αλλαγή γραμμής. Κατόπιν αλλάξτε hello.bat στα εξής:
@echo μακριά
τύπος empty.txt
κόσμος ηχούς γειά σου!
ηχώ επάνω
Αυτή η εργασία όπως θα έπρεπε.
Σημείωση: Θα επιθυμούσατε να παρουσιάσετε ένα σημείο της εκτίμησης για τη σκληρή δουλειά μου; Απολαμβάνω ένα φλυτζάνι του μίγματος Estima καφέδων από τη Starbucks.
_ Filed κατώτερος τίτλος είδηση, πώς, Ιάβα λογισμικό |
|
RSS 2.0 |
Ηλεκτρονικό ταχυδρομείο αυτό το άρθρο
Μπορείτε επίσης να επιθυμήσετε να διαβάσετε |


Προσθέστε στις συμπάθειες Technorati


































23η Απριλίου 2004 στις 1:07 μ.μ.
Μην ξεχάστε στο uncomment τη servlet-χαρτογράφηση για τη CGI
11η Δεκεμβρίου 2004 στις 2:11 μ.μ.
Έκανα στο κατώτατο σημείο.
25η Μαρτίου 2005 στις 1:58 μ.μ.
Έπρεπε να διευκρινίσω έναν εκτελέσιμο ίσο init param στην πλήρη πορεία του perl προκειμένου να αποκτηθεί αυτό για να λειτουργήσω.
εκτελέσιμος
πλήρης πορεία του perl
Δεν είμαι βέβαιος γιατί έπρεπε να κάνω αυτό δεδομένου ότι perl πρέπει ήδη να είναι στην πορεία. Τρέχω TomCat 5 στον επαγγελματία παραθύρων XP.
4η Απριλίου 2005 στις 3:14 μ.μ.
@Giles η διευκρίνιση της πλήρης-πορείας φαίνεται λογική σε με. Η Ιάβα δεν επικαλείται executables με την εξέταση τη μεταβλητή πορειών.
6η Μαΐου 2005 στις 1:43 AM
Προσθέστε
εκτελέσιμος
ή (παράθυρα xp)
εκτελέσιμος
cmd /c
6η Μαΐου 2005 στις 1:47 AM
προσθέστε
param-name=executable
value=
ή (παράθυρα xp)
param-name=executable
value=cmd /c
6η Μαΐου 2005 στις 1:49 AM
Άμεσα προσθέστε executables συμπεριλαμβανομένων των αρχείων δεσμης.
Εντούτοις εάν η ανάγκη σας που εκτελεί cmd διατάξει όπως το dir έπειτα θα πρέπει να χρησιμοποιήσετε cmd την οδηγία του /c.
4η Οκτωβρίου 2005 στις 5:04 AM
2η Δεκεμβρίου 2005 στις 4:55 AM
γεια all.can οποιος δήποτε με βοηθούν για να στείλουν και να λάβουν το ταχυδρομείο από localhost.im μου χρησιμοποιώντας tomcat5 δεδομένου ότι localserver.plz μου με βοηθούν. .thanks σε όλα
2η Δεκεμβρίου 2005 στις 7:24 AM
Γεια βράχος,
Παρακαλώ αναφερθείτε σε αυτό το άρθρο -
Πώς να στείλει/λάβετε τα ηλεκτρονικά ταχυδρομεία (SMTP & ΣΚΆΕΙ) Από Localhost Απλό δωρεάν λογισμικό MailServer
Έχει γραφτεί για να εξετάσει την ερώτησή σας.
Καλύτερος,
Angsuman
15η Δεκεμβρίου 2005 στις 10:14 AM
Παρακαλώ, ποιο είναι το URL που το Ι shoul εισάγει προκειμένου να αποκτηθεί η CGI εκτελεσμένη;
Το url κατωτέρω δεν θα έπρεπε να εργαστεί; δεν είναι.
http:localhost:8080//cgi-bin/foo.sh
ευχαριστίες
Breno Leitão
15η Δεκεμβρίου 2005 στις 11:44 AM
Προσπαθήστε:
κατάλογος ] εφαρμογής Ιστού του http://localhost:8080/Your /cgi-bin/foo.sh
Παρακαλώ στενά ακολουθήστε τις οδηγίες ανωτέρω.
20η Απριλίου 2006 στις 12:42 μ.μ.
Έχω προσπαθήσει να βάλω perl τα χειρόγραφα στο webapps/ROOT/WEB-INF/cgi-δοχείο:
Α) printEnv.cgi
#! /usr/bin/perl
ικανοποιημένος-τύπος τυπωμένων υλών «: κείμενο/HTML \ ν \ ν»
τυπωμένη ύλη «\ ν»
foreach $key (κλειδιά είδους (%ENV)) {
τυπωμένη ύλη «$key = $ENV {$key}»
}
Β) αλλαγές σε web.xml
CGI
org.apache.catalina.servlets.CGIServlet
εκτελέσιμος
/usr/bin/perl
clientInputTimeout
100
διορθώστε
6
cgiPathPrefix
Ιστός-INF/cgi-δοχείο
5
CGI
/cgi-bin/ *
Δ) μετονομασμένος σε servlets-cgi.jar
Ε) καινούριος κεντρικός υπολογιστής
Αλλά όταν:
http://mydomain/cgi-bin/printEnv.cgi
δεν πηγαίνει στο URL
28η Απριλίου 2006 στις 12:24 μ.μ.
Τα βήματα έχουν λειτουργήσει τέλεια για πολλά συμπεριλαμβανομένου μου.
Δυστυχώς δεν έχω το χρόνο αυτήν τη στιγμή να υποστηρίξω το συγκεκριμένο ζήτημά σας.
25η Απριλίου 2007 στις 1:47 μ.μ.
Γεια,
Ακολούθησα τα βήματα αλλά δεν μπορώ να αρχίσω το αρχείο ροπάλων ως χειρόγραφο της CGI σε WinXP. Το λάθος είναι: «εξαίρεση του java.io.IO: Μην μπορέστε να τρέξετε το πρόγραμμα «perl» (στον κατάλογο «C:\Program Files\Tomcat 5.5 \ webapps \ CGI Ιστός-INF \ δοκιμής \»)
Προσπάθησα να προσθέσω
param-name=executable
value=cmd /c
ή param-name=executable
value=cmd
αλλά χωρίς επιτυχία. Οποιεσδήποτε ιδέες;
19η Οκτωβρίου 2007 στις 3:37 AM
test.cgi είναι:
#! \ perl \ δοχείο \ perl.exeικανοποιημένος-τύπος τυπωμένων υλών «: κείμενο/HTML \ ν \ ν»
τυπωμένη ύλη «στη ΔΟΚΙΜΗ! \ ν»
τυπωμένη ύλη «\ ν»
τυπωμένη ύλη «στη ΔΟΚΙΜΗ! \ ν»
τυπωμένη ύλη «\ ν»
Η θέση καταστημάτων test.cgi είναι: webapps/δοκιμή
Παραγωγή στο http://localhost:8080/test/test.cgi
#! \ perl \ ικανοποιημένος-τύπος τυπωμένων υλών perl.exe δοχείων \ «: κείμενο/HTML \ ν \ ν» τυπωμένη ύλη» \ ν " τυπωμένη ύλη «\ ν» τυπωμένη ύλη»ΣΤΗ ΔΟΚΙΜΗ!\ ν " τυπωμένη ύλη «\ ν»19η Οκτωβρίου 2007 στις 3:48 AM
Παρακαλώ με βοηθήστε για να καθορίσετε την εργασία της CGI που ανέφερα ανωτέρω. Δεν είμαι ικανός να εκτελέσω τη CGI ANG μέσω TOMCAT.