當前位置: 首頁>>代碼示例>>Java>>正文


Java ServletContextHandler.setErrorHandler方法代碼示例

本文整理匯總了Java中org.eclipse.jetty.servlet.ServletContextHandler.setErrorHandler方法的典型用法代碼示例。如果您正苦於以下問題:Java ServletContextHandler.setErrorHandler方法的具體用法?Java ServletContextHandler.setErrorHandler怎麽用?Java ServletContextHandler.setErrorHandler使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.eclipse.jetty.servlet.ServletContextHandler的用法示例。


在下文中一共展示了ServletContextHandler.setErrorHandler方法的8個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: start

import org.eclipse.jetty.servlet.ServletContextHandler; //導入方法依賴的package包/類
public void start() throws Exception {
    if (server != null) throw new IllegalStateException("started");
    Scheduler.Config config = Scheduler.$.config;

    QueuedThreadPool threadPool = new QueuedThreadPool(Runtime.getRuntime().availableProcessors() * 16);
    threadPool.setName("Jetty");

    server = new Server(threadPool);
    ServerConnector connector = new ServerConnector(server);
    connector.setPort(config.apiPort());
    connector.setIdleTimeout(60 * 1000);

    ServletContextHandler handler = new ServletContextHandler();
    handler.addServlet(new ServletHolder(new Servlet()), "/");
    handler.setErrorHandler(new ErrorHandler());

    server.setHandler(handler);
    server.addConnector(connector);
    server.start();

    logger.info("started on port " + connector.getLocalPort());
}
 
開發者ID:elodina,項目名稱:hdfs-mesos,代碼行數:23,代碼來源:HttpServer.java

示例2: buildServletContext

import org.eclipse.jetty.servlet.ServletContextHandler; //導入方法依賴的package包/類
/** Build a ServletContextHandler. */
private static ServletContextHandler buildServletContext(String contextPath) {
    if ( contextPath == null || contextPath.isEmpty() )
        contextPath = "/" ;
    else if ( !contextPath.startsWith("/") )
        contextPath = "/" + contextPath ;
    ServletContextHandler context = new ServletContextHandler() ;
    context.setDisplayName("PatchLogServer") ;
    MimeTypes mt = new MimeTypes();
    addMimeType(mt, Lang.TTL);
    addMimeType(mt, Lang.NT);
    addMimeType(mt, Lang.TRIG);
    addMimeType(mt, Lang.NQ);
    addMimeType(mt, Lang.RDFXML);
    context.setMimeTypes(mt);
    ErrorHandler eh = new HttpErrorHandler();
    context.setErrorHandler(eh) ;
    return context ;
}
 
開發者ID:afs,項目名稱:rdf-delta,代碼行數:20,代碼來源:PatchLogServer.java

示例3: generateServletContextHandler

import org.eclipse.jetty.servlet.ServletContextHandler; //導入方法依賴的package包/類
private static ServletContextHandler generateServletContextHandler(WebApplicationContext context) throws IOException {
    ServletContextHandler contextHandler = new ServletContextHandler();
    contextHandler.setErrorHandler(generateErrorHandler());
    contextHandler.setContextPath("/");
    contextHandler.addServlet(new ServletHolder(generateDispatcherServlet(context)), "/*");
    contextHandler.addEventListener(new ContextLoaderListener(context));
    return contextHandler;
}
 
開發者ID:Nike-Inc,項目名稱:backstopper,代碼行數:9,代碼來源:Main.java

示例4: JettyServer

import org.eclipse.jetty.servlet.ServletContextHandler; //導入方法依賴的package包/類
public JettyServer(List<HttpServerConnectorCreator> connectors, List<Object> resources) {
        server=new org.eclipse.jetty.server.Server();
        currentConnectors.addAll(connectors);
        for (HttpServerConnectorCreator creator : currentConnectors) {
            creator.addToServer(server);
        }

        rootServlet = new UpdateableServlet(new ServletContainer(jerseySetup(resources)));
        ServletHolder holder = new ServletHolder(rootServlet);
        ServletContextHandler contextHandler = new ServletContextHandler(ServletContextHandler.SESSIONS);
        contextHandler.addServlet( holder, "/*");
        ErrorHandler errorHandler = new ErrorHandler();
        errorHandler.setShowStacks(true);
        contextHandler.setErrorHandler(errorHandler);

        GzipHandler gzipHandler = new GzipHandler();
//            HashSet<String> mimeTypes = new HashSet<>();
//            mimeTypes.add("text/html");
//            mimeTypes.add("text/plain");
//            mimeTypes.add("text/css");
//            mimeTypes.add("application/x-javascript");
//            mimeTypes.add("application/json");
        gzipHandler.setMinGzipSize(0);

        gzipHandler.setHandler(contextHandler);

        HandlerCollection handlers = new HandlerList();
        additionalHandlers().forEach(handler -> handlers.addHandler(handler));
        handlers.addHandler(gzipHandler);
        server.setHandler(handlers);
    }
 
開發者ID:factoryfx,項目名稱:factoryfx,代碼行數:32,代碼來源:JettyServer.java

示例5: WebUIApp

import org.eclipse.jetty.servlet.ServletContextHandler; //導入方法依賴的package包/類
public WebUIApp() throws IOException {
    server = new Server();

    AnnotationConfigWebApplicationContext springContext = new AnnotationConfigWebApplicationContext();
    springContext.setClassLoader(this.getClass().getClassLoader());
    springContext.setConfigLocation("com.sst.burpextender.proxyhistory.webui.springmvc.config");

    DispatcherServlet dispatcherServlet = new DispatcherServlet(springContext);
    ServletHolder springServletHolder = new ServletHolder("mvc-dispatcher", dispatcherServlet);

    // ref: https://github.com/bkielczewski/example-spring-mvc-jetty
    // ref: https://github.com/fernandospr/spring-jetty-example
    ServletContextHandler contextHandler = new ServletContextHandler(ServletContextHandler.SESSIONS);
    contextHandler.setErrorHandler(null);
    contextHandler.setContextPath("/");
    contextHandler.addServlet(springServletHolder, "/*");
    contextHandler.addEventListener(new ContextLoaderListener(springContext));
    contextHandler.setResourceBase(new ClassPathResource("/webui", WebUIApp.class).getURI().toString());

    /* NOTE: Burp Extender において、 burp.BurpExtender については jar をロードしたclass loader內で実行される。
     * 一方、Tabなど獨自のUIを追加した場合は、UIから呼ばれるコードはBurp自身のclass loader內で実行される。
     * つまり、Webアプリのstart/stopをBurp上に追加したUIからそのまま = Swingのスレッド內から呼び出す場合、
     * その一連の過程で使われるclass loaderはburp自身のものであり、
     * 「Burp Extender の jar 內のclassを見つけることができない。」
     * # 実際に見てみると、Thread.currentThread().getContextClassLoader() が sun.misc.Launcher$AppClassLoader となる.
     * 
     * その結果として、特に何の手當もしなかった場合、以下のような様々な、予期せぬclass loading関連の例外に遭遇する。
     * - Spring で setConfigLocation() で指定したパッケージがスキャンされない。
     * - Spring で @ComponentScan(basePackages = xxx) で指定したパッケージがスキャンされない。
     * ==> 結果として Spring MVC の初期化時に "No annotated classes found for specified class/package" のログが出力される。
     * - Spring + Thymeleaf 內部でのSpring EL式の生成で class not found 例外発生
     * 
     * そこで、Jetty側のレベルでclass loaderをカスタマイズする。
     * 本クラスのインスタンスをロードした class loader であれば、Burp Extender の jar をロードしているので、それを使うようにする。
     * これにより、Spring の annotation class のスキャンや、Spring MVC 內部で発生する様々な class loading が本來の形で動作するようになる。
     */
    contextHandler.setClassLoader(this.getClass().getClassLoader());

    CharacterEncodingFilter utf8Filter = new CharacterEncodingFilter();
    utf8Filter.setEncoding("UTF-8");
    utf8Filter.setForceEncoding(true);
    FilterHolder filterHolder = new FilterHolder(utf8Filter);
    EnumSet<DispatcherType> allDispatcher = EnumSet.of(
        DispatcherType.ASYNC,
        DispatcherType.ERROR,
        DispatcherType.FORWARD,
        DispatcherType.INCLUDE,
        DispatcherType.REQUEST);
    contextHandler.addFilter(filterHolder, "/*", allDispatcher);

    server.setHandler(contextHandler);
}
 
開發者ID:SecureSkyTechnology,項目名稱:burpextender-proxyhistory-webui,代碼行數:53,代碼來源:WebUIApp.java

示例6: start

import org.eclipse.jetty.servlet.ServletContextHandler; //導入方法依賴的package包/類
/**
 * Start the web server including setup.
 * @throws Exception
 */
public void start() throws Exception {
  if (embeddedJetty == null) {
    return;
  }

  final ServerConnector serverConnector;
  if (config.getBoolean(ExecConstants.HTTP_ENABLE_SSL)) {
    serverConnector = createHttpsConnector();
  } else {
    serverConnector = createHttpConnector();
  }
  embeddedJetty.addConnector(serverConnector);

  // Add resources
  final ErrorHandler errorHandler = new ErrorHandler();
  errorHandler.setShowStacks(true);
  errorHandler.setShowMessageInTitle(true);

  final ServletContextHandler servletContextHandler =
      new ServletContextHandler(ServletContextHandler.NO_SESSIONS);
  servletContextHandler.setErrorHandler(errorHandler);
  servletContextHandler.setContextPath("/");
  embeddedJetty.setHandler(servletContextHandler);

  final ServletHolder servletHolder = new ServletHolder(new ServletContainer(new DrillRestServer(workManager)));
  servletHolder.setInitOrder(1);
  servletContextHandler.addServlet(servletHolder, "/*");

  servletContextHandler.addServlet(
      new ServletHolder(new MetricsServlet(metrics)), "/status/metrics");
  servletContextHandler.addServlet(new ServletHolder(new ThreadDumpServlet()), "/status/threads");

  final ServletHolder staticHolder = new ServletHolder("static", DefaultServlet.class);
  staticHolder.setInitParameter("resourceBase", Resource.newClassPathResource("/rest/static").toString());
  staticHolder.setInitParameter("dirAllowed","false");
  staticHolder.setInitParameter("pathInfoOnly","true");
  servletContextHandler.addServlet(staticHolder,"/static/*");

  embeddedJetty.start();
}
 
開發者ID:skhalifa,項目名稱:QDrill,代碼行數:45,代碼來源:WebServer.java

示例7: start

import org.eclipse.jetty.servlet.ServletContextHandler; //導入方法依賴的package包/類
public void start() {
        System.setProperty("java.net.preferIPv4Stack", "true");//TODO optional?

        server = new org.eclipse.jetty.server.Server();
//        HashSessionIdManager sessionIdManager = new HashSessionIdManager();
//        server.setSessionIdManager(sessionIdManager);

        connector = new NetworkTrafficServerConnector(server);
        connector.setPort(httpPort);
        connector.setHost(host);
        server.addConnector(connector);


        ServletContextHandler contextHandler = new ServletContextHandler();
        SessionHandler sessionHandler = new SessionHandler();
//        HashSessionManager sessionManager = new HashSessionManager();
//        sessionManager.setMaxInactiveInterval(sessionTimeoutS);
//        sessionManager.setSessionCookie(sessionManager.getSessionCookie()+httpPort); //avoid session mix up for 2 server running as localhost
//        sessionHandler.setSessionManager(sessionManager);


        contextHandler.setSessionHandler(sessionHandler);
        contextHandler.addServlet(new ServletHolder(new ServletContainer(jerseySetup(restResource))), "/applicationServer/*");

        ErrorHandler errorHandler = new ErrorHandler();
        errorHandler.setShowStacks(true);
        contextHandler.setErrorHandler(errorHandler);

        GzipHandler gzipHandler = new GzipHandler();
//            HashSet<String> mimeTypes = new HashSet<>();
//            mimeTypes.add("text/html");
//            mimeTypes.add("text/plain");
//            mimeTypes.add("text/css");
//            mimeTypes.add("application/x-javascript");
//            mimeTypes.add("application/json");
        gzipHandler.setMinGzipSize(0);
//            gzipHandler.setMimeTypes(mimeTypes);

        HandlerCollection handlers = new HandlerCollection();
        handlers.setHandlers(new Handler[]{resourceHandler, contextHandler});
        gzipHandler.setHandler(handlers);
        server.setHandler(gzipHandler);

        try {
            server.start();
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
 
開發者ID:factoryfx,項目名稱:factoryfx,代碼行數:50,代碼來源:HttpServer.java

示例8: PatchLogServer

import org.eclipse.jetty.servlet.ServletContextHandler; //導入方法依賴的package包/類
private PatchLogServer(int port, DeltaLink engine) {
        DPS.init();
        this.port = port;
        this.server = jettyServer(port, false);
        this.engineRef = new AtomicReference<>(null);
        setEngine(engine);
        
        ServletContextHandler handler = buildServletContext("/");
        
        HttpServlet servletRDFPatchLog = new S_Log(engineRef);
        HttpServlet servletPing = new S_Ping();        
        //HttpServlet servlet404 = new ServletHandler.Default404Servlet();
        
        // Filter - this catches RDF Patch Log requests. 
        addFilter(handler, "/*", new F_PatchFilter(engineRef,
                                                   (req, resp)->servletRDFPatchLog.service(req, resp),
                                                   (req, resp)->servletPing.service(req, resp)
                                                   ));
        
        // Other
        addServlet(handler, "/"+DeltaConst.EP_RPC, new S_DRPC(this.engineRef));
        //addServlet(handler, "/restart", new S_Restart());
        
        addServlet(handler, "/"+DeltaConst.EP_Ping, new S_Ping());  //-- See also the "ping" DRPC.
        
        // Initial data. "/init-data?datasource=..."
        addServlet(handler, "/"+DeltaConst.EP_InitData, new S_Data(this.engineRef));

        
        // ---- A default servlet at the end of the chain.
//        // -- Jetty default, including static content. 
//        DefaultServlet servletContent = new DefaultServlet();
//        ServletHolder servletHolder = new ServletHolder(servletContent);
//        //servletHolder.setInitParameter("resourceBase", "somewhere");
//        handler.addServlet(servletHolder, "/*");
        
        // -- 404 catch all.
        HttpServlet servlet404 = new Servlet404();
        addServlet(handler, "/*", servlet404);
        
        handler.setErrorHandler(new FusekiErrorHandler1());
        // Wire up.
        server.setHandler(handler);
    }
 
開發者ID:afs,項目名稱:rdf-delta,代碼行數:45,代碼來源:PatchLogServer.java


注:本文中的org.eclipse.jetty.servlet.ServletContextHandler.setErrorHandler方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。