WebServer.java 文件源码

java
阅读 33 收藏 0 点赞 0 评论 0

项目:lightmare 作者:
@Override
   public void run() {

try {
    Server jettyServer = new Server(HTTP_SERVER_PORT);
    ContextHandlerCollection contexts = new ContextHandlerCollection();
    jettyServer.setHandler(contexts);

    ServletContextHandler ctxRest = new ServletContextHandler(contexts, "/rest",
        ServletContextHandler.SESSIONS);

    ServletContainer container = new ServletContainer();
    ServletHolder restHolder = new ServletHolder();
    Map<String, String> inits = new HashMap<String, String>();
    inits.put(APPLICATION_PARAM_NAME, RestConfig.class.getName());
    restHolder.setInitParameters(inits);
    restHolder.setInitOrder(1);
    restHolder.setServlet(container);
    ctxRest.addServlet(restHolder, "/*");

    WebServlet webServlet = DeployManager.class.getAnnotation(WebServlet.class);
    String deployManagerName = CollectionUtils.getFirst(webServlet.value());
    ServletContextHandler ctxManager = new ServletContextHandler(contexts, deployManagerName,
        ServletContextHandler.SESSIONS);

    DeployManager deploy = new DeployManager();
    ServletHolder managerHolder = new ServletHolder();

    managerHolder.setServlet(deploy);
    ctxManager.addServlet(managerHolder, "/*");

    ServletContextHandler ctxPerson = new ServletContextHandler(contexts, "/persons",
        ServletContextHandler.SESSIONS);
    ctxPerson.addEventListener(new LoaderListener());

    PersonManager manager = new PersonManager();
    ServletHolder personHolder = new ServletHolder();

    personHolder.setServlet(manager);
    ctxPerson.addServlet(personHolder, "/*");

    contexts.setHandlers(new Handler[] { ctxRest, ctxManager, ctxPerson });
    jettyServer.start();
    jettyServer.join();

} catch (Exception ex) {
    LOG.error("Error while starting jetty server", ex);
}
   }
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号