spark技术分析—sparkUI

1. SparkUIJetty服务开发(基本接口)

public class ServletContextServer {  
  public static void main(String[] args) throws Exception {      
        //创建服务
        Server server = new Server(8080); 
        //构建ContextHandle         
        ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);        
        context.setContextPath(“/”);       
        context.addServlet(new ServletHolder(new HelloServlet()), “/hello”);
        //与服务绑定context对象       
         server.setHandler(context);
        //启动服务        
        server.start();    
        }
}

2. 程序封装结构

3.  WebUIPage 继承结构

4. 启动WebUI: jettyServer

serverInfo = Some(startJettyServer("0.0.0.0", port, handlers, conf, name))

5. 增加Tab,生成Tab下Page对应Servlet的ContextHandle

def attachTab(tab: WebUITab) {  tab.pages.foreach(attachPage)  tabs += tab}

6. 转化WebUIPage为Servlet,并添加到ServletContextHandler中

def attachPage(page: WebUIPage) { 
 val pagePath = "/" + page.prefix  
 val renderHandler = createServletHandler(pagePath,    (request: HttpServletRequest) => page.render(request), securityManager, basePath)  
 val renderJsonHandler = createServletHandler(pagePath.stripSuffix("/") + "/json",    (request: HttpServletRequest) => page.renderJson(request), securityManager, basePath)
 attachHandler(renderHandler) 
 attachHandler(renderJsonHandler) 
 pageToHandlers.getOrElseUpdate(page, ArrayBuffer[ServletContextHandler]())    .append(renderHandler)
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值