Advertisement
Guest User

Untitled

a guest
Apr 28th, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.40 KB | None | 0 0
  1. package Main;
  2. import java.io.IOException;
  3.  
  4. import javax.servlet.annotation.WebServlet;
  5. import javax.servlet.http.HttpServletRequest;
  6. import javax.servlet.http.HttpServletResponse;
  7.  
  8. import org.eclipse.jetty.server.Connector;
  9. import org.eclipse.jetty.server.HttpConfiguration;
  10. import org.eclipse.jetty.server.HttpConnectionFactory;
  11. import org.eclipse.jetty.server.SecureRequestCustomizer;
  12. import org.eclipse.jetty.server.Server;
  13. import org.eclipse.jetty.server.ServerConnector;
  14. import org.eclipse.jetty.server.SslConnectionFactory;
  15. import org.eclipse.jetty.server.handler.ResourceHandler;
  16. import org.eclipse.jetty.servlet.ServletContextHandler;
  17. import org.eclipse.jetty.util.ssl.SslContextFactory;
  18. import org.eclipse.jetty.websocket.servlet.WebSocketServlet;
  19. import org.eclipse.jetty.websocket.servlet.WebSocketServletFactory;
  20. import org.slf4j.Logger;
  21. import org.slf4j.LoggerFactory;
  22.  
  23. import org.eclipse.jetty.server.Request;
  24. import org.eclipse.jetty.server.handler.AbstractHandler;
  25.  
  26. import javax.servlet.ServletException;
  27.  
  28.  
  29.  
  30. public class Main {
  31.  
  32. public static Logger logger;
  33.  
  34. public static void main(String[] args) throws Exception{
  35.  
  36. logger = LoggerFactory.getLogger("Main");
  37.  
  38. Server server = new Server();
  39.  
  40. HttpConfiguration http_config = new HttpConfiguration();
  41. http_config.setSecureScheme("https");
  42. http_config.setSecurePort(8443);
  43. http_config.setOutputBufferSize(32768);
  44.  
  45. HttpConfiguration https_config = new HttpConfiguration();
  46. https_config.addCustomizer(new SecureRequestCustomizer());
  47.  
  48. ServerConnector http = new ServerConnector(server, new HttpConnectionFactory(http_config));
  49. http.setPort(8080);
  50. http.setIdleTimeout(35000);
  51.  
  52. /*ServerConnector https = new ServerConnector(server, connectionFactory, new HttpConnectionFactory(https_config));
  53. https.setPort(8443);
  54. https.setIdleTimeout(100);*/
  55. SslContextFactory sslContextFactory = new SslContextFactory("etc/keystore");
  56. sslContextFactory.setKeyStorePassword("TippuSultan1");
  57. ServerConnector https = new ServerConnector(server, sslContextFactory);
  58. https.setPort(8443);
  59.  
  60. server.setConnectors(new Connector[]{http, https});
  61.  
  62. ServletContextHandler servletCH = new ServletContextHandler();
  63. servletCH.setContextPath("/");
  64. servletCH.addServlet(ScheduleWebSocketServlet.class, "/schedule");
  65.  
  66. server.setHandler(servletCH);
  67.  
  68. server.start();
  69. http.start();
  70. server.join();
  71.  
  72. }
  73.  
  74. public static class PingPongHandler extends AbstractHandler {
  75. public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
  76. baseRequest.setHandled(true);
  77. response.setContentType("text/html;charset=utf-8");
  78. response.setStatus(HttpServletResponse.SC_OK);
  79. response.getWriter().println("pang");
  80. }
  81. }
  82.  
  83. @WebServlet(name = "Schedule WebSocketServlet", urlPatterns = {"/schedule"})
  84. public static class ScheduleWebSocketServlet extends WebSocketServlet{
  85.  
  86. private static final long serialVersionUID = 5838283767965540728L;
  87.  
  88. public void doGet(HttpServletRequest request, HttpServletResponse response){
  89. try {
  90. System.out.println("Test!");
  91. response.getWriter().println("<body background = \"http://subtlepatterns2015.subtlepatterns.netdna-cdn.com/patterns/linedpaper.png\"><h1> Server is online! </h1><font face = \"Arial\"><center></center></font><body>");
  92. } catch (IOException e) {
  93. Main.LogError(e);
  94. }
  95. } // <h1>Welcome to Pat and Maria's House</h1><br><br><a href = \"https://www.facebook.com/profile.php?id=100008578297759&fref=ts\">Kouhai</a>, <a href = \"https://www.facebook.com/camille.twomey?fref=ts\">Camille</a>, <a href = \"https://www.facebook.com/profile.php?id=100008562851547\">Stefan</a>, and Su Ling are here too<br><br><img src = \"http://33.media.tumblr.com/c5528065ac15a14be31bb1e6aa9e1e29/tumblr_nlbcmbMqs81qbv6n1o1_400.gif\">
  96.  
  97. @Override
  98. public void configure(WebSocketServletFactory arg0) {
  99. arg0.register(ScheduleWebSocket.class);
  100. }
  101.  
  102. }
  103.  
  104. public static void LogError(Exception e){
  105.  
  106. e.printStackTrace();
  107.  
  108. String logString = e.getMessage();
  109.  
  110. StackTraceElement[] elements = e.getStackTrace();
  111.  
  112. for(int i = 0; i < elements.length; i++){
  113. logString = logString + "\n\t" + elements[i];
  114. }
  115.  
  116. logger.error(logString);
  117. }
  118.  
  119. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement