Running cgi-bin on Tomcat: Simple steps & gotchas تشغيل CGI - قط بن علي : خطوات بسيطة & gotchas
cgi-bin programs (common executables) can be run from Tomcat. - برامج CGI بن (برامج مشتركة) يمكن ان تدار من قط. It is however not enabled by default. غير انه لا يتمكن من افتراضيا.
To enable it carefully follow the steps below: بعناية لتمكينها من اتباع الخطوات الواردة ادناه :
1. Uncomment (or add) the following sections to $CATALINA_HOME/conf/web.xml (%CATALINA_HOME%\conf\web.xml on windows), between the غير تعليق (أو يضاف) على الاقسام التالية دولار catalina_home / م / web.xml (catalina_home ٪ ٪ \ م \ web.xml على ويندوز) ، وبين
2. Rename the $CATALINA_HOME/server/lib/servlets-cgi.renametojar (%CATALINA_HOME%\server\lib\servlets-cgi.renametojar on windows) file to $CATALINA_HOME/server/lib/servlets-cgi.jar (%CATALINA_HOME%\server\lib\servlets-cgi.jar on windows) اعادة تسمية دولار catalina_home / الخادم / ليب / Servlets - cgi.renametojar (catalina_home ٪ ٪ \ الخادم \ مكتبه \ Servlets - cgi.renametojar على ويندوز) الى ملف دولار catalina_home / الخادم / ليب / Servlets - cgi.jar (catalina_home ٪ ٪ \ خادم \ مكتبه \ Servlets - cgi.jar على ويندوز)
3. Restart Tomcat اعادة قط
Testing with Hello.bat اختبار مع hello.bat
A simple way to test would be to create a cgi directory under WEB-INF directory of your Web application. طريقة بسيطة لاختبار وسيكون لانشاء CGI دليل على شبكة الانترنت في اطار الوقود النووي المشع دليل تطبيق الويب الخاص بك.
Lets add a simple file called hello.bat (for windows users). يتيح اضافة ملف بسيط دعا hello.bat (لمستخدمي ويندوز).
The file contains just the line: الملف يحتوي فقط الخط :
echo Hello World! صدى مرحبا العالم!
This displays the String “Hello World!” عرض هذا الخيط "مرحبا العالم"!
Create a file called env.bat انشاء ملف دعا env.bat
The file contains just the line: الملف يحتوي فقط الخط :
set يعين
This displays all the available environment variables for the cgi-bin program. عرض هذا كل ما لديها من متغيرات البيئة لبرنامج CGI - بن.
Gotchas on windows Gotchas على النوافذ
—————— ------
Normally we use @echo off in a batch file to turn off displaying the command. ونحن عادة استخدام @ صدى من الملف في دفعه الى ايقاف عرض القيادة. However when we do the following, no output is displayed: ولكن عندما نفعل التالية ، لا يتم عرض الانتاج :
@echo off @ من صدى
echo Hello World! صدى مرحبا العالم!
It just needs a newline to be happy. انه فقط بحاجة الى سطر جديد لنفرح. So create a file (say empty.txt) which just contains a newline. حتى انشاء ملف (أقول empty.txt) الذي يحتوي على سطر جديد عادل. Then change hello.bat to the following: ثم تغير hello.bat الى ما يلي :
@echo off @ من صدى
type empty.txt نوع empty.txt
echo Hello World! صدى مرحبا العالم!
echo on على صدى
This works as intended. ويعمل هذا على النحو المنشود.
Note: Would you like to show a ملاحظه : هل تريد ان تظهر token of appreciation عربون تقدير for my hard work? العمل الشاق لبلدي؟ I enjoy a cup of ويتمتع الاول من كأس Cafe Estima Blend مقهى خليط estima from Starbucks. من ستاربكس.
Filed under المقدم بمقتضى Headline News أهم الانباء , ، How To كيف , ، Java Software برنامج جافا | |
| |
RSS 2.0 ار اس اس 2،0 | |
Email this Article ارسل هذه المادة
You may also like to read ويمكنك ايضا ان تقرأ |





April 23rd, 2004 at 1:07 pm نيسان / ابريل 23rd ، 2004 في الساعة 1:07
Don’t forget to uncomment the servlet-mapping for cgi لا تنسى ان غير تعليق فإن Servlet - رسم خرائط لCGI
December 11th, 2004 at 2:11 pm الحاديه عشرة كانون الاول / ديسمبر ، 2004 في الساعة 2:11
I did at the bottom. فعلت في الاسفل.
March 25th, 2005 at 1:58 pm مارس 25th ، 2005 في الساعة 1:58
I had to specify an executable init param equal to the full path of perl in order to get this to work. كان علي ان تحدد المعلمه اختصار ل الحرف الأول قابل للتنفيذ على قدم المساواة الكاملة على مسار بيرل من اجل الحصول على هذا العمل.
executable قابل للتنفيذ
full path of perl المسار الكامل للبيرل
I am not sure why I had to do this since perl should already be in the path. ولست متأكدا لماذا كان علي ان تفعل ذلك منذ بيرل يجب ان يكون في الطريق. I’m running TomCat 5 on Windows XP Professional. انا 5 قط على تشغيل ويندوز اكس بي المهنيه.
April 4th, 2005 at 3:14 pm الرابع من نيسان / ابريل ، 2005 في الساعة 3:14
@Giles Specifying full-path looks logical to me. @ جيلز تحديد المسار الكامل تبدو لي منطقيه. Java doesn’t invoke executables by looking at the path variable. جافا لا يحتج برامج من خلال النظر الى الطريق متغير.
May 6th, 2005 at 1:43 am السادس من ايار / مايو ، 2005 في الساعة 1:43
Add إضافة
executable قابل للتنفيذ
or (windows xp) او (ويندوز اكس بي)
executable قابل للتنفيذ
cmd /c CMD / ج
May 6th, 2005 at 1:47 am السادس من ايار / مايو ، 2005 في الساعة 1:47
add اضافة
param-name=executable - اسم المعلمه = قابل للتنفيذ
value= القيمه =
or (windows xp) او (ويندوز اكس بي)
param-name=executable - اسم المعلمه = قابل للتنفيذ
value=cmd /c CMD = القيمه / ج
May 6th, 2005 at 1:49 am السادس من ايار / مايو ، 2005 في الساعة 1:49
Directly add executables including batch files. اضافة مباشرة للتنفيذ بما فيها ملفات دفعة.
However if your want to execute cmd commands like dir then you will have to use cmd /c dir. ولكن اذا كنت تريد لتنفيذ الاوامر مثل دير CMD ثم ستضطر لاستخدام CMD / دير ج.
October 4th, 2005 at 5:04 am الرابع من تشرين الاول / اكتوبر 2005 فى الساعة 5:04
December 2nd, 2005 at 4:55 am كانون الاول / ديسمبر 2nd ، 2005 في الساعة 55/16
hi all.can anybody help me to send and receive mail from my localhost.im using tomcat5 as my localserver.plz help me out..thanks to all مرحبا all.can اي شخص مساعدتي لإرسال واستقبال البريد الالكتروني من بلدي localhost.im باستخدام tomcat5 لي localserver.plz مساعدتي.. شكرا لجميع
December 2nd, 2005 at 7:24 am كانون الاول / ديسمبر 2nd ، 2005 في الساعة 7:24
Hi Rock, مرحبا الصخرة ،
Please refer to this article - يرجى الرجوع الى هذه المادة --
How to Send / Receive Emails (SMTP & POP) From Localhost; Simple Freeware MailServer كيفية إرسال / استقبال رسائل البريد الإلكتروني (بروتوكول نقل البريد الالكتروني بوب &) من localhost ؛ بسيطة مجانيه mailserver
It has been written to address your question. وقد كتبت الى معالجة سؤالك.
Best, أحسن ،
Angsuman انغسومان
December 15th, 2005 at 10:14 am كانون الاول / ديسمبر 15th ، 2005 في الساعة 10:14
Please, what is the URL that I shoul enter in order to get the cgi executed? الرجاء ، ما هو موقع shoul لي ان ادخل من اجل الحصول على اعدام CGI؟
Does the url below shouldn’t work? هل عنوان الموقع ادناه لا ينبغي ان يعمل؟ it isn’t. انها ليست كذلك.
http:localhost:8080//cgi-bin/foo.sh
thanks شكرا
Breno Leitão Breno يتاو
December 15th, 2005 at 11:44 am كانون الاول / ديسمبر 15th ، 2005 في الساعة 11:44
Try: جرب :
http://localhost:8080/Your http://localhost:8080/your web application directory]/cgi-bin/foo.sh تطبيق دليل الويب] / cgi-bin/foo.sh
Please closely follow the instructions above. الرجاء اتباع التعليمات عن كثب اعلاه.
April 20th, 2006 at 12:42 pm نيسان / ابريل 20th ، 2006 في الساعة 12:42
I have been trying to put perl scripts in webapps/ROOT/WEB-INF/cgi-bin: وقد حاولت في وضع مخطوطات برل webapps / الجذر / الوقود النووي المشع على شبكة الانترنت / CGI - بن ل:
A) printEnv.cgi أ) printenv.cgi
#!/usr/bin/perl #! / usr / بن / بيرل
print “Content-type: text/html\n\n”; أطبع "المحتوى النوع : نص / لغة تأشير النص الفائق \ n \ n" ؛
print “\n”; أطبع "\ n" ؛
foreach $key (sort keys(%ENV)) { foreach دولار مفتاح (النوع المفاتيح (٪ ENV)) (
print “$key = $ENV{$key}”; أطبع "$ ENV الرئيسية دولار = ($ الرئيسية)" ؛
} )
B) Changes to web.xml ب) التغييرات web.xml
cgi CGI
org.apache.catalina.servlets.CGIServlet org.apache.catalina.servlets.cgiservlet
executable قابل للتنفيذ
/usr/bin/perl / usr / بن / بيرل
clientInputTimeout clientinputtimeout
100
debug نقح
6
cgiPathPrefix cgipathprefix
WEB-INF/cgi-bin Web-inf/cgi-bin
5
cgi CGI
/cgi-bin/* / - CGI بن / *
D) Renamed to servlets-cgi.jar د) تسمية Servlets - cgi.jar
E) Restarted server ه) اعادة الخادم
But when I do: ولكن عندما افعل :
http://mydomain/cgi-bin/printEnv.cgi http://mydomain/cgi-bin/printenv.cgi
it does not go to the URL لا اذهب الى عنوان الموقع
April 28th, 2006 at 12:24 pm نيسان / ابريل 28th ، 2006 في الساعة 12:24
The steps have worked perfectly for many including myself. وقد عملت الخطوات تماما بالنسبة لكثير من وأنا منهم.
Unfortunately I don’t have time at this moment to support your specific issue. وللاسف ليس لدي الوقت في هذه اللحظة الخاصة بك لدعم قضية محددة.
April 25th, 2007 at 1:47 pm نيسان / ابريل 25th ، 2007 في الساعة 1:47
Hi, اهلا ،
I followed the steps but I cannot start bat file as cgi script on WinXP. أتبعت الخطوات ولكني لا يمكن أن تبدأ الخفافيش الملف النصي على winxp CGI. The error is: “java.io.IOException: Cannot run program “perl” (in directory “C:\Program Files\Tomcat 5.5\webapps\test\WEB-INF\cgi”) الخطأ هو : "java.io.ioexception : لا يمكن تشغيل البرنامج" بيرل "(في دليل" ج : \ ملفات البرنامج \ قط 5،5 \ webapps \ للتجارب \ الوقود النووي المشع على شبكة الانترنت \ CGI ")
I tried to add حاولت ان اضيف
param-name=executable - اسم المعلمه = قابل للتنفيذ
value=cmd /c CMD = القيمه / ج
or param-name=executable - اسم المعلمه أو قابل للتنفيذ =
value=cmd قيمة CMD =
but without success. ولكن بدون جدوى. Any ideas? أي افكار؟
October 19th, 2007 at 3:37 am تشرين الاول / اكتوبر 19th ، 2007 في الساعة 3:37
test.cgi is : test.cgi هو :
#!\perl\bin\perl.exe#! \ بيرل \ بن \ perl.exeprint “Content-type: text/html\n\n”; أطبع "المحتوى النوع : نص / لغة تأشير النص الفائق \ n \ n" ؛
print “IN TEST!\n”; طباعة "في الاختبار! \ n" ؛
print “\n”; أطبع "\ n" ؛
print “IN TEST!\n”; طباعة "في الاختبار! \ n" ؛
print “\n”; أطبع "\ n" ؛
Store Location of test.cgi is : webapps/test/ موقع تخزين test.cgi هو : webapps / اختبار /
Output in في الانتاج http://localhost:8080/test/test.cgi http://localhost:8080/test/test.cgi
#!\perl\bin\perl.exe print “Content-type: text/html\n\n”; print “\n”; print “\n”; print “#! \ بيرل \ بن \ perl.exe طباعة "المحتوى النوع : نص / لغة تأشير النص الفائق \ n \ n" ؛ طباعة "\ n" ؛ طباعة "\ n" ؛ طباعة "IN TEST!في الاختبار!\n”; print “\n”;\ n "؛ طباعة" \ n "؛October 19th, 2007 at 3:48 am تشرين الاول / اكتوبر 19th ، 2007 في الساعة 3:48
Please help me to fix the working of CGI which I mentioned above. الرجاء مساعدتي في تحديد العمل من CGI التي ذكرت اعلاه. I am not able to execute ang CGI through TOMCAT. انا لست قادرة على تنفيذ CGI الواجهة من خلال قط.