Подтвердить что ты не робот

Как запустить приложение Java на Apache 2.2 без Tomcat?

Я создаю web-сервис с Java, который не использует JSP или сервлеты, и хочу запускать его на моем HTTP-сервере Apache без установки и настройки Tomcat. Возможно ли это (легко), и как я могу это сделать?

Я искал информацию об этом, и единственное, с чем я столкнулся, это разъем Tom_at mod_jk, который по-прежнему требует установки Tomcat. Я что-то пропустил?

4b9b3361

Ответ 1

Прежде всего, Servlets - это основа Java для веб-разработки. Итак, независимо от того, что вы делаете в веб-разработке, например веб-сервисы, вам понадобится контейнер сервлетов, как Tomcat.

Итак, ответ на ваш вопрос: "Вы не можете запустить его только на HTTP-сервере Apache", потому что это не контейнер сервлетов.

Ответ 2

Конечно, это возможно. Вы можете сделать это с помощью mod_cgi.

Очень простой пример:

public class HelloWorld
{
    public static void main(String[] args)
    {
        System.out.println("Hello Java CGI world!");
    }
}

а затем файл script (HelloWorld.shtml - не забудьте разрешение на выполнение), который выполняет класс Java

#!/bin/bash
echo "Content-type: text/html"
echo ""

/usr/bin/java HelloWorld

В Apache conf просто определите каталог script, что-то вроде этого:

ScriptAlias /cgi-bin/ /Users/hectorsuarez/Proyectos/test/cgi-bin/
<Directory "/Users/hectorsuarez/Proyectos/test/cgi-bin">
    SetHandler cgi-script
    Options ExecCGI
    Order allow,deny
    Allow from all
</Directory>

Что это!. Это очень простой и тривиальный пример.

Это осложнится, потому что вам может понадобиться механизм шаблонов и гораздо лучший способ управления входящими вызовами CGI. Но да, возможно.

Ответ 3

Не совсем понятно, что вы хотите сделать, но я собираюсь предположить, что вы хотите запустить автономное Java-приложение, которое может обрабатывать HTTP-запросы и выставлять его через Apache. В этом случае вы можете сделать это, настроив Apache с помощью mod_proxy. Это может быть достойным примером того, как это можно сделать.

Ответ 4

Нет, Tomcat, jetty, jboss или Glassfish в значительной степени обязательны