0
我有一個Jetty WebServlet,可以連接用C#和android編寫的各種客戶端。目前這項工作使用簡單的HTTP,但我有興趣將其升級到HTTPS。試圖做到這一點,我創建這樣的服務器:如何正確使Jetty WebSocketServlet與HTTPS協同工作?
public static void main(String[] args){
SslContextFactory contextFactory = new SslContextFactory();
contextFactory.setKeyStorePath("keystore.jks");
contextFactory.setKeyStorePassword("********");
SslConnectionFactory connectionFactory = new SslConnectionFactory(contextFactory, org.eclipse.jetty.http.HttpVersion.HTTP_2_0.toString());
Server server = new Server(8080);
ServerConnector connector = new ServerConnector(server, connectionFactory);
connector.setPort(8443);
server.addConnector(connector);
ServletContextHandler servletCH = new ServletContextHandler();
servletCH.setContextPath("/");
servletCH.addServlet(ScheduleWebSocketServlet.class, "/schedule");
server.setHandler(servletCH);
server.start();
server.join();
}
這似乎是錯誤的。該ScheduleWebSocketServlet類如下:
@WebServlet(name = "Schedule WebSocketServlet", urlPatterns = {"/schedule"})
public static class ScheduleWebSocketServlet extends WebSocketServlet{
private static final long serialVersionUID = 5838283767965540728L;
public void doGet(HttpServletRequest request, HttpServletResponse response){
try {
response.getWriter().println("<h1>Hello World</h1>");
} catch (IOException e) {
Main.LogError(e);
}
}
@Override
public void configure(WebSocketServletFactory arg0) {
arg0.register(ScheduleWebSocket.class);
}
}
所以我的問題是什麼是使用具有HTTPS的WebServlet正確的方法是什麼?
非常感謝您的幫助
這是可能的,並在[各種](http://stackoverflow.com/a/29829926/記錄775715)stackoverflow [answers](http://stackoverflow.com/a/29280145/775715)。你看到什麼錯誤? –
我沒有看到任何錯誤。我正在嘗試使用WebSocketServlet設置HTTPS,但做得不正確。如果有人能夠提供與WebSocketServlets兼容的簡單HTTPS示例,它可以幫助我和將來可能有類似設置的其他人。 – Stromata