2013-06-11 2 views
13

JSP 또는 서블릿을 사용하지 않는 Java로 webservice를 구축하고 있으며 Tomcat을 설치 및 구성 할 필요없이 Apache HTTP 서버에서 실행하려고합니다. 이것이 가능합니까 (쉽게), 어떻게 할 수 있습니까?Tomcat없이 Apache 2.2에서 Java 응용 프로그램을 실행할 수 있습니까?

나는 이것에 대한 정보를 찾고 있었고, 내가 만났던 유일한 것은 Tomcat을 설치해야하는 mod_jk Tomcat 커넥터 다. 내가 놓친 게 있니?

+1

서블릿없이 Java에서 웹을 구축 할 가능성은 거의 없다는 것을 알게되었습니다. 따라서 대답은 거의 없습니다. 서블릿을 사용하지 않는 방법을 설명 할 수 있다면 대답이있을 것입니다. –

+0

아파치는 a) 정적 컨텐츠 (이미지, 사운드 등)와 b)로드 밸런싱을 제공하는 데 사용됩니다. 왜냐하면 Tomcat보다 빠르기 때문입니다. 그러나 이것은 java에서 생성 된 컨텐츠를 제공하는 Tomcat과 함께 * 수행됩니다. – SJuan76

+0

휠을 재발 명하고 Tomcat이 이미 수행하고 싶은 작업을 수행하려는 경우 가능합니다. _ 가능합니다 (쉽게) Tomcat을 설치하고 구성하는 것보다 쉽습니다. –

답변

6

우선 서블릿은 웹 개발 용 자바의 기초입니다. 따라서 웹 서비스와 같이 웹 개발이 무엇이든 관계없이 Tomcat처럼 서블릿 컨테이너가 필요합니다.

서블릿 컨테이너가 아니기 때문에 질문에 대한 대답은 "Apache HTTP Server에서만 실행할 수 있습니다"입니다.

0

는 아니, 톰캣, 부두, 제이 보스 또는 글래스 피시 당신이 원하는 무엇을 완전히 명확하지 않다

3

거의 필수입니다,하지만 난 당신이 독립 실행 형 Java 응용 프로그램을 실행하려는 생각하는거야 HTTP 요청을 처리하고이를 Apache를 통해 노출 할 수 있습니다. 그렇다면 mod_proxy를 사용하여 Apache를 구성하면됩니다. This이 어떻게 수행 될 수 있었는지에 대한 적절한 예가 될 수 있습니다.

11

물론 가능합니다. 당신은 mod_cgi를 사용하여 그것을 할 수 있습니다. 에서 자바 클래스

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

/usr/bin/java HelloWorld 

을 실행하는

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

다음 스크립트 파일 (HelloWorld.shtml는 권한 실행 잊지 -do) :

아주 간단한 예는 다음과 같이 될 것이다 아파치 conf는 스크립트 디렉토리를 다음과 같이 정의합니다 :

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 호출을 관리하는 데 템플릿 엔진과 훨씬 더 좋은 방법이 필요할 수 있으므로이 작업은 복잡해집니다. 하지만 네, 가능합니다.

+2

Perl에서 이것을 피하는 것은 서블릿 (및 서블릿 컨테이너)이 처음부터 발명되었다는 것입니다 ("처음부터", 1990 년대를 의미 함). 이것은 확장되지 않습니다. – michael

관련 문제