Azkaban的Web Server源码探究系列9: Servlet引擎初始化

孤人 提交于 2019-12-06 20:07:24

下面就是具体的路径映射与具体的servlet对应了。

=============================================================

Context root = new Context(server, "/", Context.SESSIONS);

root.setMaxFormContentSize(MAX_FORM_CONTENT_SIZE);

String defaultServletPath = azkabanSettings.getString("azkaban.default.servlet.path", "/index");

root.setResourceBase(staticDir);

//

//

//

ServletHolder indexRedirect = new ServletHolder(new IndexRedirectServlet(defaultServletPath));

root.addServlet(indexRedirect, "/");

ServletHolder index = new ServletHolder(new ProjectServlet());

root.addServlet(index, "/index");

ServletHolder staticServlet = new ServletHolder(new DefaultServlet());

root.addServlet(staticServlet, "/css/*");

root.addServlet(staticServlet, "/js/*");

root.addServlet(staticServlet, "/images/*");

root.addServlet(staticServlet, "/fonts/*");

root.addServlet(staticServlet, "/favicon.ico");

root.addServlet(new ServletHolder(new ProjectManagerServlet()), "/manager");

root.addServlet(new ServletHolder(new ExecutorServlet()), "/executor");

root.addServlet(new ServletHolder(new HistoryServlet()), "/history");

root.addServlet(new ServletHolder(new ScheduleServlet()), "/schedule");

root.addServlet(new ServletHolder(new JMXHttpServlet()), "/jmx");

root.addServlet(new ServletHolder(new TriggerManagerServlet()), "/triggers");

root.addServlet(new ServletHolder(new StatsServlet()), "/stats");

ServletHolder restliHolder = new ServletHolder(new RestliServlet());

restliHolder.setInitParameter("resourcePackages", "azkaban.restli");

root.addServlet(restliHolder, "/restli/*");

纯代码流,里面的具体细节后面再说,mark之。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!