首页 > 解决方案 > 向嵌入式 Jetty 添加多个端点

问题描述

如何在码头服务器中添加多个 EndPoint Jax-rs。

我正在尝试使用码头创建服务。

我的第一个问题是我一次不能向服务器添加多个端点。

当我添加两个时,第一个会覆盖第二个。

public static void main(String[] args) throws Exception {
        ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
        context.setContextPath("/");

        Server jettyServer = new Server(8080);
        jettyServer.setHandler(context);

        String[] arrayOfResources = new String[3];
        arrayOfResources[0] = EmployeeResource.class.getCanonicalName();
        arrayOfResources[1] = HelloWorld.class.getCanonicalName();
        arrayOfResources[2] = FilterRest.class.getCanonicalName();


            ServletHolder jerseyServlet = context.addServlet(org.glassfish.jersey.servlet.ServletContainer.class,"/*");
            jerseyServlet.setInitOrder(0);
            jerseyServlet.setInitParameter("com.sun.jersey.config.property.resourceConfigClass", "com.sun.jersey.api.core.PackagesResourceConfig");
            jerseyServlet.setInitParameter("com.sun.jersey.config.property.packages", "resources");
            jerseyServlet.setInitParameter("jersey.config.server.provider.classnames",
                    EmployeeResource.class.getCanonicalName());
            jerseyServlet.setInitParameter("jersey.config.server.provider.classnames",
                    HelloWorld.class.getCanonicalName());
            jerseyServlet.setInitParameter("jersey.config.server.provider.classnames",
                    FilterRest.class.getCanonicalName());

        try {
            jettyServer.start();
            jettyServer.join();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            jettyServer.destroy();
        }
    }

标签: javajax-rsjetty

解决方案


推荐阅读