我有一个应用程序,目前只能作为Gui应用程序或命令行运行。我想添加支持以便它运行服务器,并且可以通过Web浏览器通过不同的计算机进行控制。
因此它将在端口上连续运行,我希望用户在浏览器中连接到该端口并查看摘要页面,然后能够通过http get请求发起请求。
需要使用OpenJdk而不仅仅是Oracle Java,所以我想停止使用com.sun.httpserver。
这是对现有产品的改进,它无法重新设计为在Servlet引擎(如Jetty或Tomcat)中作为servlet运行,实际上大多数用户将继续在Gui或cmd行模式下使用它。
我不想重新发明轮子,所以我不想尝试从头开始添加这个基本的http支持。
我正在使用Java 8
有些人可以建议一种方法。
答案 0 :(得分: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应用程序。