![](/img/trans.png)
[英]How can i run java applications in docker using apache or tomcat server
[英]How can I run a Java app on Apache 2.2 without Tomcat?
我正在使用Java構建一個不使用JSP或servlet的Web服務,並希望在我的Apache HTTP服務器上運行它而無需安裝和配置Tomcat。 這是否可行(輕松),我該怎么辦呢?
我一直在尋找有關這方面的信息,我唯一遇到的是mod_jk Tomcat連接器,它仍然需要安裝Tomcat。 我錯過了什么嗎?
當然有可能。 你可以用mod_cgi來做。
一個非常簡單的例子是這樣的:
public class HelloWorld
{
public static void main(String[] args)
{
System.out.println("Hello Java CGI world!");
}
}
然后是執行Java類的腳本文件(HelloWorld.shtml - 不要忘記執行權限)
#!/bin/bash
echo "Content-type: text/html"
echo ""
/usr/bin/java HelloWorld
在Apache 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調用。 但是,是的,這是可能的。
首先,Servlets是用於Web開發的Java的基礎知識。 因此,無論您正在進行哪些Web開發,例如Web服務,您都需要一個Servlet容器,如Tomcat。
因此,您的問題的答案是“您無法僅在Apache HTTP Server上運行它”,因為它不是Servlet容器。
目前還不完全清楚你想做什么,但我猜你想要運行一個可以處理HTTP請求並通過Apache公開它的獨立Java應用程序。 如果是這種情況,您可以通過使用mod_proxy配置Apache來實現。 這可能是如何做到這一點的一個很好的例子。
不,Tomcat,jetty,jboss或Glassfish幾乎是強制性的
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.