2016-09-21 7 views
0

Я видел много примеров того, как настроить Jetty для HTTPS SSL for Jetty, но все они, похоже, используют отдельный класс сервера, содержащий метод main для выполнения. Я хочу выполнить свой WebServlet в качестве стандартного сервлета, настроенного через файл web.xml. В настоящее время у меня есть:Jetty WebSockets через HTTPS, сконфигурированный с помощью WebSocketServlet

@WebServlet 
public class MonitoringServlet extends WebSocketServlet { 

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

Где бы я разместил свой код конфигурации сервлетов SSL? В методе configure этого сервлета? В методе init?

Я понимаю, что в этом случае нет необходимости в инстанцировании Server объекта и с помощью .start() и .join

ответ

1

сервлет только средства получения ответа на запрос.

Обычно запрос может быть получен из HTTP/0.9, HTTP/1.0, HTTP/1.1 или HTTP/2.

Использование протокола SSL/TLS для защищенной части протокола.

Технически говоря, для сервлетов даже не требуется HTTP.

Протокол, используемый для отправки запроса, находится вне контроля Сервлета, который вы реализуете, для обеспечения ответа.

В Jetty, вы хотите:

  • экземпляр сервера
  • по меньшей мере, один соединитель настроен для SSL/TLS
  • по меньшей мере, один обработчик, назначенный серверу
    • Использование сервлеты без весь багаж «веб-приложения» («веб-приложение» обычно имеет, WEB-INF/classes и WEB-INF/lib/*.jar) это будет ServletContextHandler
    • Использование сервлетов с «веб-приложения» это будет WebAppContext

Эта установка может исходить от настроенного ${jetty.base} используется в jetty-distribution или через Ява в создать сервер, его соединители и его обработчики.

+0

Хорошо, я видел эту модель раньше. Я хочу использовать «WebAppContext», но я не думал, что мне нужен экземпляр сервера. Я думал, что это было для меня. Эта ссылка [API Eclipse Websocket] (http://www.eclipse.org/external/jetty/stable-9/apidocs/org/eclipse/jetty/websocket/servlet/package-summary.html) подробно описывает процесс создания , – jiveturkey