通过WebSocketServlet配置的基于HTTPS的Jetty WebSockets

时间:2016-09-21 14:32:22

标签: java servlets websocket jetty embedded-jetty

我已经看到很多关于如何为HTTPS SSL for Jetty配置Jetty的示例,但它们似乎都使用了一个包含main方法的单独Server类来执行。我想将我的WebServlet作为通过web.xml文件配置的标准servlet来执行。我目前有:

@WebServlet
public class MonitoringServlet extends WebSocketServlet {

    @Override
    public void configure(WebSocketServletFactory factory) {
        factory.register(MonitoringSocket.class);
    }
}

我在哪里放置我的SSL Servlet配置代码?在这个Servlet的configure方法中?在init方法?

我确实理解在这种情况下,不需要实例化Server对象并使用.start().join

1 个答案:

答案 0 :(得分:1)

Servlet只是一种产生对请求的响应的方法。

通常,请求可以来自HTTP / 0.9,HTTP / 1.0,HTTP / 1.1或HTTP / 2.

使用SSL / TLS作为协议的安全部分。

从技术上讲,Servlet甚至不需要HTTP来运行。

用于提交请求的协议超出了您正在实施的Servlet的控制范围,以提供响应。

在Jetty,你会想要:

  • 服务器实例
  • 至少1个为SSL / TLS配置的连接器
  • 至少1个分配给服务器的处理程序
    • 使用servlet 而不“Web应用程序”的所有行李(“Web应用程序”通常包含WEB-INF/web.xmlWEB-INF/classesWEB-INF/lib/*.jar )这将是ServletContextHandler
    • 将servlet与“Web应用程序”一起使用,这将是WebAppContext

此设置可以来自${jetty.base}中的已配置jetty-distribution或通过使用Java来构建服务器,其连接器及其处理程序。