IntelliJ 基于 JAX-RS-jersey-1.12 创建了 Web 服务项目。作为 IDE 中的控制台应用程序,它会很有趣。没有 Tomcat 或其他 servlet 容器怎么可能?这个设置使用什么样的架构?
示例代码:
import com.sun.net.httpserver.HttpServer;
import com.sun.jersey.api.container.httpserver.HttpServerFactory;
import org.codehaus.jackson.map.ObjectMapper;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.ProtocolException;
import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
import javax.ws.rs.GET;
import javax.ws.rs.Produces;
import javax.ws.rs.Path;
@Path("/service")
public class HelloWorld{
public String getClichedMessage() {
return "Hello";
}
public static void main(String[] args) throws IOException {
HttpServer server = HttpServerFactory.create("http://localhost:8080/");
server.start();
}
}
最佳答案
我认为 Jersey (2.6) 在没有 servlet 或 http 服务器的情况下无法工作。
JAR-RS 是基于 Servlet 的标准,因此 Jersey 需要在 servlet 容器中运行。它还提供对以下容器的编程部署:Grizzly 2(HTTP 和 Servlet)、JDK Http 服务器、Simple Http 服务器和 Jetty Http 服务器。
关于java - JAX-RS-jersey-1.12 Web 服务器如何在没有指定容器的情况下作为 java 控制台应用程序运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25762562/