2017-09-02 40 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 –

相关问题