本文整理匯總了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());
}
示例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 ;
}
示例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;
}
示例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);
}
示例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);
}
示例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();
}
示例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);
}
}
示例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);
}