Running cgi-bin on Tomcat: Simple steps & gotchas Запуск подобную лоток Tomcat: простых шагов и gotchas
cgi-bin programs (common executables) can be run from Tomcat. подобную бен программ (общие программы реализуют), может запускаться с Tomcat. 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 / сервер / lib / сервлеты-cgi.renametojar (% CATALINA_HOME% \ сервер \ lib \ сервлеты-cgi.renametojar на окнах-файл), до $ CATALINA_HOME / сервер / lib / сервлеты-cgi.jar (% CATALINA_HOME% \ сервер \ lib \ сервлеты-cgi.jar на окнах)
3. Restart Tomcat Перезагрузите 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. Простой способ проверить было бы создать подобную каталог WEB-INF каталога веб-приложения.
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!” После этого на экране String "Здравствуй, мир!"
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. Это показывает все имеющиеся переменные среды для бен подобную программу.
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 Кафе оценки Blend from Starbucks. от Starbucks.
Filed under Поданного в соответствии с Headline News Headline News , How To Как , Java Software Программное обеспечение Java | |
| |
RSS 2.0 RSS 2,0 | |
Email this Article Отослать Статья
You may also like to read Вы можете также люблю читать |




April 23rd, 2004 at 1:07 pm 23 апреля 2004 года в 1:07 вечера
Don’t forget to uncomment the servlet-mapping for cgi Не забудьте раскомментировать сервлет-карт для cgi
December 11th, 2004 at 2:11 pm 11 декабря 2004 года в 2:11 вечера
I did at the bottom. Я делал на дно.
March 25th, 2005 at 1:58 pm 25 марта 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 полный путь к perl
I am not sure why I had to do this since perl should already be in the path. Я не знаю, почему я должен был это сделать, поскольку perl должна быть уже в пути. I’m running TomCat 5 on Windows XP Professional. У меня работает Tomcat, 5 на Windows XP Professional.
April 4th, 2005 at 3:14 pm 4 апреля 2005 года в 3:14 вечера
@Giles Specifying full-path looks logical to me. @ Giles Указание полный путь выглядит логично для меня. Java doesn’t invoke executables by looking at the path variable. Java не ссылаться на исполняемые файлы, посмотрев на пути переменной.
May 6th, 2005 at 1:43 am 6 мая 2005 года в 1:43 утра
Add Добавить
executable исполняемый
or (windows xp) или (окна xp)
executable исполняемый
cmd /c cmd / с
May 6th, 2005 at 1:47 am 6 мая 2005 года в 1:47 утра
add добавить
param-name=executable парам-имя исполняемого =
value= значение =
or (windows xp) или (окна xp)
param-name=executable парам-имя исполняемого =
value=cmd /c значение = cmd / с
May 6th, 2005 at 1:49 am 6 мая 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 4 октября 2005 года в 5:04 утра
December 2nd, 2005 at 4:55 am 2 декабря 2005 года в 4:55 утра
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 2 декабря 2005 года в 7:24 утра
Hi Rock, Привет Рок,
Please refer to this article - Пожалуйста, обратитесь к этой статье --
How to Send / Receive Emails (SMTP & POP) From Localhost; Simple Freeware MailServer Как отправить / получать сообщения электронной почты (SMTP и POP) с локального; Простой Freeware MailServer
It has been written to address your question. Он был написан для решения Вашего вопроса.
Best, Лучший,
Angsuman
December 15th, 2005 at 10:14 am 15 декабря 2005 года в 10:14 утра
Please, what is the URL that I shoul enter in order to get the cgi executed? Пожалуйста, что такое URL, что я shoul войти, чтобы получить cgi казнены?
Does the url below shouldn’t work? Url ли ниже, не должны работать? it isn’t. она не является.
http:localhost:8080//cgi-bin/foo.sh
thanks благодарность
Breno Leitão Breno Лейтан
December 15th, 2005 at 11:44 am 15 декабря 2005 года в 11:44 утра
Try: Попробуйте:
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 20 апреля 2006 года в 12:42 вечера
I have been trying to put perl scripts in webapps/ROOT/WEB-INF/cgi-bin: Я пытался поставить perl скриптов в webapps / ROOT / WEB-INF / подобную бен:
A) printEnv.cgi ) PrintEnv.cgi
#!/usr/bin/perl #! / usr / бен / perl
print “Content-type: text/html\n\n”; распечатать "Content-Тип: текст / html \ 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
org.apache.catalina.servlets.CGIServlet
executable исполняемый
/usr/bin/perl / usr / бен / perl
clientInputTimeout
100
debug отладки
6
cgiPathPrefix
WEB-INF/cgi-bin
5
cgi
/cgi-bin/* / подобную бен / *
D) Renamed to servlets-cgi.jar D) переименован в сервлеты-cgi.jar
E) Restarted server Е) перезагрузки сервера
But when I do: Но когда мне делать:
http://mydomain/cgi-bin/printEnv.cgi
it does not go to the URL она не выходит на URL
April 28th, 2006 at 12:24 pm 28 апреля 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 25 апреля 2007 года в 1:47 вечера
Hi, Привет,
I followed the steps but I cannot start bat file as cgi script on WinXP. Я последовали шаги, но я не могу начать битой файл как cgi скрипт на WinXP. 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: Не удается запустить программу" perl "(в каталоге" C: \ Program Files \ 5,5 Tomcat \ webapps \ тест \ WEB-INF \ 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 19 октября 2007 года в 3:37 утра
test.cgi is : test.cgi заключается в следующем:
#!\perl\bin\perl.exe#! \ perl \ бин \ perl.exeprint “Content-type: text/html\n\n”; распечатать "Content-Тип: текст / html \ 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 \ бин \ perl.exe для печати "Content-Тип: текст / html \ n \ n"; печати "\ n"; печати "\ n"; печати "IN TEST!В тест!\n”; print “\n”;\ n "; печати" \ n ";October 19th, 2007 at 3:48 am 19 октября 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 через Tomcat.