java - JAX-RS-jersey-1.12 Web 服务器如何在没有指定容器的情况下作为 java 控制台应用程序运行?

标签 java web-services rest intellij-idea

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/

相关文章:

java - Servlet异常: No adapter for handler just for one service

spring - 如何使用 WebClient 使用响应式 Spring Rest API

java - 将 MySQL 服务器安装程序与 Java 项目捆绑在一起

java - 为什么当服务器程序运行时 Eclipse 抛出异常而不在 cmd.exe 中

java - 合并两个具有不同 persistence.xml 配置的项目?使用 EclipseLink 而不使用 JPA?

java - Web 服务或 HTTP 数据传输

web-services - SOAP 网络服务演变

java - OSGI - Hibernate + JBoss Seam

iphone - 如何从 iPhone 访问 SOAP 服务

zend-framework - Zend 休息 API : putAction on POST method