2017-09-02 68 views
2

我有一個應用程序,目前只能作爲Gui應用程序或命令行運行。我想添加支持,以便其運行服務器,並且可以通過網絡瀏覽器通過不同的計算機進行控制。如何將HttpServer功能添加到Java應用程序中,必須適用於Oracle和Open JDK

因此,它將在端口上連續運行,並且我希望用戶在瀏覽器中連接到該端口並查看摘要頁面,然後能夠通過http get請求發起請求。

它需要使用OpenJdk而不僅僅是Oracle Java,所以我想停止使用com.sun.httpserver。

這是對現有產品的改進,它不能被重新設計爲在Servlet引擎(如Jetty或Tomcat)中作爲servlet運行,實際上大多數用戶將繼續在Gui或cmd行模式下使用它。

我不想重新發明輪子,所以我不想嘗試從頭開始添加這個基本的http支持。

我使用Java 8

一些可以建議的方法。

回答

1

嘗試Spark Java

添加Maven POM文件dpendency:

<dependency> 
    <groupId>com.sparkjava</groupId> 
    <artifactId>spark-core</artifactId> 
    <version>2.6.0</version> 
</dependency> 

,然後你就可以啓動簡單的Web服務器。該示例僅顯示get方法URI,但所有HTTP方法都可用。

import static spark.Spark.*; 

public class HelloWorld { 
    public static void main(String[] args) { 
     get("/hello", (req, res) -> "Hello World"); 
    } 
} 

檢查它的工作:

http://localhost:4567/hello 

當然也有其他的解決方案,像NanoHttpd - 我所見過的HTTP服務器的最基本的實現。通常在android應用中使用。

+0

我會爲此推薦spark-java –

相關問題