Java Examples for org.eclipse.jetty.servlet.DefaultServlet
The following java examples will help you to understand the usage of org.eclipse.jetty.servlet.DefaultServlet. These source code samples are taken from different open source projects.
Example 1
| Project: feathercon-master File: FeatherConTest.java View source code |
@Test
public void testWithServletConfiguration() throws Exception {
assertThat(builder.servletConfigurations, is(notNullValue()));
assertThat(builder.servletConfigurations.size(), equalTo(0));
ServletConfiguration.Builder servletConfigBuilder = new ServletConfiguration.Builder();
servletConfigBuilder.withServletClass(DefaultServlet.class).withServletName("superServlet").withInitOrder(1).withInitParameter("k1", "v1").withPathSpec("/css/*").withPathSpec("/js/*");
ServletConfiguration servletConfiguration = servletConfigBuilder.build();
builder.withServletConfiguration(servletConfiguration);
assertThat(builder.servletConfigurations.size(), equalTo(1));
assertThat(builder.servletConfigurations.contains(servletConfiguration), equalTo(true));
}Example 2
| Project: hapi-fhir-master File: ServerStartup.java View source code |
public static void main(final String[] args) throws Exception {
SLF4JBridgeHandler.removeHandlersForRootLogger();
SLF4JBridgeHandler.install();
final Server server = new Server(9090);
final ServletContextHandler sch = new ServletContextHandler(server, "/");
sch.addEventListener(new ContextListener());
sch.addFilter(GuiceFilter.class, "/*", EnumSet.of(DispatcherType.REQUEST));
sch.addServlet(DefaultServlet.class, "/");
server.start();
// Service is now accessible through
// http://localhost:9090/model/Practitioner
}Example 3
| Project: jetty-plugin-support-master File: JdbcLoginServiceTest.java View source code |
protected static void configureServer(Server server) throws Exception {
setProtocol("http");
setRealm(new Realm() {
public String getId() {
return "JdbcRealm";
}
public String getPrincipal() {
return "jetty";
}
public String getCredentials() {
return "jetty";
}
});
SelectChannelConnector connector = new SelectChannelConnector();
server.addConnector(connector);
LoginService loginService = new JDBCLoginService("JdbcRealm", "./src/test/resources/jdbcrealm.properties");
server.addBean(loginService);
ConstraintSecurityHandler security = new ConstraintSecurityHandler();
server.setHandler(security);
Constraint constraint = new Constraint();
constraint.setName("auth");
constraint.setAuthenticate(true);
constraint.setRoles(new String[] { "user", "admin" });
ConstraintMapping mapping = new ConstraintMapping();
mapping.setPathSpec("/*");
mapping.setConstraint(constraint);
Set<String> knownRoles = new HashSet<String>();
knownRoles.add("user");
knownRoles.add("admin");
security.setConstraintMappings(Collections.singletonList(mapping), knownRoles);
security.setAuthenticator(new BasicAuthenticator());
security.setLoginService(loginService);
security.setStrict(false);
ServletContextHandler root = new ServletContextHandler();
root.setContextPath("/");
root.setResourceBase(getBasePath());
ServletHolder servletHolder = new ServletHolder(new DefaultServlet());
servletHolder.setInitParameter("gzip", "true");
root.addServlet(servletHolder, "/*");
Handler handler = new TestHandler(getBasePath());
HandlerCollection handlers = new HandlerCollection();
handlers.setHandlers(new Handler[] { handler, root });
security.setHandler(handlers);
}Example 4
| Project: checklistbank-master File: ClbServer.java View source code |
public static Server buildServer(Properties clbProps) {
final Server server = new Server(determinePort());
final ChecklistBankWsModule clbWs = new ChecklistBankSearchWsTestModule(clbProps);
final ServletContextHandler root = new ServletContextHandler(server, "/", ServletContextHandler.NO_SESSIONS);
root.addEventListener(clbWs);
root.addFilter(GuiceFilter.class, "/*", null);
root.addServlet(DefaultServlet.class, "/");
server.setStopAtShutdown(true);
return server;
}Example 5
| Project: jetty-spdy-master File: JdbcLoginServiceTest.java View source code |
protected static void configureServer(Server server) throws Exception {
setProtocol("http");
setRealm(new Realm() {
public String getId() {
return "JdbcRealm";
}
public String getPrincipal() {
return "jetty";
}
public String getCredentials() {
return "jetty";
}
});
SelectChannelConnector connector = new SelectChannelConnector();
server.addConnector(connector);
LoginService loginService = new JDBCLoginService("JdbcRealm", "./src/test/resources/jdbcrealm.properties");
server.addBean(loginService);
ConstraintSecurityHandler security = new ConstraintSecurityHandler();
server.setHandler(security);
Constraint constraint = new Constraint();
constraint.setName("auth");
constraint.setAuthenticate(true);
constraint.setRoles(new String[] { "user", "admin" });
ConstraintMapping mapping = new ConstraintMapping();
mapping.setPathSpec("/*");
mapping.setConstraint(constraint);
Set<String> knownRoles = new HashSet<String>();
knownRoles.add("user");
knownRoles.add("admin");
security.setConstraintMappings(Collections.singletonList(mapping), knownRoles);
security.setAuthenticator(new BasicAuthenticator());
security.setLoginService(loginService);
security.setStrict(false);
ServletContextHandler root = new ServletContextHandler();
root.setContextPath("/");
root.setResourceBase(getBasePath());
ServletHolder servletHolder = new ServletHolder(new DefaultServlet());
servletHolder.setInitParameter("gzip", "true");
root.addServlet(servletHolder, "/*");
Handler handler = new TestHandler(getBasePath());
HandlerCollection handlers = new HandlerCollection();
handlers.setHandlers(new Handler[] { handler, root });
security.setHandler(handlers);
}Example 6
| Project: jetty-web-sockets-jsr356-master File: ServerStarter.java View source code |
public static void main(String[] args) throws Exception {
Server server = new Server(8080);
// Create the 'root' Spring application context
final ServletContextHandler context = new ServletContextHandler();
context.setContextPath("/");
context.addEventListener(new ContextLoaderListener());
context.setInitParameter("contextClass", AnnotationConfigWebApplicationContext.class.getName());
context.setInitParameter("contextConfigLocation", AppConfig.class.getName());
// Create default servlet (servlet api required)
// The name of DefaultServlet should be set to 'defualt'.
final ServletHolder defaultHolder = new ServletHolder("default", DefaultServlet.class);
defaultHolder.setInitParameter("resourceBase", System.getProperty("user.dir"));
context.addServlet(defaultHolder, "/");
server.setHandler(context);
WebSocketServerContainerInitializer.configureContext(context);
server.start();
server.join();
}Example 7
| Project: jetty.project-master File: ThreadStarvationTest.java View source code |
@Test
@Slow
public void testDefaultServletSuccess() throws Exception {
int maxThreads = 10;
QueuedThreadPool threadPool = new QueuedThreadPool(maxThreads, maxThreads);
threadPool.setDetailedDump(true);
_server = new Server(threadPool);
// Prepare a big file to download.
File directory = MavenTestingUtils.getTargetTestingDir();
Files.createDirectories(directory.toPath());
String resourceName = "resource.bin";
Path resourcePath = Paths.get(directory.getPath(), resourceName);
try (OutputStream output = Files.newOutputStream(resourcePath, StandardOpenOption.CREATE, StandardOpenOption.WRITE)) {
byte[] chunk = new byte[1024];
Arrays.fill(chunk, (byte) 'X');
chunk[chunk.length - 2] = '\r';
chunk[chunk.length - 1] = '\n';
for (int i = 0; i < 256 * 1024; ++i) output.write(chunk);
}
final CountDownLatch writePending = new CountDownLatch(1);
ServerConnector connector = new ServerConnector(_server, 0, 1) {
@Override
protected ChannelEndPoint newEndPoint(SocketChannel channel, ManagedSelector selectSet, SelectionKey key) throws IOException {
return new SocketChannelEndPoint(channel, selectSet, key, getScheduler()) {
@Override
protected void onIncompleteFlush() {
super.onIncompleteFlush();
writePending.countDown();
}
};
}
};
connector.setIdleTimeout(Long.MAX_VALUE);
_server.addConnector(connector);
ServletContextHandler context = new ServletContextHandler(_server, "/");
context.setResourceBase(directory.toURI().toString());
context.addServlet(DefaultServlet.class, "/*").setAsyncSupported(false);
_server.setHandler(context);
_server.start();
List<Socket> sockets = new ArrayList<>();
for (int i = 0; i < maxThreads * 2; ++i) {
Socket socket = new Socket("localhost", connector.getLocalPort());
sockets.add(socket);
OutputStream output = socket.getOutputStream();
String request = "" + "GET /" + resourceName + " HTTP/1.1\r\n" + "Host: localhost\r\n" + "\r\n";
output.write(request.getBytes(StandardCharsets.UTF_8));
output.flush();
Thread.sleep(100);
}
// Wait for a the servlet to block.
Assert.assertTrue(writePending.await(5, TimeUnit.SECONDS));
long expected = Files.size(resourcePath);
byte[] buffer = new byte[48 * 1024];
List<Exchanger<Long>> totals = new ArrayList<>();
for (Socket socket : sockets) {
final Exchanger<Long> x = new Exchanger<>();
totals.add(x);
final InputStream input = socket.getInputStream();
new Thread() {
@Override
public void run() {
long total = 0;
try {
// look for CRLFCRLF
StringBuilder header = new StringBuilder();
int state = 0;
while (state < 4 && header.length() < 2048) {
int ch = input.read();
if (ch < 0)
break;
header.append((char) ch);
switch(state) {
case 0:
if (ch == '\r')
state = 1;
break;
case 1:
if (ch == '\n')
state = 2;
else
state = 0;
break;
case 2:
if (ch == '\r')
state = 3;
else
state = 0;
break;
case 3:
if (ch == '\n')
state = 4;
else
state = 0;
break;
}
}
while (total < expected) {
int read = input.read(buffer);
if (read < 0)
break;
total += read;
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
x.exchange(total);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}.start();
}
for (Exchanger<Long> x : totals) {
Long total = x.exchange(-1L, 10000, TimeUnit.SECONDS);
Assert.assertEquals(expected, total.longValue());
}
// We could read everything, good.
for (Socket socket : sockets) socket.close();
}Example 8
| Project: titan-web-example-master File: RunApp.java View source code |
public static void main(String[] args) throws Exception {
System.out.println("Working directory: " + new File("./").getAbsolutePath().toString());
Server server = new Server(9091);
WebAppContext context = new WebAppContext();
context.setDescriptor("/WEB-INF/web.xml");
context.setResourceBase("src/main/webapp");
context.setContextPath("/");
context.setParentLoaderPriority(true);
context.addServlet(DefaultServlet.class, "/*");
server.setHandler(context);
server.start();
server.join();
}Example 9
| Project: groningen-master File: HttpService.java View source code |
@Override
protected void startUp() throws Exception {
contextHandler.addFilter(new FilterHolder(guiceFilter), "/*", EnumSet.allOf(DispatcherType.class));
contextHandler.addServlet(DefaultServlet.class.getCanonicalName(), "/");
server.setHandler(contextHandler);
server.start();
log.log(Level.INFO, "Started HTTP Server at port {0}", ((ServerConnector) server.getConnectors()[0]).getLocalPort());
}Example 10
| Project: iron-admin-master File: IronAdminServer.java View source code |
private Handler createServletHandler() {
ServletContextHandler servletHandler = new ServletContextHandler();
URL resourceUri = getClass().getClassLoader().getResource(STATIC_RESOURCE_DIR);
if (resourceUri == null) {
throw new IllegalStateException("Static resources directory was not found in classpath:" + STATIC_RESOURCE_DIR);
} else {
String staticDir = resourceUri.toExternalForm();
servletHandler.setResourceBase(staticDir);
servletHandler.setContextPath(".");
servletHandler.addServlet(DefaultServlet.class, "/");
}
servletHandler.addServlet(AdminDispatcherServlet.class, mapping);
return servletHandler;
}Example 11
| Project: ja-micro-master File: JettyComposer.java View source code |
public static void compose(Server server) {
//Servlets + Guice
ServletContextHandler servletContextHandler = new ServletContextHandler(server, "/", ServletContextHandler.SESSIONS);
servletContextHandler.addFilter(GuiceFilter.class, "/*", EnumSet.allOf(DispatcherType.class));
servletContextHandler.addServlet(DefaultServlet.class, "/");
//JMX stuff...
MBeanContainer mbContainer = new MBeanContainer(ManagementFactory.getPlatformMBeanServer());
server.addEventListener(mbContainer);
server.addBean(mbContainer);
server.addBean(Log.getLog());
}Example 12
| Project: oxalis-master File: AbstractJettyServerTest.java View source code |
@BeforeClass
public void beforeClass() throws Exception {
injector = getInjector();
server = new Server(8080);
ServletContextHandler handler = new ServletContextHandler(server, "/", ServletContextHandler.SESSIONS);
handler.addFilter(GuiceFilter.class, "/*", EnumSet.allOf(DispatcherType.class));
handler.addEventListener(new GuiceServletContextListener() {
@Override
protected Injector getInjector() {
return injector;
}
});
handler.addServlet(DefaultServlet.class, "/");
server.start();
}Example 13
| Project: PeerWasp-master File: HttpServer.java View source code |
private void initHandler() {
// default servlet required for jetty to accept all requests
// (guice will define mappings between urls and servlets)
ServletContextHandler handler = new ServletContextHandler(server, "/", ServletContextHandler.SESSIONS);
handler.addFilter(GuiceFilter.class, "/*", EnumSet.allOf(DispatcherType.class));
handler.addServlet(DefaultServlet.class, "/");
}Example 14
| Project: sandboxes-master File: JettyRestServer.java View source code |
public static void main(String[] args) throws Exception {
Server server = new Server(8182);
ServletContextHandler handler = new ServletContextHandler();
handler.setResourceBase("");
handler.addEventListener(new GuiceConfig());
handler.addFilter(GuiceFilter.class, "/*", null);
handler.addServlet(DefaultServlet.class, "/");
handler.setContextPath("/buggy");
WebAppContext webAppContext = createContext("/todo", "js-backbone-todo");
WebAppContext inheritance = createContext("/inheritance", "js-inheritance");
WebAppContext arrays = createContext("/arrays", "js-array");
WebAppContext require = createContext("/require", "js-requirejs");
WebAppContext requireFromScratch = createContext("/scratch", "js-requirejs-from-scratch");
WebAppContext backbone = createContext("/backbone", "js-backbone");
ContextHandlerCollection contexts = new ContextHandlerCollection();
contexts.setHandlers(new Handler[] { handler, webAppContext, arrays, backbone, require, inheritance, requireFromScratch });
server.setHandler(contexts);
server.start();
server.join();
}Example 15
| Project: staash-master File: PaasLauncher.java View source code |
public static void main(String[] args) throws Exception {
LOG.info("Starting PAAS");
// Create the server.
Server server = new Server(DEFAULT_PORT);
// Create a servlet context and add the jersey servlet.
ServletContextHandler sch = new ServletContextHandler(server, "/");
// Add our Guice listener that includes our bindings
sch.addEventListener(new PaasGuiceServletConfig());
// Then add GuiceFilter and configure the server to
// reroute all requests through this filter.
sch.addFilter(GuiceFilter.class, "/*", null);
// Must add DefaultServlet for embedded Jetty.
// Failing to do this will cause 404 errors.
// This is not needed if web.xml is used instead.
sch.addServlet(DefaultServlet.class, "/");
// Start the server
server.start();
server.join();
LOG.info("Stopping PAAS");
}Example 16
| Project: stormpath-shiro-master File: StormpathShiroBundle.java View source code |
@Override
public void run(T configuration, Environment environment) {
ShiroConfiguration shiroConfig = narrow(configuration);
if (shiroConfig == null) {
shiroConfig = new ShiroConfiguration();
}
ResourceConfig resourceConfig = environment.jersey().getResourceConfig();
resourceConfig.register(StormpathShiroFeature.class);
// This listener will configure Shiro and Stormpath
environment.servlets().addServletListeners(new StormpathShiroEnvironmentLoaderListener());
environment.servlets().addServlet("default", DefaultServlet.class).addMapping(// The Stormpath API requires the 'default' servlet
"/");
environment.servlets().addFilter("ShiroFilter", // setup the Shiro Filter
ShiroFilter.class).addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), false, shiroConfig.filterUrlPattern());
}Example 17
| Project: streamflow-master File: StreamflowServer.java View source code |
public static void main(String[] args) throws Exception {
long startTime = System.currentTimeMillis();
StreamflowConfig streamflowConfig = ConfigLoader.getConfig();
LOG.info("Streamflow Server: Binding server to port " + streamflowConfig.getServer().getPort());
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/");
context.addEventListener(new WebConfig());
context.addFilter(GuiceFilter.class, "/*", EnumSet.of(DispatcherType.REQUEST));
context.setWelcomeFiles(new String[] { "index.htm", "index.html" });
context.setBaseResource(Resource.newClassPathResource("/assets"));
context.addServlet(DefaultServlet.class, "/*");
Server server = new Server(streamflowConfig.getServer().getPort());
server.setHandler(context);
server.start();
double startupTime = (System.currentTimeMillis() - startTime) / 1000.0;
LOG.info("Streamflow Server: Server started in " + startupTime + " seconds");
server.join();
}Example 18
| Project: wicket-examples-master File: StartSslExamplesWithJettyRunner.java View source code |
public static void main(final String[] args) throws Exception {
// set timeout to 30min(60sec
final int sessionTimeout = (int) Duration.minutes(30).seconds();
// * 30min=1800sec)...
// change this if your on production with deployment
String configurationType;
configurationType = "development";
// configurationType = "deployment";
System.setProperty("wicket.configuration", configurationType);
final String projectname = getProjectName();
final File projectDirectory = PathFinder.getProjectDirectory();
final File webapp = PathFinder.getRelativePath(projectDirectory, projectname, "src", "main", "webapp");
final String filterPath = "/*";
final File logfile = new File(projectDirectory, "application.log");
if (logfile.exists()) {
try {
DeleteFileExtensions.delete(logfile);
} catch (final IOException e) {
Logger.getRootLogger().error("logfile could not deleted.", e);
}
}
final String absolutePathFromLogfile = logfile.getAbsolutePath();
// Add a file appender to the logger programatically
Logger.getRootLogger().addFileAppender(LoggerExtensions.newFileAppender(absolutePathFromLogfile));
final ServletContextHandler servletContextHandler = ServletContextHandlerFactory.getNewServletContextHandler(ServletContextHandlerConfiguration.builder().filterHolderConfiguration(FilterHolderConfiguration.builder().filterClass(WicketFilter.class).name(projectname).filterPath(filterPath).initParameter(WicketFilter.FILTER_MAPPING_PARAM, filterPath).initParameter(ContextParamWebApplicationFactory.APP_CLASS_PARAM, WicketApplication.class.getName()).build()).servletHolderConfiguration(ServletHolderConfiguration.builder().servletClass(DefaultServlet.class).pathSpec(filterPath).build()).contextPath("/").webapp(webapp).maxInactiveInterval(sessionTimeout).filterPath(filterPath).initParameter("contextConfigLocation", "classpath:applicationContext.hbm.xml\nclasspath:applicationContext.xml").initParameter("configuration", configurationType).build());
final Jetty9RunConfiguration configuration = newJetty9RunConfiguration(servletContextHandler);
final Server server = new Server();
Jetty9Runner.runServletContextHandler(server, configuration);
}Example 19
| Project: bootique-master File: BQInternalWebServerTestFactory.java View source code |
@Provides
@Singleton
Server provideServer(Environment env, ShutdownManager shutdownManager) {
Server server = new Server();
ServerConnector connector = new ServerConnector(server);
connector.setPort(12025);
server.addConnector(connector);
ServletContextHandler handler = new ServletContextHandler();
handler.setContextPath("/");
DefaultServlet servlet = new DefaultServlet();
ServletHolder holder = new ServletHolder(servlet);
handler.addServlet(holder, "/*");
handler.setResourceBase(env.getProperty("bq.internaljetty.base"));
server.setHandler(handler);
shutdownManager.addShutdownHook(() -> {
server.stop();
});
return server;
}Example 20
| Project: codeine-master File: SimpleServerBootstrap.java View source code |
public static void main(String[] args) throws Exception {
Server server = new Server(8080);
ServletContextHandler context = new ServletContextHandler(server, "/", ServletContextHandler.SESSIONS | ServletContextHandler.SECURITY);
context.addServlet(new ServletHolder(new DefaultServlet() {
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.getWriter().append("hello " + request.getUserPrincipal().getName());
}
}), "/*");
context.addServlet(new ServletHolder(new LoginServlet2()), "/login");
Constraint constraint = new Constraint();
constraint.setName(Constraint.__FORM_AUTH);
constraint.setRoles(new String[] { "user", "admin", "moderator" });
constraint.setAuthenticate(true);
ConstraintMapping constraintMapping = new ConstraintMapping();
constraintMapping.setConstraint(constraint);
constraintMapping.setPathSpec("/*");
ConstraintSecurityHandler securityHandler = new ConstraintSecurityHandler();
securityHandler.addConstraintMapping(constraintMapping);
HashLoginService loginService = new HashLoginService();
loginService.putUser("oshai", new Password("oshai"), new String[] { "user" });
securityHandler.setLoginService(loginService);
FormAuthenticator authenticator = new FormAuthenticator("/login", "/login", false);
securityHandler.setAuthenticator(authenticator);
context.setSecurityHandler(securityHandler);
server.start();
server.join();
// boot(Component.SIMPLE, SimpleServerBootstrap.class);
}Example 21
| Project: constellio-master File: WebsitesUtils.java View source code |
public static Server startWebsiteInState1Ntlm() {
String name = "animalsStateV1";
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/");
context.addFilter(NtlmAuthenticationFilter.class, "/*", EnumSet.of(DispatcherType.REQUEST));
DefaultServlet defaultServlet = new DefaultServlet();
ServletHolder servletHolder = new ServletHolder("default", defaultServlet);
String ressourcePath = getFile(name).getAbsolutePath();
servletHolder.setInitParameter("resourceBase", ressourcePath);
context.addServlet(servletHolder, "/*");
Server server = startWebsite(name, context);
return server;
}Example 22
| Project: cxf-master File: EngineLifecycleTest.java View source code |
@Test
public void testUpDownWithServlets() throws Exception {
setUpBus(true);
Bus bus = (Bus) applicationContext.getBean("cxf");
ServerRegistry sr = bus.getExtension(ServerRegistry.class);
ServerImpl si = (ServerImpl) sr.getServers().get(0);
JettyHTTPDestination jhd = (JettyHTTPDestination) si.getDestination();
JettyHTTPServerEngine e = (JettyHTTPServerEngine) jhd.getEngine();
org.eclipse.jetty.server.Server jettyServer = e.getServer();
Handler[] contexts = jettyServer.getChildHandlersByClass(WebAppContext.class);
WebAppContext servletContext = null;
for (Handler h : contexts) {
WebAppContext wac = (WebAppContext) h;
if (wac.getContextPath().equals("/jsunit")) {
servletContext = wac;
break;
}
}
servletContext.addServlet("org.eclipse.jetty.servlet.DefaultServlet", "/bloop");
getTestHtml();
invokeService();
shutdownService();
verifyNoServer(PORT2);
verifyNoServer(PORT1);
}Example 23
| Project: FRC1778-master File: WebServer.java View source code |
public static void startServer() {
if (server != null) {
return;
}
server = new Server(5800);
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/");
server.setHandler(context);
// Add websocket servlet
ServletHolder wsHolder = new ServletHolder("echo", new StateStreamServlet());
context.addServlet(wsHolder, "/state");
ServletHolder statesHolder = new ServletHolder("states", new GetAllStatesServlet());
context.addServlet(statesHolder, "/all_states");
ServletHolder keysHolder = new ServletHolder("keys", new GetKeysServlet());
context.addServlet(keysHolder, "/keys");
ServletHolder constantsHolder = new ServletHolder("constants", new ConstantsServlet());
context.addServlet(constantsHolder, "/constants");
ServletHolder getAutoModesHolder = new ServletHolder("autoModes", new GetAutoModesServlet());
context.addServlet(getAutoModesHolder, "/autoModes");
ServletHolder getCurrentAutoModeHolder = new ServletHolder("currentAutoModes", new GetCurrentAutoModeServlet());
context.addServlet(getCurrentAutoModeHolder, "/currentAutoMode");
ServletHolder setAutoModeHolder = new ServletHolder("setAutoMode", new SetAutoModeServlet());
context.addServlet(setAutoModeHolder, "/setAutoMode");
ServletHolder pingHolder = new ServletHolder("ping", new PingServlet());
context.addServlet(pingHolder, "/ping");
//noinspection ConstantConditions
String appDir = WebServer.class.getClassLoader().getResource("app/").toExternalForm();
ServletHolder holderPwd = new ServletHolder("default", new DefaultServlet());
holderPwd.setInitParameter("resourceBase", appDir);
holderPwd.setInitParameter("dirAllowed", "true");
context.addServlet(holderPwd, "/");
Thread serverThread = new Thread(new Runnable() {
@Override
public void run() {
try {
server.start();
server.join();
} catch (Exception e) {
e.printStackTrace();
}
}
});
serverThread.setPriority(Thread.MIN_PRIORITY);
serverThread.start();
streamUpdate.start();
}Example 24
| Project: killbill-commons-master File: AbstractBaseServerModuleTest.java View source code |
protected Server startServer(final Module... modules) throws Exception {
final Injector injector = Guice.createInjector(modules);
final Server server = new Server(getPort());
final ServletContextHandler servletContextHandler = new ServletContextHandler();
servletContextHandler.addEventListener(new GuiceServletContextListener() {
@Override
protected Injector getInjector() {
return injector;
}
});
servletContextHandler.addFilter(GuiceFilter.class, "/*", null);
servletContextHandler.addServlet(DefaultServlet.class, "/*");
server.setHandler(servletContextHandler);
server.start();
final Thread t = new Thread() {
@Override
public void run() {
try {
server.join();
} catch (final InterruptedException ignored) {
}
}
};
t.setDaemon(true);
t.start();
Assert.assertTrue(server.isRunning());
return server;
}Example 25
| Project: moonshine-master File: ServletContextHandlerConfig.java View source code |
@Override
public void lifeCycleStarting(LifeCycle event) {
handler.getServletContext().setExtendedListenerTypes(true);
Iterable<ServletContainerInitializer> initializers = servletContainer.getInitializers();
for (ServletContainerInitializer servletContainerInitializer : initializers) {
try {
servletContainerInitializer.onStartup(Collections.emptySet(), handler.getServletContext());
} catch (ServletException ex) {
throw new RuntimeException(ex);
}
}
handler.addServlet(DefaultServlet.class, "/");
handler.getServletContext().setExtendedListenerTypes(false);
}Example 26
| Project: OmniOcular-master File: ClientProxy.java View source code |
@Override
public void run() {
Server server = new Server(23333);
try {
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/");
ServletHolder wsHolder = new ServletHolder("echo", new WebSocketServlet() {
@Override
public void configure(WebSocketServletFactory factory) {
factory.register(WebSocketHandler.class);
}
});
context.addServlet(wsHolder, "/w");
URI uri = OmniOcular.class.getResource("/assets/omniocular/static/").toURI();
context.setBaseResource(Resource.newResource(uri));
context.setWelcomeFiles(new String[] { "index.html" });
ServletHolder holderPwd = new ServletHolder("default", DefaultServlet.class);
holderPwd.setInitParameter("cacheControl", "max-age=0,public");
holderPwd.setInitParameter("useFileMappedBuffer", "false");
context.addServlet(holderPwd, "/");
server.setHandler(context);
server.start();
server.join();
} catch (Exception e) {
e.printStackTrace();
}
}Example 27
| Project: openshift-quickstart-quake2-master File: GwtQuakeServer.java View source code |
private static void createServer(int port) throws Exception {
Server server = new Server(port);
ServletContextHandler handler = new ServletContextHandler();
handler.setResourceBase("war");
handler.addServlet(new ServletHolder(new GwtQuakeServlet()), "/GwtQuake.html");
handler.addServlet(new ServletHolder(new DefaultServlet()), "/*");
server.setHandler(handler);
server.start();
}Example 28
| Project: RestSimple-master File: AddressBookSitebricksTest.java View source code |
@BeforeClass(alwaysRun = true)
public void setUpGlobal() throws Exception {
port = findFreePort();
server = new Server(port);
acceptHeader = AddressBookAction.APPLICATION + "/" + AddressBookAction.JSON;
targetUrl = "http://127.0.0.1:" + port;
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/");
context.addFilter(GuiceFilter.class, "/*", 0);
context.addEventListener(new AddressBookSitebricksConfig());
context.addServlet(DefaultServlet.class, "/");
server.setHandler(context);
server.start();
logger.info("Local HTTP server started successfully");
}Example 29
| Project: sample-skeleton-projects-master File: ITRestService.java View source code |
@BeforeClass
public static void init() throws Exception {
server = new Server(8080);
ServletContextHandler context = new ServletContextHandler();
ServletHolder defaultServ = new ServletHolder("default", DefaultServlet.class);
defaultServ.setInitParameter("resourceBase", System.getProperty("user.dir"));
defaultServ.setInitParameter("dirAllowed", "true");
context.addServlet(defaultServ, "/");
server.setHandler(context);
server.start();
}Example 30
| Project: schlep-master File: JettyRunner.java View source code |
public static void main(String[] args) throws Exception {
final List<AbstractModule> modules = Lists.newArrayList(new SimSchlepModule(), new SchlepModule(), new EventBusModule(), new AbstractModule() {
@Override
protected void configure() {
}
}, new JerseyServletModule() {
@Override
protected void configureServlets() {
LOG.info("Binding jersey servlets");
bind(BridgeAdminResource.class).asEagerSingleton();
bind(JsonMessageBodyReader.class).asEagerSingleton();
bind(JsonMessageBodyWriter.class).asEagerSingleton();
// Route all requests through GuiceContainer
bind(GuiceContainer.class).asEagerSingleton();
serve("/*").with(GuiceContainer.class);
}
});
LOG.info("Starting application");
// Create the server.
Server server = new Server(8080);
ServletContextHandler sch = new ServletContextHandler(server, "/");
final Injector injector = LifecycleInjector.builder().withModules(modules).createInjector();
// Add our Guice listener that includes our bindings
sch.addEventListener(new GuiceServletContextListener() {
@Override
protected Injector getInjector() {
return injector;
}
});
sch.addFilter(GuiceFilter.class, "/*", null);
sch.addServlet(DefaultServlet.class, "/");
LifecycleManager manager = injector.getInstance(LifecycleManager.class);
try {
manager.start();
// Start the server
server.start();
server.join();
} finally {
LOG.info("Stopping application");
Closeables.close(manager, true);
}
}Example 31
| Project: ambari-master File: AmbariServer.java View source code |
@SuppressWarnings("deprecation")
public void run() throws Exception {
setupJulLogging();
performStaticInjection();
initDB();
server = new Server();
server.setSessionIdManager(sessionIdManager);
server.setSendServerVersion(false);
Server serverForAgent = new Server();
setSystemProperties(configs);
runDatabaseConsistencyCheck();
try {
ClassPathXmlApplicationContext parentSpringAppContext = new ClassPathXmlApplicationContext();
parentSpringAppContext.refresh();
ConfigurableListableBeanFactory factory = parentSpringAppContext.getBeanFactory();
factory.registerSingleton("guiceInjector", injector);
factory.registerSingleton("ambariConfiguration", injector.getInstance(Configuration.class));
factory.registerSingleton("ambariUsers", injector.getInstance(Users.class));
factory.registerSingleton("passwordEncoder", injector.getInstance(PasswordEncoder.class));
factory.registerSingleton("auditLogger", injector.getInstance(AuditLogger.class));
factory.registerSingleton("permissionHelper", injector.getInstance(PermissionHelper.class));
factory.registerSingleton("ambariLdapAuthenticationProvider", injector.getInstance(AmbariLdapAuthenticationProvider.class));
factory.registerSingleton("ambariLocalAuthenticationProvider", injector.getInstance(AmbariLocalUserProvider.class));
factory.registerSingleton("ambariLdapDataPopulator", injector.getInstance(AmbariLdapDataPopulator.class));
factory.registerSingleton("ambariUserAuthorizationFilter", injector.getInstance(AmbariUserAuthorizationFilter.class));
factory.registerSingleton("ambariInternalAuthenticationProvider", injector.getInstance(AmbariInternalAuthenticationProvider.class));
factory.registerSingleton("ambariPamAuthenticationProvider", injector.getInstance(AmbariPamAuthenticationProvider.class));
// Spring Security xml config depends on this Bean
String[] contextLocations = { SPRING_CONTEXT_LOCATION };
ClassPathXmlApplicationContext springAppContext = new ClassPathXmlApplicationContext(contextLocations, parentSpringAppContext);
ServletContextHandler root = new ServletContextHandler(ServletContextHandler.SECURITY | ServletContextHandler.SESSIONS);
configureRootHandler(root);
configureSessionManager(sessionManager);
root.getSessionHandler().setSessionManager(sessionManager);
// setting ambari web context
GenericWebApplicationContext springWebAppContext = new GenericWebApplicationContext();
springWebAppContext.setServletContext(root.getServletContext());
springWebAppContext.setParent(springAppContext);
root.getServletContext().setAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, springWebAppContext);
certMan.initRootCert();
// the agent communication (heartbeats, registration, etc) is stateless
// and does not use sessions.
ServletContextHandler agentroot = new ServletContextHandler(serverForAgent, "/", ServletContextHandler.NO_SESSIONS);
if (configs.isAgentApiGzipped()) {
configureHandlerCompression(agentroot);
}
ServletHolder rootServlet = root.addServlet(DefaultServlet.class, "/");
rootServlet.setInitParameter("dirAllowed", "false");
rootServlet.setInitOrder(1);
/* Configure default servlet for agent server */
rootServlet = agentroot.addServlet(DefaultServlet.class, "/");
rootServlet.setInitOrder(1);
// Conditionally adds security-related headers to all HTTP responses.
root.addFilter(new FilterHolder(injector.getInstance(AmbariServerSecurityHeaderFilter.class)), "/*", DISPATCHER_TYPES);
// The security header filter - conditionally adds security-related headers to the HTTP response for Ambari Views
// requests.
root.addFilter(new FilterHolder(injector.getInstance(AmbariViewsSecurityHeaderFilter.class)), VIEWS_URL_PATTERN, DISPATCHER_TYPES);
// since views share the REST API threadpool, a misbehaving view could
// consume all of the available threads and effectively cause a loss of
// service for Ambari
root.addFilter(new FilterHolder(injector.getInstance(ViewThrottleFilter.class)), VIEWS_URL_PATTERN, DISPATCHER_TYPES);
// adds MDC info for views logging
root.addFilter(new FilterHolder(injector.getInstance(AmbariViewsMDCLoggingFilter.class)), VIEWS_URL_PATTERN, DISPATCHER_TYPES);
// session-per-request strategy for api
root.addFilter(new FilterHolder(injector.getInstance(AmbariPersistFilter.class)), "/api/*", DISPATCHER_TYPES);
root.addFilter(new FilterHolder(new MethodOverrideFilter()), "/api/*", DISPATCHER_TYPES);
// register listener to capture request context
root.addEventListener(new RequestContextListener());
root.addFilter(new FilterHolder(springSecurityFilter), "/api/*", DISPATCHER_TYPES);
root.addFilter(new FilterHolder(new UserNameOverrideFilter()), "/api/v1/users/*", DISPATCHER_TYPES);
// session-per-request strategy for agents
agentroot.addFilter(new FilterHolder(injector.getInstance(AmbariPersistFilter.class)), "/agent/*", DISPATCHER_TYPES);
agentroot.addFilter(SecurityFilter.class, "/*", DISPATCHER_TYPES);
Map<String, String> configsMap = configs.getConfigsMap();
// Agents download cert on on-way connector but always communicate on
// two-way connector for server-agent communication
SelectChannelConnector agentOneWayConnector = createSelectChannelConnectorForAgent(configs.getOneWayAuthPort(), false);
SelectChannelConnector agentTwoWayConnector = createSelectChannelConnectorForAgent(configs.getTwoWayAuthPort(), configs.isTwoWaySsl());
// Override acceptor defaults if configured or use Jetty defaults
Integer acceptors = configs.getAgentApiAcceptors() != null ? configs.getAgentApiAcceptors() : agentOneWayConnector.getAcceptors();
agentOneWayConnector.setAcceptors(acceptors);
agentTwoWayConnector.setAcceptors(acceptors);
// Agent Jetty thread pool - widen the thread pool if needed !
configureJettyThreadPool(serverForAgent, acceptors * 2, AGENT_THREAD_POOL_NAME, configs.getAgentThreadPoolSize());
serverForAgent.addConnector(agentOneWayConnector);
serverForAgent.addConnector(agentTwoWayConnector);
ServletHolder sh = new ServletHolder(ServletContainer.class);
sh.setInitParameter("com.sun.jersey.config.property.resourceConfigClass", "com.sun.jersey.api.core.PackagesResourceConfig");
sh.setInitParameter("com.sun.jersey.config.property.packages", "org.apache.ambari.server.api.rest;" + "org.apache.ambari.server.api.services;" + "org.apache.ambari.eventdb.webservice;" + "org.apache.ambari.server.api");
sh.setInitParameter("com.sun.jersey.api.json.POJOMappingFeature", "true");
root.addServlet(sh, "/api/v1/*");
sh.setInitOrder(2);
SecurityContextHolder.setStrategyName(SecurityContextHolder.MODE_INHERITABLETHREADLOCAL);
viewRegistry.readViewArchives();
//Check and load requestlog handler.
loadRequestlogHandler(handlerList, serverForAgent, configsMap);
enableLog4jMonitor(configsMap);
handlerList.addHandler(root);
server.setHandler(handlerList);
ServletHolder agent = new ServletHolder(ServletContainer.class);
agent.setInitParameter("com.sun.jersey.config.property.resourceConfigClass", "com.sun.jersey.api.core.PackagesResourceConfig");
agent.setInitParameter("com.sun.jersey.config.property.packages", "org.apache.ambari.server.agent.rest;" + "org.apache.ambari.server.api");
agent.setInitParameter("com.sun.jersey.api.json.POJOMappingFeature", "true");
agentroot.addServlet(agent, "/agent/v1/*");
agent.setInitOrder(3);
AgentResource.statHeartBeatHandler();
LOG.info("********** Started Heartbeat handler **********");
ServletHolder cert = new ServletHolder(ServletContainer.class);
cert.setInitParameter("com.sun.jersey.config.property.resourceConfigClass", "com.sun.jersey.api.core.PackagesResourceConfig");
cert.setInitParameter("com.sun.jersey.config.property.packages", "org.apache.ambari.server.security.unsecured.rest;" + "org.apache.ambari.server.api");
cert.setInitParameter("com.sun.jersey.api.json.POJOMappingFeature", "true");
agentroot.addServlet(cert, "/*");
cert.setInitOrder(4);
ServletHolder resources = new ServletHolder(ServletContainer.class);
resources.setInitParameter("com.sun.jersey.config.property.resourceConfigClass", "com.sun.jersey.api.core.PackagesResourceConfig");
resources.setInitParameter("com.sun.jersey.config.property.packages", "org.apache.ambari.server.resources.api.rest;");
root.addServlet(resources, "/resources/*");
resources.setInitOrder(5);
if (configs.csrfProtectionEnabled()) {
sh.setInitParameter("com.sun.jersey.spi.container.ContainerRequestFilters", "org.apache.ambari.server.api.AmbariCsrfProtectionFilter");
}
/* Configure the API server to use the NIO connectors */
SelectChannelConnector apiConnector = createSelectChannelConnectorForClient();
acceptors = configs.getClientApiAcceptors() != null ? configs.getClientApiAcceptors() : apiConnector.getAcceptors();
apiConnector.setAcceptors(acceptors);
// Client Jetty thread pool - widen the thread pool if needed !
configureJettyThreadPool(server, acceptors, CLIENT_THREAD_POOL_NAME, configs.getClientThreadPoolSize());
server.addConnector(apiConnector);
server.setStopAtShutdown(true);
serverForAgent.setStopAtShutdown(true);
springAppContext.start();
String osType = getServerOsType();
if (osType == null || osType.isEmpty()) {
throw new RuntimeException(Configuration.OS_VERSION.getKey() + " is not " + " set in the ambari.properties file");
}
//Start action scheduler
LOG.info("********* Initializing Clusters **********");
Clusters clusters = injector.getInstance(Clusters.class);
StringBuilder clusterDump = new StringBuilder();
clusters.debugDump(clusterDump);
LOG.info("********* Current Clusters State *********");
LOG.info(clusterDump.toString());
LOG.info("********* Reconciling Alert Definitions **********");
ambariMetaInfo.reconcileAlertDefinitions(clusters);
LOG.info("********* Initializing ActionManager **********");
ActionManager manager = injector.getInstance(ActionManager.class);
LOG.info("********* Initializing Controller **********");
AmbariManagementController controller = injector.getInstance(AmbariManagementController.class);
LOG.info("********* Initializing Scheduled Request Manager **********");
ExecutionScheduleManager executionScheduleManager = injector.getInstance(ExecutionScheduleManager.class);
MetricsService metricsService = injector.getInstance(MetricsService.class);
clusterController = controller;
StateRecoveryManager recoveryManager = injector.getInstance(StateRecoveryManager.class);
recoveryManager.doWork();
/*
* Start the server after controller state is recovered.
*/
server.start();
serverForAgent.start();
LOG.info("********* Started Server **********");
if (!configs.isViewDirectoryWatcherServiceDisabled()) {
LOG.info("Starting View Directory Watcher");
viewDirectoryWatcher.start();
}
manager.start();
LOG.info("********* Started ActionManager **********");
executionScheduleManager.start();
LOG.info("********* Started Scheduled Request Manager **********");
serviceManager.startAsync();
LOG.info("********* Started Services **********");
if (!configs.isMetricsServiceDisabled()) {
metricsService.start();
} else {
LOG.info("AmbariServer Metrics disabled.");
}
server.join();
LOG.info("Joined the Server");
} catch (BadPaddingException bpe) {
LOG.error("Bad keystore or private key password. " + "HTTPS certificate re-importing may be required.");
throw bpe;
} catch (BindException bindException) {
LOG.error("Could not bind to server port - instance may already be running. " + "Terminating this instance.", bindException);
throw bindException;
}
}Example 32
| Project: cometd-master File: CometDLoadServer.java View source code |
public void run() throws Exception {
BufferedReader console = new BufferedReader(new InputStreamReader(System.in));
int port = this.port;
if (interactive) {
System.err.printf("listen port [%d]: ", port);
String value = console.readLine().trim();
if (value.length() == 0) {
value = String.valueOf(port);
}
port = Integer.parseInt(value);
}
boolean tls = this.tls;
if (interactive) {
System.err.printf("use tls [%b]: ", tls);
String value = console.readLine().trim();
if (value.length() == 0) {
value = String.valueOf(tls);
}
tls = Boolean.parseBoolean(value);
}
int selectors = this.selectors;
if (interactive) {
System.err.printf("selectors [%d]: ", selectors);
String value = console.readLine().trim();
if (value.length() == 0) {
value = String.valueOf(selectors);
}
selectors = Integer.parseInt(value);
}
int maxThreads = this.maxThreads;
if (interactive) {
maxThreads = Integer.parseInt(System.getProperty("cometd.threads", String.valueOf(maxThreads)));
System.err.printf("max threads [%d]: ", maxThreads);
String value = console.readLine().trim();
if (value.length() == 0) {
value = String.valueOf(maxThreads);
}
maxThreads = Integer.parseInt(value);
}
bayeuxServer.addExtension(new AcknowledgedMessagesExtension());
String availableTransports = "jsrws,jettyws,http,asynchttp";
String transports = this.transports;
if (interactive) {
System.err.printf("transports (%s) [%s]: ", availableTransports, transports);
String value = console.readLine().trim();
if (value.length() == 0) {
value = transports;
}
transports = value;
}
for (String token : transports.split(",")) {
switch(token.trim()) {
case "jsrws":
bayeuxServer.addTransport(new WebSocketTransport(bayeuxServer));
break;
case "jettyws":
bayeuxServer.addTransport(new JettyWebSocketTransport(bayeuxServer));
break;
case "http":
bayeuxServer.addTransport(new JSONTransport(bayeuxServer));
break;
case "asynchttp":
bayeuxServer.addTransport(new AsyncJSONTransport(bayeuxServer));
break;
default:
throw new IllegalArgumentException("Invalid transport: " + token);
}
}
boolean statistics = this.statistics;
if (interactive) {
System.err.printf("record statistics [%b]: ", statistics);
String value = console.readLine().trim();
if (value.length() == 0) {
value = String.valueOf(statistics);
}
statistics = Boolean.parseBoolean(value);
}
boolean latencies = this.latencies;
if (interactive) {
System.err.printf("record latencies [%b]: ", latencies);
String value = console.readLine().trim();
if (value.length() == 0) {
value = String.valueOf(latencies);
}
latencies = Boolean.parseBoolean(value);
}
boolean longRequests = this.longRequests;
if (interactive) {
System.err.printf("detect long requests [%b]: ", longRequests);
String value = console.readLine().trim();
if (value.length() == 0) {
value = String.valueOf(longRequests);
}
longRequests = Boolean.parseBoolean(value);
}
jettyThreadPool.setMaxThreads(maxThreads);
// Setup JMX
MBeanContainer mbeanContainer = new MBeanContainer(ManagementFactory.getPlatformMBeanServer());
server.addBean(mbeanContainer);
SslContextFactory sslContextFactory = null;
if (tls) {
Path keyStoreFile = Paths.get("src/main/resources/keystore.jks");
if (Files.exists(keyStoreFile)) {
throw new FileNotFoundException(keyStoreFile.toString());
}
sslContextFactory = new SslContextFactory();
sslContextFactory.setKeyStorePath(keyStoreFile.toString());
sslContextFactory.setKeyStorePassword("storepwd");
sslContextFactory.setKeyManagerPassword("keypwd");
}
HttpConfiguration httpConfiguration = new HttpConfiguration();
httpConfiguration.setDelayDispatchUntilContent(true);
HttpConnectionFactory httpConnectionFactory = new HttpConnectionFactory(httpConfiguration);
ConnectionFactory[] factories = AbstractConnectionFactory.getFactories(sslContextFactory, httpConnectionFactory);
ServerConnector connector = new ServerConnector(server, null, null, null, 1, selectors, factories);
// Make sure the OS is configured properly for load testing;
// see http://cometd.org/documentation/howtos/loadtesting
connector.setAcceptQueueSize(2048);
// Make sure the server timeout on a TCP connection is large
connector.setIdleTimeout(50 * Config.MAX_NETWORK_DELAY);
connector.setPort(port);
server.addConnector(connector);
HandlerWrapper handler = server;
if (latencies) {
requestLatencyHandler = new RequestLatencyHandler();
handler.setHandler(requestLatencyHandler);
handler = requestLatencyHandler;
}
if (longRequests) {
RequestQoSHandler requestQoSHandler = new RequestQoSHandler();
handler.setHandler(requestQoSHandler);
handler = requestQoSHandler;
}
if (statistics) {
statisticsHandler = new StatisticsHandler();
handler.setHandler(statisticsHandler);
handler = statisticsHandler;
}
// Add more handlers if needed
ServletContextHandler context = new ServletContextHandler(handler, Config.CONTEXT_PATH, ServletContextHandler.SESSIONS);
context.setAttribute(BayeuxServer.ATTRIBUTE, bayeuxServer);
context.setInitParameter(ServletContextHandler.MANAGED_ATTRIBUTES, BayeuxServer.ATTRIBUTE);
WebSocketServerContainerInitializer.configureContext(context);
// Setup default servlet to serve static files
context.addServlet(DefaultServlet.class, "/");
// Setup comet servlet
String cometdURLMapping = Config.SERVLET_PATH + "/*";
CometDServlet cometServlet = new CometDServlet();
ServletHolder cometdServletHolder = new ServletHolder(cometServlet);
context.addServlet(cometdServletHolder, cometdURLMapping);
// Make sure the expiration timeout is large to avoid clients to timeout
// This value must be several times larger than the client value
// (e.g. 60 s on server vs 5 s on client) so that it's guaranteed that
// it will be the client to dispose idle connections.
bayeuxServer.setOption(AbstractServerTransport.MAX_INTERVAL_OPTION, String.valueOf(10 * Config.MAX_NETWORK_DELAY));
// Explicitly set the timeout value
bayeuxServer.setOption(AbstractServerTransport.TIMEOUT_OPTION, String.valueOf(Config.META_CONNECT_TIMEOUT));
// Use the faster JSON parser/generator
bayeuxServer.setOption(AbstractServerTransport.JSON_CONTEXT_OPTION, JacksonJSONContextServer.class.getName());
bayeuxServer.setOption("ws.cometdURLMapping", cometdURLMapping);
bayeuxServer.setOption(ServletContext.class.getName(), context.getServletContext());
server.start();
new StatisticsService(this);
}Example 33
| Project: cryson-master File: JettySpringHelper.java View source code |
public void addFileServlet(ServletContextHandler context, String pathSpec, String fileRootPath) {
ServletHolder servletHolder = new ServletHolder(DefaultServlet.class);
servletHolder.setInitParameter("resourceBase", fileRootPath);
servletHolder.setInitParameter("aliases", "true");
context.addAliasCheck(new AllowSymLinkAliasChecker());
context.addServlet(servletHolder, pathSpec);
}Example 34
| Project: gwtquery-master File: AjaxTestJre.java View source code |
public static Server createWebServer(final int port, final String resourceBase, final String[] classpath, final Map<String, Class<? extends Servlet>> servlets, final HandlerWrapper handler) throws Exception {
final Server server = new Server(port);
final WebAppContext context = new WebAppContext();
context.setContextPath("/");
context.setResourceBase(resourceBase);
if (servlets != null) {
for (final Map.Entry<String, Class<? extends Servlet>> entry : servlets.entrySet()) {
final String pathSpec = entry.getKey();
final Class<? extends Servlet> servlet = entry.getValue();
context.addServlet(servlet, pathSpec);
// disable defaults if someone likes to register his own root servlet
if ("/".equals(pathSpec)) {
context.setDefaultsDescriptor(null);
context.addServlet(DefaultServlet.class, "/favicon.ico");
}
}
}
final WebAppClassLoader loader = new WebAppClassLoader(context);
if (classpath != null) {
for (final String path : classpath) {
loader.addClassPath(path);
}
}
context.setClassLoader(loader);
if (handler != null) {
handler.setHandler(context);
server.setHandler(handler);
} else {
server.setHandler(context);
}
server.start();
return server;
}Example 35
| Project: jenkinsmobi-api-master File: GuiceServer.java View source code |
private Server getJettyServer(final Injector servletInjector) {
Server jettyServer = new Server(jettyServerPort);
final ServletContextHandler app = new ServletContextHandler();
GuiceFilter filter = servletInjector.getInstance(GuiceFilter.class);
app.addFilter(new FilterHolder(filter), "/*", EnumSet.of(DispatcherType.REQUEST, DispatcherType.ASYNC));
app.addEventListener(new GuiceServletContextListener() {
@Override
protected Injector getInjector() {
return servletInjector;
}
});
// This servlet is never used but apparently Jetty requires at least one Servlet to run
final ServletHolder ds = app.addServlet(DefaultServlet.class, "/");
ds.setInitParameter("dirAllowed", "false");
ds.setInitParameter("redirectWelcome", "false");
ds.setInitParameter("useFileMappedBuffer", "false");
ds.setInitParameter("gzip", "true");
app.setSecurityHandler(getConfiguredSecurityHandler(app));
jettyServer.setHandler(app);
return jettyServer;
}Example 36
| Project: Nicobar-master File: ExplorerAppTest.java View source code |
@BeforeClass
public void init() throws Exception {
System.setProperty("archaius.deployment.applicationId", "scriptmanager-app");
System.setProperty("archaius.deployment.environment", "dev");
server = new Server(TEST_LOCAL_PORT);
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/");
context.addEventListener(new KaryonGuiceContextListener());
context.addFilter(GuiceFilter.class, "/*", 1);
context.addServlet(DefaultServlet.class, "/");
server.setHandler(context);
server.start();
}Example 37
| Project: ning-service-skeleton-master File: HttpServer.java View source code |
private ServletContextHandler createServletContextHandler(final String resourceBase, final Iterable<EventListener> eventListeners, final Map<FilterHolder, String> filterHolders) {
final ServletContextHandler context = new ServletContextHandler(server, "/", ServletContextHandler.NO_SESSIONS);
context.setContextPath("/");
if (resourceBase != null) {
// Required if you want a webapp directory. See ContextHandler#getResource and http://docs.codehaus.org/display/JETTY/Embedding+Jetty
final String webapp = this.getClass().getClassLoader().getResource(resourceBase).toExternalForm();
context.setResourceBase(webapp);
}
// Jersey insists on using java.util.logging (JUL)
final EventListener listener = new SetupJULBridge();
context.addEventListener(listener);
for (final EventListener eventListener : eventListeners) {
context.addEventListener(eventListener);
}
for (final FilterHolder filterHolder : filterHolders.keySet()) {
context.addFilter(filterHolder, filterHolders.get(filterHolder), EnumSet.of(DispatcherType.REQUEST, DispatcherType.ASYNC));
}
// Make sure Guice filter all requests
final FilterHolder filterHolder = new FilterHolder(GuiceFilter.class);
context.addFilter(filterHolder, "/*", EnumSet.of(DispatcherType.REQUEST, DispatcherType.ASYNC));
// Backend servlet for Guice - never used
final ServletHolder sh = new ServletHolder(DefaultServlet.class);
context.addServlet(sh, "/*");
return context;
}Example 38
| Project: Socket.IO-Java-master File: GWTChatServer.java View source code |
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
String war_dir = "./war";
String host = "localhost";
int port = 8080;
if (args.length > 0) {
war_dir = args[0];
}
if (args.length > 1) {
host = args[1];
}
if (args.length > 2) {
port = Integer.parseInt(args[2]);
}
Server server = new Server();
SelectChannelConnector connector = new SelectChannelConnector();
connector.setHost(host);
connector.setPort(port);
server.addConnector(connector);
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setResourceBase(war_dir);
ServletHolder holder = new ServletHolder(new GWTChatSocketServlet());
holder.setInitParameter(FlashSocketTransport.FLASHPOLICY_SERVER_HOST_KEY, host);
holder.setInitParameter(FlashSocketTransport.FLASHPOLICY_DOMAIN_KEY, host);
holder.setInitParameter(FlashSocketTransport.FLASHPOLICY_PORTS_KEY, "" + port);
context.addServlet(holder, "/socket.io/*");
context.addServlet(new ServletHolder(new StaticServlet()), "/gwtchat.html");
ServletHolder defaultServlet = new ServletHolder(new DefaultServlet());
context.addServlet(defaultServlet, "/com.glines.socketio.examples.gwtchat.GWTChat/*");
server.setHandler(context);
server.start();
}Example 39
| Project: suro-master File: StatusServer.java View source code |
@Override
public void run() {
Server server = new Server(config.getStatusServerPort());
log.info("Starting status server on " + config.getStatusServerPort());
// Create a servlet context and add the jersey servlet.
ServletContextHandler sch = new ServletContextHandler(server, "/");
// Add our Guice listener that includes our bindings
sch.addEventListener(new GuiceServletContextListener() {
@Override
protected Injector getInjector() {
return injector;
}
});
// Then add GuiceFilter and configure the server to
// reroute all requests through this filter.
sch.addFilter(GuiceFilter.class, "/*", null);
// Must add DefaultServlet for embedded Jetty.
// Failing to do this will cause 404 errors.
// This is not needed if web.xml is used instead.
sch.addServlet(DefaultServlet.class, "/");
// Start the server
try {
server.start();
startLatch.countDown();
server.join();
} catch (InterruptedException ie) {
log.info("Interrupted to shutdown status server:");
} catch (Exception e) {
log.error("Failed to start status server", e);
} finally {
try {
server.stop();
log.info("StatusServer was shutdown");
} catch (Exception e) {
log.error("Failed to join status server", e);
}
}
}Example 40
| Project: the-core-java-master File: CoreServices.java View source code |
private static Server configureServer() {
Server server = new Server();
Connector connector = new SelectChannelConnector();
connector.setHost("0.0.0.0");
connector.setPort(8090);
server.setConnectors(new Connector[] { connector });
ServletContextHandler contextHandler = new ServletContextHandler(server, "/", ServletContextHandler.NO_SESSIONS);
contextHandler.addFilter(GuiceFilter.class, "/*", 0);
contextHandler.addEventListener(new GuiceServletConfig());
contextHandler.addServlet(DefaultServlet.class, "/");
server.setThreadPool(new ExecutorThreadPool());
return server;
}Example 41
| Project: yadarts-desktop-master File: YadartsDesktopMain.java View source code |
private static void startJetty() throws Exception {
// server = new Server(8081);
//
// ServletContextHandler sch = new ServletContextHandler(server, "/");
//
// sch.addEventListener(new BaseServletListener());
//
// sch.addFilter(GuiceFilter.class, "/*", null);
// // Must add DefaultServlet for embedded Jetty.
// // Failing to do this will cause 404 errors.
// // This is not needed if web.xml is used instead.
// sch.addServlet(DefaultServlet.class, "/");
//
// sch.addFilter(GuiceFilter.class, "/*", null);
// // Start the server
// server.start();
// server.join();
}Example 42
| Project: AisAbnormal-master File: WebServer.java View source code |
public void start() throws Exception {
((ServerConnector) server.getConnectors()[0]).setReuseAddress(true);
// Root context
context.setContextPath("/abnormal");
// Setup static content
context.setResourceBase("src/main/webapp/");
context.addServlet(DefaultServlet.class, "/");
// Enable Jersey debug output
context.setInitParameter("com.sun.jersey.config.statistic.Trace", "true");
// Enable CORS - cross origin resource sharing
FilterHolder cors = new FilterHolder();
cors.setInitParameter("allowedOrigins", "https?://localhost:*, https?://*.e-navigation.net:*");
cors.setInitParameter("allowedHeaders", "*");
cors.setInitParameter("allowedMethods", "OPTIONS,GET,PUT,POST,DELETE,HEAD");
cors.setFilter(new CrossOriginFilter());
context.addFilter(cors, "*", EnumSet.of(DispatcherType.REQUEST, DispatcherType.ASYNC, DispatcherType.INCLUDE));
// Little hack to satisfy OpenLayers URLs in DMA context
RewritePatternRule openlayersRewriteRule = new RewritePatternRule();
openlayersRewriteRule.setPattern("/abnormal/theme/*");
openlayersRewriteRule.setReplacement("/abnormal/js/theme/");
RewriteHandler rewrite = new RewriteHandler();
rewrite.setRewriteRequestURI(true);
rewrite.setRewritePathInfo(false);
rewrite.setOriginalPathAttribute("requestedPath");
rewrite.addRule(openlayersRewriteRule);
rewrite.setHandler(context);
server.setHandler(rewrite);
// Setup Guice-Jersey integration
context.addEventListener(new GuiceServletContextListener() {
@Override
protected Injector getInjector() {
return Guice.createInjector(new RestModule(repositoryName, pathToEventDatabase, eventRepositoryType, eventDataDbHost, eventDataDbPort, eventDataDbName, eventDataDbUsername, eventDataDbPassword));
}
});
context.addFilter(com.google.inject.servlet.GuiceFilter.class, "/rest/*", EnumSet.allOf(DispatcherType.class));
// Start the server
server.start();
}Example 43
| Project: archiva-master File: AbstractRepositoryServletProxiedTestCase.java View source code |
protected RemoteRepoInfo createServer(String id) throws Exception {
RemoteRepoInfo repo = new RemoteRepoInfo();
repo.id = id;
repo.context = "/" + id;
repo.root = repoRootInternali.getRoot();
// Remove exising root contents.
if (repo.root.exists()) {
FileUtils.deleteDirectory(repo.root);
}
// Establish root directory.
if (!repo.root.exists()) {
repo.root.mkdirs();
}
repo.server = new Server(0);
ContextHandlerCollection contexts = new ContextHandlerCollection();
repo.server.setHandler(contexts);
ServletContextHandler context = new ServletContextHandler();
context.setContextPath(repo.context);
context.setResourceBase(repo.root.getAbsolutePath());
context.setAttribute("dirAllowed", true);
context.setAttribute("maxCacheSize", 0);
ServletHolder sh = new ServletHolder(DefaultServlet.class);
context.addServlet(sh, "/");
contexts.addHandler(context);
repo.server.start();
int port = repo.server.getConnectors()[0].getLocalPort();
repo.url = "http://localhost:" + port + repo.context;
log.info("Remote HTTP Server started on {}", repo.url);
repo.config = createRemoteRepository(repo.id, "Testable [" + repo.id + "] Remote Repo", repo.url);
return repo;
}Example 44
| Project: aurora-master File: JettyServerModule.java View source code |
@Override
protected void configureServlets() {
bind(HttpStatsFilter.class).in(Singleton.class);
filter("*").through(HttpStatsFilter.class);
bind(LeaderRedirectFilter.class).in(Singleton.class);
filterRegex(allOf(LEADER_ENDPOINTS)).through(LeaderRedirectFilter.class);
bind(GuiceContainer.class).in(Singleton.class);
filterRegex(allOf(ImmutableSet.copyOf(JAX_RS_ENDPOINTS.values()))).through(GuiceContainer.class, GUICE_CONTAINER_PARAMS);
filterRegex("/assets/scheduler(?:/.*)?").through(LeaderRedirectFilter.class);
serve("/assets", "/assets/*").with(new DefaultServlet(), ImmutableMap.of("resourceBase", STATIC_ASSETS_ROOT, "dirAllowed", "false"));
for (Class<?> jaxRsHandler : JAX_RS_ENDPOINTS.keySet()) {
bind(jaxRsHandler);
}
}Example 45
| Project: californium.tools-master File: PolyfillProxy.java View source code |
public static void main(String[] args) {
Server server = new Server();
ServerConnector connector = new ServerConnector(server);
connector.setPort(8080);
server.addConnector(connector);
// Setup the basic application "context" for this application at "/"
// This is also known as the handler tree (in jetty speak)
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.NO_SESSIONS);
context.setContextPath("/");
server.setHandler(context);
context.addServlet(CoapRequestServlet.class, "/request");
// add special pathspec of "/home/" content mapped to the homePath
ServletHolder holderHome = new ServletHolder("static-home", DefaultServlet.class);
//... contains: helloWorld.html, login.html, etc. and folder: other/xxx.html
String baseStr = "/webapp";
URL baseUrl = PolyfillProxy.class.getResource(baseStr);
String basePath = baseUrl.toExternalForm();
holderHome.setInitParameter("resourceBase", basePath);
holderHome.setInitParameter("dirAllowed", "false");
holderHome.setInitParameter("pathInfoOnly", "true");
context.addServlet(holderHome, "/*");
try {
// Initialize javax.websocket layer
ServerContainer wscontainer = WebSocketServerContainerInitializer.configureContext(context);
// Add WebSocket endpoint to javax.websocket layer
wscontainer.addEndpoint(ObserveSocket.class);
server.start();
server.dump(System.err);
server.join();
} catch (Throwable t) {
t.printStackTrace(System.err);
}
}Example 46
| Project: elastic-job-master File: RestfulServer.java View source code |
/**
* �动内嵌的RESTful�务器.
*
* @param packages RESTful实现类所在包
* @param resourcePath 资�路径
* @param servletPath servlet路径
* @throws Exception �动�务器异常
*/
public void start(final String packages, final Optional<String> resourcePath, final Optional<String> servletPath) throws Exception {
log.info("Elastic Job: Start RESTful server");
HandlerList handlers = new HandlerList();
if (resourcePath.isPresent()) {
servletContextHandler.setBaseResource(Resource.newClassPathResource(resourcePath.get()));
servletContextHandler.addServlet(new ServletHolder(DefaultServlet.class), "/*");
}
String servletPathStr = (servletPath.isPresent() ? servletPath.get() : "") + "/*";
servletContextHandler.addServlet(getServletHolder(packages), servletPathStr);
handlers.addHandler(servletContextHandler);
server.setHandler(handlers);
server.start();
}Example 47
| Project: freedomotic-master File: RestJettyServer.java View source code |
public void startServer() throws Exception {
webServer = new Server();
LOG.info("Starting RestAPI Server...");
/**
* TODO WHEN MOVING TO JETTY 9 refactor connectors code and add spdy
* support
* http://download.eclipse.org/jetty/stable-9/xref/org/eclipse/jetty/embedded/SpdyConnector.html
*
*/
if (!master.configuration.getBooleanProperty("enable-ssl", false)) {
SelectChannelConnector selectChannelConnector = new SelectChannelConnector();
selectChannelConnector.setPort(master.configuration.getIntProperty("http-port", 9111));
webServer.addConnector(selectChannelConnector);
} else {
SslContextFactory sslContextFactory = new SslContextFactory();
sslContextFactory.setKeyStorePassword(master.configuration.getStringProperty("KEYSTORE_SERVER_PWD", "freedomotic"));
KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
keyStore.load(new FileInputStream(master.getFile().getParent() + "/data/" + master.configuration.getStringProperty("KEYSTORE_SERVER_FILE", "keystore_server")), master.configuration.getStringProperty("KEYSTORE_SERVER_PWD", "freedomotic").toCharArray());
sslContextFactory.setKeyStore(keyStore);
SslSelectChannelConnector sslSelectChannelConnector = new SslSelectChannelConnector(sslContextFactory);
sslSelectChannelConnector.setPort(master.configuration.getIntProperty("https-port", 9113));
webServer.addConnector(sslSelectChannelConnector);
}
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/");
// atmpsphere servlet
ServletHolder atmosphereServletHolder = new ServletHolder(AtmosphereServlet.class);
atmosphereServletHolder.setInitParameter("jersey.config.server.provider.packages", RestAPIv3.ATMOSPHRE_RESOURCE_PKG);
atmosphereServletHolder.setInitParameter("org.atmosphere.websocket.messageContentType", "application/json");
atmosphereServletHolder.setInitParameter("org.atmosphere.cpr.AtmosphereInterceptor", "org.atmosphere.interceptor.ShiroInterceptor");
// atmosphereServletHolder.setInitParameter("org.atmosphere.cpr.broadcasterClass", "org.atmosphere.jersey.JerseyBroadcaster");
atmosphereServletHolder.setAsyncSupported(true);
atmosphereServletHolder.setInitParameter("org.atmosphere.useWebSocket", "true");
atmosphereServletHolder.setInitOrder(2);
context.addServlet(atmosphereServletHolder, "/" + API_VERSION + "/ws/*");
// jersey servlet
ServletHolder jerseyServletHolder = new ServletHolder(ServletContainer.class);
jerseyServletHolder.setInitParameter("javax.ws.rs.Application", JerseyApplication.class.getCanonicalName());
jerseyServletHolder.setInitParameter("jersey.config.server.wadl.disableWadl", "true");
jerseyServletHolder.setInitOrder(1);
context.addServlet(jerseyServletHolder, "/" + API_VERSION + "/*");
// cors filter
if (master.configuration.getBooleanProperty("enable-cors", false)) {
FilterHolder corsFilterHolder = new FilterHolder(CrossOriginFilter.class);
corsFilterHolder.setInitParameter("allowedOrigins", master.configuration.getStringProperty("Access-Control-Allow-Origin", "*"));
corsFilterHolder.setInitParameter("allowedMethods", master.configuration.getStringProperty("Access-Control-Allow-Methods", "GET,PUT,HEAD,POST,DELETE"));
corsFilterHolder.setInitParameter("allowedHeaders", master.configuration.getStringProperty("Access-Control-Allow-Headers", "Accept,Accept-Version,Authorization,Content-Length,Content-MD5,Content-Type,Date," + "Origin,X-Access-Token,X-Api-Version,X-CSRF-Token,X-File-Name,X-Requested-With"));
corsFilterHolder.setInitParameter("allowCredentials", "true");
context.addFilter(corsFilterHolder, "/*", null);
}
// shiro filter
if (master.getApi().getAuth().isInited()) {
context.addEventListener(new ShiroListener());
context.addFilter(ShiroFilter.class, "/*", null);
}
// guice filter
context.addEventListener(guiceServletConfig);
context.addFilter(GuiceFilter.class, "/*", null);
//static files handler
String staticDir = master.configuration.getStringProperty("serve-static", "swagger");
context.setResourceBase(new File(master.getFile().getParent() + "/data/" + staticDir + "/").getAbsolutePath());
context.addServlet(DefaultServlet.class, "/*");
// serve resource files (images and so on)
ServletHolder resHolder = new ServletHolder("static-home", DefaultServlet.class);
resHolder.setInitParameter("resourceBase", Info.PATHS.PATH_RESOURCES_FOLDER.getAbsolutePath());
resHolder.setInitParameter("dirAllowed", "true");
resHolder.setInitParameter("pathInfoOnly", "true");
context.addServlet(resHolder, "/res/*");
HandlerList handlers = new HandlerList();
handlers.addHandler(context);
handlers.addHandler(new DefaultHandler());
webServer.setHandler(handlers);
webServer.start();
LOG.info("Started RestAPI Server");
}Example 48
| Project: hyracks-master File: WebServer.java View source code |
private Handler createAdminConsoleHandler() {
FilterHolder filter = new FilterHolder(WicketFilter.class);
filter.setInitParameter(ContextParamWebApplicationFactory.APP_CLASS_PARAM, HyracksAdminConsoleApplication.class.getName());
filter.setInitParameter(WicketFilter.FILTER_MAPPING_PARAM, "/*");
filter.setInitParameter(Application.CONFIGURATION, RuntimeConfigurationType.DEPLOYMENT.toString());
ServletContextHandler handler = new ServletContextHandler(ServletContextHandler.SESSIONS);
handler.setContextPath("/adminconsole");
handler.setAttribute(ClusterControllerService.class.getName(), ccs);
handler.addFilter(filter, "/*", EnumSet.of(DispatcherType.REQUEST, DispatcherType.ERROR));
handler.addServlet(DefaultServlet.class, "/");
return handler;
}Example 49
| Project: incubator-asterixdb-hyracks-master File: WebServer.java View source code |
private Handler createAdminConsoleHandler() {
FilterHolder filter = new FilterHolder(WicketFilter.class);
filter.setInitParameter(ContextParamWebApplicationFactory.APP_CLASS_PARAM, HyracksAdminConsoleApplication.class.getName());
filter.setInitParameter(WicketFilter.FILTER_MAPPING_PARAM, "/*");
filter.setInitParameter(Application.CONFIGURATION, RuntimeConfigurationType.DEPLOYMENT.toString());
ServletContextHandler handler = new ServletContextHandler(ServletContextHandler.SESSIONS);
handler.setContextPath("/adminconsole");
handler.setAttribute(ClusterControllerService.class.getName(), ccs);
handler.addFilter(filter, "/*", EnumSet.of(DispatcherType.REQUEST, DispatcherType.ERROR));
handler.addServlet(DefaultServlet.class, "/");
return handler;
}Example 50
| Project: incubator-asterixdb-master File: WebServer.java View source code |
private Handler createAdminConsoleHandler() {
FilterHolder filter = new FilterHolder(WicketFilter.class);
filter.setInitParameter(ContextParamWebApplicationFactory.APP_CLASS_PARAM, HyracksAdminConsoleApplication.class.getName());
filter.setInitParameter(WicketFilter.FILTER_MAPPING_PARAM, "/*");
filter.setInitParameter(Application.CONFIGURATION, RuntimeConfigurationType.DEPLOYMENT.toString());
ServletContextHandler handler = new ServletContextHandler(ServletContextHandler.SESSIONS);
handler.setContextPath("/adminconsole");
handler.setAttribute(ClusterControllerService.class.getName(), ccs);
handler.addFilter(filter, "/*", EnumSet.of(DispatcherType.REQUEST, DispatcherType.ERROR));
handler.addServlet(DefaultServlet.class, "/");
return handler;
}Example 51
| Project: jetty-project-master File: Main.java View source code |
public static void main(String[] args) throws Exception {
Map<String, Object> arguments = parse(args);
int port = 8080;
if (arguments.containsKey(PORT_ARG))
port = (Integer) arguments.get(PORT_ARG);
String resources = null;
if (arguments.containsKey(RESOURCES_ARG))
resources = (String) arguments.get(RESOURCES_ARG);
TargetIdRetriever retriever = null;
if (arguments.containsKey(RETRIEVER_ARG))
retriever = (TargetIdRetriever) arguments.get(RETRIEVER_ARG);
GatewayServer server = new GatewayServer();
Connector connector = new SelectChannelConnector();
connector.setPort(port);
server.addConnector(connector);
if (resources != null) {
server.getContext().setResourceBase(resources);
ServletHolder resourcesServletHolder = server.getContext().addServlet(DefaultServlet.class, "__r/*");
resourcesServletHolder.setInitParameter("dirAllowed", "true");
}
if (retriever != null)
server.setTargetIdRetriever(retriever);
server.start();
}Example 52
| Project: jgit-master File: HttpClientTests.java View source code |
private ServletContextHandler dumb(final String path) {
final File srcGit = remoteRepository.getRepository().getDirectory();
final URI base = srcGit.getParentFile().toURI();
ServletContextHandler ctx = server.addContext(path);
ctx.setResourceBase(base.toString());
ServletHolder holder = ctx.addServlet(DefaultServlet.class, "/");
// The tmp directory is symlinked on OS X
holder.setInitParameter("aliases", "true");
return ctx;
}Example 53
| Project: jolivia-master File: StandaloneDACPTest.java View source code |
public static void main(final String[] args) throws Exception {
System.setProperty("java.net.preferIPv4Stack", "true");
System.setProperty("java.net.preferIPv6Addresses", "false");
final Integer pairingCode = 7666;
final Integer hostingPort = 4321;
final String DB_NAME = "someDBName";
final String name = "myName";
final IClientSessionListener clientSessionListener = new IClientSessionListener() {
@Override
public void tearDownSession(final String server, final int port) {
// TODO Auto-generated method stub
}
@Override
public void registerNewSession(final Session session) throws Exception {
// TODO Auto-generated method stub
System.out.println("New session started: " + session);
}
};
final Injector injector = Guice.createInjector(new JerseyServletModule() {
@Override
protected void configureServlets() {
bind(String.class).annotatedWith(Names.named(Util.APPLICATION_NAME)).toInstance(name);
bind(Integer.class).annotatedWith(Names.named(TouchRemoteResource.DACP_CLIENT_PAIRING_CODE)).toInstance(pairingCode);
bind(Integer.class).annotatedWith(Names.named(TouchRemoteResource.DACP_CLIENT_PORT_NAME)).toInstance(hostingPort);
bind(Integer.class).annotatedWith(Names.named(TouchAbleServerResource.DACP_SERVER_PORT_NAME)).toInstance(hostingPort);
bind(Integer.class).annotatedWith(Names.named(UnpairedRemoteCrawler.SERVICE_PORT_NAME)).toInstance(hostingPort);
bind(IZeroconfManager.class).toInstance(new ZeroconfManagerImpl());
bind(String.class).annotatedWith(Names.named(PairingDatabase.NAME_OF_DB)).toInstance(DB_NAME);
bind(IPairingDatabase.class).to(PairingDatabase.class).asEagerSingleton();
bind(PairedRemoteDiscoverer.class).asEagerSingleton();
// bind(UnpairedRemoteCrawler.class).asEagerSingleton();
bind(ITouchRemoteResource.class).to(TouchRemoteResource.class);
bind(ITouchAbleServerResource.class).to(TouchAbleServerResource.class);
bind(IClientSessionListener.class).toInstance(clientSessionListener);
bind(SomeJerseyServlet.class).asEagerSingleton();
bind(CustomByteArrayProvider.class);
filter("*").through(ProxyFilter.class);
serve("/*").with(GuiceContainer.class);
}
});
final Server server = new Server(hostingPort);
final Connector dmapConnector = new DmapConnector();
dmapConnector.setPort(hostingPort);
server.setConnectors(new Connector[] { dmapConnector });
final ServletContextHandler sch = new ServletContextHandler(server, "/");
sch.addEventListener(new GuiceServletContextListener() {
@Override
protected Injector getInjector() {
return injector;
}
});
sch.addFilter(GuiceFilter.class, "/*", EnumSet.of(DispatcherType.REQUEST));
sch.addServlet(DefaultServlet.class, "/");
server.start();
System.out.println("");
}Example 54
| Project: palava-servlet-jetty-master File: Jetty.java View source code |
@Override
public void initialize() throws LifecycleException {
if (port < 0) {
jetty = new Server();
} else {
jetty = new Server(port);
}
final ContextHandlerCollection contexts = new ContextHandlerCollection();
jetty.setHandler(contexts);
new ServletContextHandler(contexts, "/", ServletContextHandler.SESSIONS);
final List<Handler> handlers = Lists.newArrayList();
if (webapps.isEmpty()) {
LOG.info("No programmatically added webapp to configure.");
} else {
for (Webapp webapp : webapps) {
LOG.info("Adding webapp {}", webapp);
final ServletContextHandler handler = new ServletContextHandler(contexts, webapp.getContext(), ServletContextHandler.SESSIONS);
// add guice servlet filter
// http://code.google.com/p/google-guice/wiki/ServletModule
handler.addFilter(GuiceFilter.class, "/*", 0);
handler.setResourceBase(webapp.getLocation());
handler.addServlet(DefaultServlet.class, "/");
handlers.add(handler);
}
}
contexts.setHandlers(handlers.toArray(new Handler[handlers.size()]));
// configure with jetty.xml
if (config == null) {
LOG.info("No configuration file given to load.");
} else {
try {
LOG.info("Loading configuration {}", config);
new XmlConfiguration(config).configure(jetty);
/* CHECKSTYLE:OFF */
} catch (Exception e) {
throw new LifecycleException(e);
}
}
try {
jetty.start();
/* CHECKSTYLE:OFF */
} catch (Exception e) {
throw new LifecycleException(e);
}
}Example 55
| Project: blade-master File: EmbedJettyServer.java View source code |
@Override
public void startup(int port, String contextPath, String webRoot) throws EmbedServerException {
this.port = port;
Config config = Blade.$().config();
int minThreads = config.getInt("server.jetty.min-threads", 8);
int maxThreads = config.getInt("server.jetty.max-threads", 200);
String poolName = config.get("server.jetty.pool-name", "blade-pool");
// Setup Threadpool
QueuedThreadPool threadPool = new QueuedThreadPool();
threadPool.setMinThreads(minThreads);
threadPool.setMaxThreads(maxThreads);
threadPool.setName(poolName);
this.server = new org.eclipse.jetty.server.Server(threadPool);
this.webAppContext = new WebAppContext();
this.webAppContext.setContextPath(contextPath);
this.webAppContext.setResourceBase("");
int securePort = config.getInt("server.jetty.http.secure-port", 9443);
int outputBufferSize = config.getInt("server.jetty.http.output-buffersize", 32 * 1024);
int requestHeaderSize = config.getInt("server.jetty.http.request-headersize", 8 * 1024);
int responseHeaderSize = config.getInt("server.jetty.http.response-headersize", 8 * 1024);
// HTTP Configuration
HttpConfiguration http_config = new HttpConfiguration();
http_config.setSecurePort(securePort);
http_config.setOutputBufferSize(outputBufferSize);
http_config.setRequestHeaderSize(requestHeaderSize);
http_config.setResponseHeaderSize(responseHeaderSize);
long idleTimeout = config.getLong("server.jetty.http.idle-timeout", 30000L);
String host = config.get("server.host", "0.0.0.0");
ServerConnector serverConnector = new ServerConnector(server, new HttpConnectionFactory(http_config));
serverConnector.setHost(host);
serverConnector.setPort(this.port);
serverConnector.setIdleTimeout(idleTimeout);
server.setConnectors(new Connector[] { serverConnector });
boolean isAsync = config.getBoolean("server.async", false);
Class<? extends Servlet> servlet = isAsync ? AsyncDispatcherServlet.class : DispatcherServlet.class;
ServletHolder servletHolder = new ServletHolder(servlet);
servletHolder.setAsyncSupported(isAsync);
servletHolder.setInitOrder(1);
webAppContext.addEventListener(new BladeInitListener());
Set<String> statics = Blade.$().bConfig().getStatics();
defaultHolder = new ServletHolder(DefaultServlet.class);
defaultHolder.setInitOrder(0);
if (StringKit.isNotBlank(classPath)) {
LOGGER.info("add classpath : {}", classPath);
defaultHolder.setInitParameter("resourceBase", classPath);
}
statics.forEach( s -> {
if (s.indexOf(".") != -1) {
webAppContext.addServlet(defaultHolder, s);
} else {
s = s.endsWith("/") ? s + '*' : s + "/*";
webAppContext.addServlet(defaultHolder, s);
}
});
webAppContext.addServlet(defaultHolder, "/favicon.ico");
webAppContext.addServlet(servletHolder, "/");
try {
this.loadServlets(webAppContext);
this.loadFilters(webAppContext);
HandlerList handlerList = new HandlerList();
handlerList.setHandlers(new Handler[] { webAppContext, new DefaultHandler() });
server.setHandler(handlerList);
server.setStopAtShutdown(true);
server.start();
LOGGER.info("Blade Server Listen on {}:{}", host, this.port);
server.join();
} catch (Exception e) {
throw new EmbedServerException(e);
}
}Example 56
| Project: delcyon-capo-master File: CapoJettyServer.java View source code |
@Override
public void run() {
//mostly copied from http://www.eclipse.org/jetty/documentation/current/embedding-jetty.html
// === jetty.xml ===
// Setup Threadpool
QueuedThreadPool threadPool = new QueuedThreadPool();
threadPool.setMaxThreads(500);
// Server
this.server = new Server();
// Extra options
//server.setDumpAfterStart(true);
//server.setDumpBeforeStop(true);
server.setStopAtShutdown(true);
//Handler Structure
HandlerCollection handlers = new HandlerCollection();
NCSARequestLog requestLog = new NCSARequestLog();
requestLog.setFilename("request.log");
requestLog.setFilenameDateFormat("yyyy_MM_dd");
requestLog.setRetainDays(90);
requestLog.setAppend(true);
requestLog.setExtended(true);
requestLog.setLogCookies(false);
requestLog.setLogTimeZone("GMT");
RequestLogHandler requestLogHandler = new RequestLogHandler();
requestLogHandler.setRequestLog(requestLog);
handlers.addHandler(requestLogHandler);
// === jetty-https.xml ===
// SSL Context Factory
SslContextFactory sslContextFactory = new SslContextFactory();
sslContextFactory.setKeyStore(keyStore);
sslContextFactory.setKeyStorePassword(keyStorePassowrd);
sslContextFactory.setKeyManagerPassword(keyStorePassowrd);
sslContextFactory.setTrustStore(keyStore);
sslContextFactory.setTrustStorePassword(keyStorePassowrd);
// sslContextFactory.setExcludeCipherSuites(
// "SSL_RSA_WITH_DES_CBC_SHA",
// "SSL_DHE_RSA_WITH_DES_CBC_SHA",
// "SSL_DHE_DSS_WITH_DES_CBC_SHA",
// "SSL_RSA_EXPORT_WITH_RC4_40_MD5",
// "SSL_RSA_EXPORT_WITH_DES40_CBC_SHA",
// "SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA",
// "SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA");
// SSL HTTP Configuration
HttpConfiguration https_config = new HttpConfiguration();
https_config.setSecureScheme("https");
https_config.setSecurePort(port);
https_config.setOutputBufferSize(32768);
https_config.setRequestHeaderSize(8192);
https_config.setResponseHeaderSize(8192);
https_config.setSendServerVersion(true);
https_config.setSendDateHeader(false);
https_config.addCustomizer(new SecureRequestCustomizer());
// SSL Connector
ServerConnector sslConnector = new ServerConnector(server, new SslConnectionFactory(sslContextFactory, "http/1.1"), new HttpConnectionFactory(https_config));
sslConnector.setPort(port);
server.setConnectors(new Connector[] { sslConnector });
// The WebAppContext is the entity that controls the environment in which a web application lives and
// breathes. In this example the context path is being set to "/" so it is suitable for serving root context
// requests and then we see it setting the location of the war. A whole host of other configurations are
// available, ranging from configuring to support annotation scanning in the webapp (through
// PlusConfiguration) to choosing where the webapp will unpack itself.
//"capo/server/webapp","/");
WebAppContext webapp = new WebAppContext();
webapp.setContextPath("/");
webapp.addServlet(WebResourcesServlet.class, "/wr/*");
webapp.addServlet(DefaultServlet.class, "/public/*");
webapp.addServlet(CapoWebWTServlet.class, "/*");
webapp.setResourceBase(CapoApplication.getDataManager().getResourceDirectory(PREFERENCE.WEB_DIR.toString()).getResourceURI().getResourceURIString());
webapp.getSessionHandler().getSessionManager().setMaxInactiveInterval(CapoApplication.getConfiguration().getIntValue(CapoServer.Preferences.WEB_SESSION_TIMEOUT));
webapp.addEventListener(new ServletInit());
// A WebAppContext is a ContextHandler as well so it needs to be set to the server so it is aware of where to
// send the appropriate requests.
handlers.addHandler(webapp);
try {
server.setHandler(handlers);
// Start the server
server.start();
server.join();
} catch (Exception exception) {
exception.printStackTrace();
}
}Example 57
| Project: governator-master File: JettyModule.java View source code |
@Provides
@Singleton
private Server getServer(OptionalJettyConfig optionalConfig, Set<JettyConnectorProvider> jettyConnectors) {
JettyConfig config = optionalConfig.getJettyConfig();
Server server = new Server(config.getPort());
Resource staticResourceBase = Resource.newClassPathResource(config.getStaticResourceBase());
if (staticResourceBase != null) {
// Set up a full web app since we have static content. We require the app to have its static content
// under src/main/webapp and any other static resources that are packaged into jars are expected under
// META-INF/resources.
WebAppContext webAppContext = new WebAppContext();
// We want to fail fast if we don't have any root resources defined or we have other issues starting up.
webAppContext.setThrowUnavailableOnStartupException(true);
webAppContext.addFilter(GuiceFilter.class, "/*", EnumSet.allOf(DispatcherType.class));
webAppContext.addServlet(DefaultServlet.class, "/");
webAppContext.setResourceBase(config.getWebAppResourceBase());
webAppContext.setContextPath(config.getWebAppContextPath());
webAppContext.setAttribute(WebInfConfiguration.CONTAINER_JAR_PATTERN, ".*\\.jar$");
webAppContext.setConfigurations(new Configuration[] { new WebXmlConfiguration(), new WebInfConfiguration(), new MetaInfConfiguration(), new FragmentConfiguration() });
server.setHandler(webAppContext);
} else {
// We don't have static content so just set up servlets.
ServletContextHandler servletContextHandler = new ServletContextHandler(server, config.getWebAppContextPath(), ServletContextHandler.SESSIONS);
servletContextHandler.addFilter(GuiceFilter.class, "/*", EnumSet.allOf(DispatcherType.class));
servletContextHandler.addServlet(DefaultServlet.class, "/");
servletContextHandler.setResourceBase(config.getWebAppResourceBase());
}
if (jettyConnectors != null) {
for (JettyConnectorProvider connectorProvider : jettyConnectors) {
server.addConnector(connectorProvider.getConnector(server));
}
}
return server;
}Example 58
| Project: i2p.i2p-master File: I2PDefaultServlet.java View source code |
/**
* Copied and modified from DefaultServlet.java.
* Overridden to set the Locale for the dates.
*
* Get the resource list as a HTML directory listing.
* @param base The base URL
* @param parent True if the parent directory should be included
* @return String of HTML
*/
@Override
protected void sendDirectory(HttpServletRequest request, HttpServletResponse response, Resource resource, String pathInContext) throws IOException {
if (!_dirAllowed) {
response.sendError(HttpServletResponse.SC_FORBIDDEN);
return;
}
byte[] data = null;
String base = URIUtil.addPaths(request.getRequestURI(), URIUtil.SLASH);
//If the DefaultServlet has a resource base set, use it
if (_resourceBase != null) {
// handle ResourceCollection
if (_resourceBase instanceof ResourceCollection)
resource = _resourceBase.addPath(pathInContext);
} else //Otherwise, try using the resource base of its enclosing context handler
if (_contextHandler.getBaseResource() instanceof ResourceCollection)
resource = _contextHandler.getBaseResource().addPath(pathInContext);
String dir = getListHTML(resource, base, pathInContext.length() > 1);
if (dir == null) {
response.sendError(HttpServletResponse.SC_FORBIDDEN, "No directory");
return;
}
data = dir.getBytes("UTF-8");
response.setContentType("text/html; charset=UTF-8");
response.setContentLength(data.length);
response.getOutputStream().write(data);
}Example 59
| Project: incubator-zeppelin-master File: ZeppelinServer.java View source code |
private static WebAppContext setupWebAppContext(ZeppelinConfiguration conf) {
WebAppContext webApp = new WebAppContext();
webApp.setContextPath(conf.getServerContextPath());
File warPath = new File(conf.getString(ConfVars.ZEPPELIN_WAR));
if (warPath.isDirectory()) {
// Development mode, read from FS
// webApp.setDescriptor(warPath+"/WEB-INF/web.xml");
webApp.setResourceBase(warPath.getPath());
webApp.setParentLoaderPriority(true);
} else {
// use packaged WAR
webApp.setWar(warPath.getAbsolutePath());
File warTempDirectory = new File(conf.getRelativeDir(ConfVars.ZEPPELIN_WAR_TEMPDIR));
warTempDirectory.mkdir();
LOG.info("ZeppelinServer Webapp path: {}", warTempDirectory.getPath());
webApp.setTempDirectory(warTempDirectory);
}
// Explicit bind to root
webApp.addServlet(new ServletHolder(new DefaultServlet()), "/*");
return webApp;
}Example 60
| Project: jangaroo-tools-master File: JooTestMojoBase.java View source code |
protected Server jettyRunTest(boolean tryPortRange) throws MojoExecutionException {
JettyWebAppContext handler;
try {
handler = new JettyWebAppContext();
handler.setWebInfLib(findJars());
handler.setInitParameter("org.eclipse.jetty.servlet.Default.useFileMappedBuffer", "false");
List<Resource> baseResources = new ArrayList<Resource>();
baseResources.add(toResource(new File(outputDirectory, "META-INF/resources")));
baseResources.add(toResource(testOutputDirectory));
for (org.apache.maven.model.Resource r : testResources) {
File testResourceDirectory = new File(r.getDirectory());
if (testResourceDirectory.exists()) {
baseResources.add(toResource(testResourceDirectory));
}
}
handler.setBaseResource(new ResourceCollection(baseResources.toArray(new Resource[baseResources.size()])));
getLog().info("Using base resources " + baseResources);
ServletHolder servletHolder = new ServletHolder("default", DefaultServlet.class);
servletHolder.setInitParameter("cacheControl", "no-store, no-cache, must-revalidate, max-age=0");
handler.addServlet(servletHolder, "/");
getLog().info("Set servlet cache control to 'do not cache'.");
} catch (Exception e) {
throw wrap(e);
}
return startJetty(handler, tryPortRange);
}Example 61
| Project: jersey-test-framework-jetty8-master File: JettyWebTestContainerFactory.java View source code |
private void instantiateJettyWebServer() {
String contextPathLocal;
if (contextPath != null && contextPath.length() > 0) {
if (!contextPath.startsWith("/")) {
contextPathLocal = "/" + contextPath;
} else {
contextPathLocal = contextPath;
}
} else {
contextPathLocal = "";
}
String servletPathLocal;
if (servletPath != null && servletPath.length() > 0) {
if (!servletPath.startsWith("/")) {
servletPathLocal = "/" + servletPath;
} else {
servletPathLocal = servletPath;
}
if (servletPathLocal.endsWith("/")) {
servletPathLocal += "*";
} else {
servletPathLocal += "/*";
}
} else {
servletPathLocal = "/*";
}
ServletContextHandler context = new ServletContextHandler();
context.setDisplayName("TestContext");
context.setContextPath(contextPathLocal);
if (servletClass != null) {
ServletHolder holder = new ServletHolder(servletClass.getName(), servletClass);
for (String initParamName : initParams.keySet()) {
holder.setInitParameter(initParamName, initParams.get(initParamName));
}
context.addServlet(holder, servletPathLocal);
} else {
context.addServlet(DefaultServlet.class, servletPathLocal);
// ServletHolder holder = new ServletHolder("default",
// new HttpServlet() {
// public void service() throws ServletException {
// }
// });
// context.addServlet(holder, "");
}
for (Class<? extends EventListener> eventListener : eventListeners) {
try {
context.addEventListener(eventListener.newInstance());
} catch (Exception e) {
throw new TestContainerException(e);
}
}
for (String contextParamName : contextParams.keySet()) {
context.setInitParameter(contextParamName, contextParams.get(contextParamName));
}
// Filter support
if (filters != null) {
for (WebAppDescriptor.FilterDescriptor d : this.filters) {
FilterHolder fh = new FilterHolder(d.getFilterClass());
fh.setName(d.getFilterName());
if (d.getInitParams() != null) {
fh.setInitParameters(d.getInitParams());
}
context.addFilter(fh, servletPathLocal, null);
}
}
try {
final String host = (baseUri.getHost() == null) ? "0.0.0.0" : baseUri.getHost();
final int port = (baseUri.getPort() == -1) ? 80 : baseUri.getPort();
server = new Server(new InetSocketAddress(host, port));
server.setHandler(context);
} catch (Exception ioe) {
throw new TestContainerException(ioe);
}
}Example 62
| Project: kairosdb-master File: WebServer.java View source code |
@Override
public void start() throws KairosDBException {
try {
if (m_port > 0)
m_server = new Server(new InetSocketAddress(m_address, m_port));
else
m_server = new Server();
if (m_pool != null)
m_server.setThreadPool(m_pool);
//Set up SSL
if (m_keyStorePath != null && !m_keyStorePath.isEmpty()) {
logger.info("Using SSL");
SslContextFactory sslContextFactory = new SslContextFactory(m_keyStorePath);
if (m_cipherSuites != null && m_cipherSuites.length > 0)
sslContextFactory.setIncludeCipherSuites(m_cipherSuites);
if (m_protocols != null && m_protocols.length > 0)
sslContextFactory.setIncludeProtocols(m_protocols);
sslContextFactory.setKeyStorePassword(m_keyStorePassword);
SslSelectChannelConnector selectChannelConnector = new SslSelectChannelConnector(sslContextFactory);
selectChannelConnector.setPort(m_sslPort);
m_server.addConnector(selectChannelConnector);
}
ServletContextHandler servletContextHandler = new ServletContextHandler();
//Turn on basic auth if the user was specified
if (m_authUser != null) {
servletContextHandler.setSecurityHandler(basicAuth(m_authUser, m_authPassword, "kairos"));
servletContextHandler.setContextPath("/");
}
servletContextHandler.addFilter(GuiceFilter.class, "/api/*", null);
servletContextHandler.addServlet(DefaultServlet.class, "/api/*");
ResourceHandler resourceHandler = new ResourceHandler();
resourceHandler.setDirectoriesListed(true);
resourceHandler.setWelcomeFiles(new String[] { "index.html" });
resourceHandler.setResourceBase(m_webRoot);
resourceHandler.setAliases(true);
HandlerList handlers = new HandlerList();
handlers.setHandlers(new Handler[] { servletContextHandler, resourceHandler, new DefaultHandler() });
m_server.setHandler(handlers);
m_server.start();
} catch (Exception e) {
throw new KairosDBException(e);
}
}Example 63
| Project: killbill-master File: HttpServer.java View source code |
private ServletContextHandler createServletContextHandler(final String resourceBase, final Iterable<EventListener> eventListeners, final Map<FilterHolder, String> filterHolders) {
final ServletContextHandler context = new ServletContextHandler(server, "/", ServletContextHandler.NO_SESSIONS);
context.setContextPath("/");
if (resourceBase != null) {
// Required if you want a webapp directory. See ContextHandler#getResource and http://docs.codehaus.org/display/JETTY/Embedding+Jetty
final String webapp = this.getClass().getClassLoader().getResource(resourceBase).toExternalForm();
context.setResourceBase(webapp);
}
// Jersey insists on using java.util.logging (JUL)
final EventListener listener = new JULServletContextListener();
context.addEventListener(listener);
for (final EventListener eventListener : eventListeners) {
context.addEventListener(eventListener);
}
for (final FilterHolder filterHolder : filterHolders.keySet()) {
context.addFilter(filterHolder, filterHolders.get(filterHolder), EnumSet.of(DispatcherType.REQUEST, DispatcherType.ASYNC));
}
// Make sure Guice filter all requests
final FilterHolder filterHolder = new FilterHolder(GuiceFilter.class);
context.addFilter(filterHolder, "/*", EnumSet.of(DispatcherType.REQUEST, DispatcherType.ASYNC));
// Backend servlet for Guice - never used
final ServletHolder sh = new ServletHolder(DefaultServlet.class);
context.addServlet(sh, "/*");
return context;
}Example 64
| Project: kmkt-master File: WSImageServletTest.java View source code |
/**
* @param args
*/
public static void main(String[] args) {
try {
if (args.length < 2) {
System.out.println("Image 出力サンプルサー�");
System.out.println();
System.out.println("USAGE A : WSImageServletTest [-p <port>] (duration) (jpg) (jpg) ...");
System.out.println("USAGE B : WSImageServletTest [-p <port>] (duration) (lst)");
System.out.println("port : �ート番�");
System.out.println("duration : フレーム間隔 (ms)");
System.out.println("jpg : é€?出ã?™ã‚‹JPEGファイル 複数指定時ã?¯å…ˆé ã?‹ã‚‰é †ã?«é€?出ã?•れる");
System.out.println("lst : �出�るJPEGファイル�リスト");
System.exit(-1);
}
// デフォルト値
int webport = DEFAULT_WEBPORT;
String wspath = DEFAULT_WSPATH;
// プãƒãƒ‘ティファイルèªã?¿è¾¼ã?¿
File f = new File(PROPERTY_FILE);
if (f.exists() && f.isFile()) {
System.out.println("Load from property file. : " + PROPERTY_FILE);
// Try to read property file.
Properties serverprop = new Properties();
Reader freader = null;
try {
freader = new FileReader(PROPERTY_FILE);
serverprop.load(freader);
// may
if (serverprop.containsKey("port")) {
webport = Integer.parseInt(serverprop.getProperty("port"));
}
// may
if (serverprop.containsKey("path")) {
wspath = serverprop.getProperty("path");
}
} catch (IOException e) {
System.out.println("IO error at reading property file. : " + PROPERTY_FILE);
System.exit(-1);
} finally {
if (freader != null)
freader.close();
}
}
int arg_index = 0;
// �ート指定
if (args[0].toLowerCase().equals("-p")) {
webport = Integer.parseInt(args[1]);
arg_index = 2;
}
final int duration = Integer.parseInt(args[arg_index]);
arg_index++;
// èªã?¿è¾¼ã‚€ãƒ•ァイルリストã?®ä½œæˆ?
List<String> files = new ArrayList<String>();
if (args[arg_index].toLowerCase().endsWith("jpg") || args[arg_index].toLowerCase().endsWith("jpeg")) {
for (; arg_index < args.length; arg_index++) {
files.add(args[arg_index]);
}
} else {
try {
FileReader fr = new FileReader(args[arg_index]);
BufferedReader reader = new BufferedReader(fr);
String line = null;
while ((line = reader.readLine()) != null) {
files.add(line.trim());
}
reader.close();
fr.close();
} catch (IOException e) {
System.out.println("Following IOException occurred. Ignore this file.");
e.printStackTrace();
System.exit(-1);
}
}
// ç”»åƒ?ファイルã?®èªã?¿è¾¼ã?¿
final List<byte[]> frames = new ArrayList<byte[]>(files.size());
List<String> loaded_files = new ArrayList<String>(files.size());
for (String file : files) {
System.out.print("Loading " + file + " ... ");
try {
FileInputStream fi = new FileInputStream(file);
ByteArrayOutputStream bo = new ByteArrayOutputStream();
int ch = 0;
while ((ch = fi.read()) != -1) {
bo.write(ch);
}
fi.close();
bo.close();
byte[] frame = bo.toByteArray();
if (// SOI
frame[0] == (byte) 0xff && frame[1] == (byte) 0xd8 && frame[frame.length - 2] == (byte) 0xff && frame[frame.length - 1] == (byte) 0xd9) {
// EOI
frames.add(frame);
loaded_files.add(file);
System.out.println("OK");
} else {
System.out.println("Invalid JPEG file format. Ignore this file.");
}
} catch (IOException e) {
System.out.println("Following IOException occurred. Ignore this file.");
e.printStackTrace();
}
}
if (loaded_files.size() == 0) {
System.out.println("No avaleble JPEG.");
System.exit(-1);
}
System.out.println("Duration (ms) : " + duration);
System.out.println("JPEG frames :");
int i = 0;
for (String file : loaded_files) {
System.out.printf(" %2d %s%n", i, file);
i++;
}
// init Jetty
Server server = new Server(webport);
server.setStopAtShutdown(true);
ServletContextHandler root = new ServletContextHandler(server, "/", ServletContextHandler.SESSIONS);
// set default web servlet and document root.
root.setResourceBase("./");
root.setInitParameter("org.eclipse.jetty.servlet.Default.dirAllowed", "false");
root.addServlet(DefaultServlet.class, "/*");
// MJPEG�セットアップ
final WSImageServlet servlet = new WSImageServlet();
ServletHolder wsh = new ServletHolder(servlet);
root.addServlet(wsh, wspath);
// set callback when receive JPEG frame
Thread t = new Thread(new Runnable() {
@Override
public void run() {
try {
int frame = 0;
long next_time = System.currentTimeMillis() + duration;
while (true) {
// Servlet å?´ã?§ãƒ•レームã?Œå?–り出ã?•れるã?¾ã?§ãƒ–ãƒãƒƒã‚¯
servlet.pourFrame(frames.get(frame));
long now = System.currentTimeMillis();
frame++;
if (frames.size() == frame) {
frame = 0;
}
if (now < next_time) {
// 次フレーム開始時刻��待機
Thread.sleep(next_time - now);
// 次々フレーム開始時刻
next_time += duration;
} else {
// é?…å»¶ã?—ã?Ÿã?®ã?§ã‚¦ã‚¨ã‚¤ãƒˆç„¡ã?—ã?§æ¬¡ãƒ•レーãƒ
while (next_time < now) {
next_time += duration;
}
}
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
t.setDaemon(true);
t.start();
// Jettyサー�起動
server.start();
System.out.println("Start web server at port : " + webport);
System.out.println("WebSocket path : " + wspath);
// コマンド入力待�
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
while (true) {
System.out.print("Input Command >");
String line = reader.readLine();
// ãƒ?ックグラウンド動作対ç–
if (line == null) {
Thread.sleep(1000);
continue;
}
if ("".equals(line.trim()))
continue;
String[] cmds = line.split("\\s+");
if ("bye".equals(cmds[0])) {
// bye : 終了
break;
}
}
if (server != null) {
// Jettyサーãƒ?å?œæ¢
server.stop();
server.join();
}
} catch (Exception e) {
e.printStackTrace();
}
}Example 65
| Project: musicmount-master File: MusicMountServerJetty.java View source code |
@Override
public void start(FolderContext music, FolderContext mount, int port, String user, String password) throws Exception {
ServletContextHandler mountContext = new ServletContextHandler(ServletContextHandler.NO_SESSIONS);
mountContext.setContextPath(mount.getPath());
mountContext.setSecurityHandler(user == null ? null : basicAuthentication("MusicMount", user, password));
mountContext.setBaseResource(Resource.newResource(mount.getFolder()));
mountContext.setWelcomeFiles(new String[] { "index.json" });
MimeTypes mountTypes = new MimeTypes();
mountTypes.addMimeMapping("json", MimeTypes.TEXT_JSON_UTF_8);
mountContext.setMimeTypes(mountTypes);
ServletHolder mountServlet = new ServletHolder(new DefaultServlet());
mountServlet.setInitParameter("dirAllowed", "false");
mountContext.addServlet(mountServlet, "/*");
ServletContextHandler musicContext = new ServletContextHandler(ServletContextHandler.NO_SESSIONS);
musicContext.setContextPath(music.getPath());
musicContext.setSecurityHandler(user == null ? null : basicAuthentication("MusicMount", user, password));
musicContext.setBaseResource(Resource.newResource(music.getFolder()));
MimeTypes musicTypes = new MimeTypes();
musicTypes.addMimeMapping("m4a", "audio/mp4");
musicTypes.addMimeMapping("mp3", "audio/mpeg");
musicContext.setMimeTypes(musicTypes);
ServletHolder musicServlet = new ServletHolder(new DefaultServlet());
musicServlet.setInitParameter("dirAllowed", "false");
musicContext.addServlet(musicServlet, "/*");
GzipHandler gzipMountContext = new GzipHandler();
gzipMountContext.setMimeTypes(MimeTypes.TEXT_JSON);
gzipMountContext.setHandler(mountContext);
ContextHandlerCollection contexHandlers = new ContextHandlerCollection();
contexHandlers.setHandlers(new Handler[] { gzipMountContext, musicContext });
RequestLogHandler requestLogHandler = new RequestLogHandler();
requestLogHandler.setRequestLog(new ConsoleRequestLog());
HandlerCollection handlers = new HandlerCollection();
handlers.setHandlers(new Handler[] { contexHandlers, new DefaultHandler(), requestLogHandler });
server = new Server(port);
server.setHandler(handlers);
server.setGracefulShutdown(1000);
server.setStopAtShutdown(true);
server.start();
}Example 66
| Project: mycontainer-master File: JettyServerDeployer.java View source code |
@SuppressWarnings({ "unchecked", "rawtypes" })
private void deployWebContexts() {
List<ContextWebServer> webContexts = getWebContexts();
Handler[] handlers = new Handler[webContexts.size()];
int i = 0;
for (ContextWebServer contextWebServer : webContexts) {
ServletContextHandler handler;
if (contextWebServer.getResources() != null) {
handler = new WebAppContext(contextWebServer.getResources(), contextWebServer.getContext());
} else {
handler = new ServletContextHandler(null, contextWebServer.getContext(), ServletContextHandler.SESSIONS | ServletContextHandler.SECURITY);
handler.addServlet(DefaultServlet.class, "/*");
}
handler.setAttribute(WebInfConfiguration.CONTAINER_JAR_PATTERN, ".*/.*jsp-api-[^/]*\\.jar$|.*/.*jsp-[^/]*\\.jar$|.*/.*taglibs[^/]*\\.jar$|.*/.*jstl[^/]*\\.jar$|.*/.*jsf-impl-[^/]*\\.jar$|.*/.*javax.faces-[^/]*\\.jar$|.*/.*myfaces-impl-[^/]*\\.jar$");
// performRemoveTagLibConfiguration((WebAppContext) handler);
Set<Entry<String, Object>> attrs = contextWebServer.getAttributes().entrySet();
for (Entry<String, Object> entry : attrs) {
handler.setAttribute(entry.getKey(), entry.getValue());
}
Set<Entry<String, String>> params = contextWebServer.getInitParameters().entrySet();
for (Entry<String, String> entry : params) {
handler.setInitParameter(entry.getKey(), entry.getValue());
}
configWindows(handler);
List<Object> listeners = contextWebServer.getListeners();
for (Object listener : listeners) {
if (listener instanceof String) {
listener = ReflectUtil.classForName((String) listener);
}
if (listener instanceof Class) {
listener = ReflectUtil.newInstance((Class) listener);
}
handler.addEventListener((EventListener) listener);
}
List<FilterDesc> filters = contextWebServer.getFilters();
for (FilterDesc desc : filters) {
Object filter = desc.getFilter();
if (filter instanceof Filter) {
FilterHolder holder = new FilterHolder((Filter) filter);
handler.addFilter(holder, desc.getPath(), EnumSet.of(DispatcherType.REQUEST));
} else if (filter instanceof FilterHolder) {
handler.addFilter((FilterHolder) filter, desc.getPath(), EnumSet.of(DispatcherType.REQUEST));
} else if (filter instanceof Class) {
handler.addFilter((Class) filter, desc.getPath(), EnumSet.of(DispatcherType.REQUEST));
} else {
handler.addFilter((String) filter, desc.getPath(), EnumSet.of(DispatcherType.REQUEST));
}
}
List<ServletDesc> servlets = contextWebServer.getServlets();
for (ServletDesc desc : servlets) {
Object servlet = desc.getServlet();
if (servlet instanceof HttpServlet) {
ServletHolder holder = new ServletHolder((HttpServlet) servlet);
handler.addServlet(holder, desc.getPath());
} else if (servlet instanceof ServletHolder) {
handler.addServlet((ServletHolder) servlet, desc.getPath());
} else if (servlet instanceof Class) {
handler.addServlet((Class) servlet, desc.getPath());
} else {
handler.addServlet((String) servlet, desc.getPath());
}
}
for (Decorator decorator : decorators) {
handler.addDecorator(decorator);
}
handlers[i++] = handler;
}
ContextHandlerCollection contexts = new ContextHandlerCollection();
contexts.setHandlers(handlers);
server.setHandler(contexts);
}Example 67
| Project: opencit-master File: JettyTest.java View source code |
@BeforeClass
public static void start() throws Exception {
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.NO_SESSIONS);
context.setContextPath("/");
/*
ServletHolder jerseyServlet = context.addServlet(org.glassfish.jersey.servlet.ServletContainer.class, "/api/*"); // XXX maybe move the static resources to something other than /* so i can put this at /* ?
jerseyServlet.setInitOrder(1);
jerseyServlet.setInitParameter(ServerProperties.APPLICATION_NAME, "mtwilson-api-v2"); // constant, might be seen if monitoring the server with JMX and useful for identifying threads of two or more applications running in the same container
jerseyServlet.setInitParameter(ServerProperties.PROVIDER_PACKAGES, "com.intel.mtwilson.ws.jersey,com.intel.mtwilson.ws.jersey.util,com.fasterxml.jackson.jaxrs.json,com.fasterxml.jackson.jaxrs.xml"); // XXX package names would come from plugin components and would be combined to form this property ... providers and resources found in these packages are ADDED to what is returned by getClasses() in the JerseyApplication instance
jerseyServlet.setInitParameter(ServerProperties.MEDIA_TYPE_MAPPINGS, "txt:text/plain, xml:application/xml, json:application/json, html:text/html"); // XXX need to combine mappings nominated by each plugin component , and have a rule about how to handle conflicts, or have this be an item that is controlled in central configuration where plugins can propose changes and administrator can resolve conflicts and save whatever they want here
jerseyServlet.setInitParameter(ServerProperties.LANGUAGE_MAPPINGS, "en:en, fr:fr"); // XXX this one is more standard so we can simply convert an exsiting language code list to this format, where the extension is the language code, and optionally support some country codes too like .en_US -> en-US
// optional static content
ServletHolder staticServlet = context.addServlet(DefaultServlet.class, "/*");
staticServlet.setInitParameter("resourceBase", "src/main/resources/html5");
staticServlet.setInitParameter("pathInfoOnly", "true");
*/
ServletContainer jerseyServletContainer = new org.glassfish.jersey.servlet.ServletContainer();
// XXX maybe move the static resources to something other than /* so i can put this at /* ?
ServletHolder jerseyServletHolder = new ServletHolder(jerseyServletContainer);
jerseyServletHolder.setInitOrder(1);
// constant, might be seen if monitoring the server with JMX and useful for identifying threads of two or more applications running in the same container
jerseyServletHolder.setInitParameter(ServerProperties.APPLICATION_NAME, "mtwilson-api-v2");
// XXX package names would come from plugin components and would be combined to form this property ... providers and resources found in these packages are ADDED to what is returned by getClasses() in the JerseyApplication instance
jerseyServletHolder.setInitParameter(ServerProperties.PROVIDER_PACKAGES, "com.intel.mtwilson.ws.jersey,com.intel.mtwilson.ws.jersey.util,com.fasterxml.jackson.jaxrs.json,com.fasterxml.jackson.jaxrs.xml");
// XXX need to combine mappings nominated by each plugin component , and have a rule about how to handle conflicts, or have this be an item that is controlled in central configuration where plugins can propose changes and administrator can resolve conflicts and save whatever they want here; NOTE: using text/yaml and not application/yaml as the default mapping for .yaml because browsers display text/yaml and try to download as a file application/yaml
jerseyServletHolder.setInitParameter(ServerProperties.MEDIA_TYPE_MAPPINGS, "txt:text/plain, xml:application/xml, json:application/json, html:text/html, saml:application/saml+xml, bin:application/octet-stream, yaml:text/yaml");
// XXX this one is more standard so we can simply convert an exsiting language code list to this format, where the extension is the language code, and optionally support some country codes too like .en_US -> en-US
jerseyServletHolder.setInitParameter(ServerProperties.LANGUAGE_MAPPINGS, "en:en, fr:fr");
context.addServlet(jerseyServletHolder, "/api/v2/*");
// optional static content
ServletHolder staticServletHolder = new ServletHolder(new DefaultServlet());
staticServletHolder.setInitParameter("resourceBase", "src/main/resources/html5");
staticServletHolder.setInitParameter("pathInfoOnly", "true");
context.addServlet(staticServletHolder, "/*");
server.setHandler(context);
server.start();
/*
ServletHandler handler = new ServletHandler();
// handler.set
ContextHandler context = new ContextHandler();
context.setContextPath("/");
context.setResourceBase(".");
context.setClassLoader(Thread.currentThread().getContextClassLoader()); // XXX TODO for plugin arch this is important to get the right classloader for the module...
// context.setHandler(new HelloHandler());
// server.setHandler(context);
* */
}Example 68
| Project: opensoc-streaming-master File: Main.java View source code |
public static void main(String[] args) throws Exception {
Options options = new Options();
options.addOption("homeDir", true, "Home directory for the service");
CommandLineParser parser = new GnuParser();
CommandLine cmd = parser.parse(options, args);
Properties configProps = new Properties();
String homeDir = cmd.getOptionValue("homeDir");
if (homeDir.endsWith("/")) {
homeDir = homeDir.substring(0, homeDir.length() - 1);
}
DOMConfigurator.configure(homeDir + "/log4j.xml");
logger.warn("DataServices Server starting...");
File configFile = new File(homeDir + "/config.properties");
FileReader configFileReader = new FileReader(configFile);
try {
configProps.load(configFileReader);
Option[] cmdOptions = cmd.getOptions();
for (Option opt : cmdOptions) {
String argName = opt.getOpt();
String argValue = opt.getValue();
configProps.put(argName, argValue);
}
} finally {
if (configFileReader != null) {
configFileReader.close();
}
}
WebAppContext context = new WebAppContext();
Injector injector = Guice.createInjector(new DefaultServletModule(configProps), new AlertsServerModule(configProps), new DefaultShiroWebModule(configProps, context.getServletContext()), new AbstractModule() {
@Override
protected void configure() {
binder().requireExplicitBindings();
bind(GuiceFilter.class);
bind(GuiceResteasyBootstrapServletContextListener.class);
bind(EnvironmentLoaderListener.class);
}
});
injector.getAllBindings();
injector.createChildInjector().getAllBindings();
Server server = new Server(port);
/***************************************************
*************** enable SSL ************************
***************************************************/
// HTTP Configuration
HttpConfiguration http_config = new HttpConfiguration();
http_config.setSecureScheme("https");
http_config.setSecurePort(8443);
http_config.setOutputBufferSize(32768);
http_config.setRequestHeaderSize(8192);
http_config.setResponseHeaderSize(8192);
http_config.setSendServerVersion(true);
http_config.setSendDateHeader(false);
// httpConfig.addCustomizer(new ForwardedRequestCustomizer())
// SSL Context Factory
SslContextFactory sslContextFactory = new SslContextFactory();
String sslKeystorePath = configProps.getProperty("sslKeystorePath", "/keystore");
logger.debug("sslKeystorePath: " + sslKeystorePath);
sslContextFactory.setKeyStorePath(homeDir + sslKeystorePath);
String sslKeystorePassword = configProps.getProperty("sslKeystorePassword");
sslContextFactory.setKeyStorePassword(sslKeystorePassword);
String sslKeyManagerPassword = configProps.getProperty("sslKeyManagerPassword");
if (sslKeyManagerPassword != null && !sslKeyManagerPassword.isEmpty()) {
sslContextFactory.setKeyManagerPassword(sslKeyManagerPassword);
}
String sslTruststorePath = configProps.getProperty("sslTruststorePath");
if (sslTruststorePath != null && !sslTruststorePath.isEmpty()) {
sslContextFactory.setTrustStorePath(homeDir + sslTruststorePath);
}
String sslTruststorePassword = configProps.getProperty("sslTruststorePassword");
if (sslTruststorePassword != null && !sslTruststorePassword.isEmpty()) {
sslContextFactory.setTrustStorePassword(sslTruststorePassword);
}
sslContextFactory.setExcludeCipherSuites("SSL_RSA_WITH_DES_CBC_SHA", "SSL_DHE_RSA_WITH_DES_CBC_SHA", "SSL_DHE_DSS_WITH_DES_CBC_SHA", "SSL_RSA_EXPORT_WITH_RC4_40_MD5", "SSL_RSA_EXPORT_WITH_DES40_CBC_SHA", "SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA", "SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA");
// SSL HTTP Configuration
HttpConfiguration https_config = new HttpConfiguration(http_config);
https_config.addCustomizer(new SecureRequestCustomizer());
// SSL Connector
ServerConnector sslConnector = new ServerConnector(server, new SslConnectionFactory(sslContextFactory, "http/1.1"), new HttpConnectionFactory(https_config));
sslConnector.setPort(8443);
server.addConnector(sslConnector);
FilterHolder guiceFilter = new FilterHolder(injector.getInstance(GuiceFilter.class));
/** For JSP support. Used only for testing and debugging for now. This came come out
* once the real consumers for this service are in place
*/
URL indexUri = Main.class.getResource(WEBROOT_INDEX);
if (indexUri == null) {
throw new FileNotFoundException("Unable to find resource " + WEBROOT_INDEX);
}
// Points to wherever /webroot/ (the resource) is
URI baseUri = indexUri.toURI();
// Establish Scratch directory for the servlet context (used by JSP compilation)
File tempDir = new File(System.getProperty("java.io.tmpdir"));
File scratchDir = new File(tempDir.toString(), "embedded-jetty-jsp");
if (!scratchDir.exists()) {
if (!scratchDir.mkdirs()) {
throw new IOException("Unable to create scratch directory: " + scratchDir);
}
}
// Set JSP to use Standard JavaC always
System.setProperty("org.apache.jasper.compiler.disablejsr199", "false");
context.setAttribute("javax.servlet.context.tempdir", scratchDir);
context.setAttribute(InstanceManager.class.getName(), new SimpleInstanceManager());
//Ensure the jsp engine is initialized correctly
JettyJasperInitializer sci = new JettyJasperInitializer();
ServletContainerInitializersStarter sciStarter = new ServletContainerInitializersStarter(context);
ContainerInitializer initializer = new ContainerInitializer(sci, null);
List<ContainerInitializer> initializers = new ArrayList<ContainerInitializer>();
initializers.add(initializer);
context.setAttribute("org.eclipse.jetty.containerInitializers", initializers);
context.addBean(sciStarter, true);
// Set Classloader of Context to be sane (needed for JSTL)
// JSP requires a non-System classloader, this simply wraps the
// embedded System classloader in a way that makes it suitable
// for JSP to use
// new URL( "file:///home/prhodes/.m2/repository/javax/servlet/jsp/javax.servlet.jsp-api/2.3.1/javax.servlet.jsp-api-2.3.1.jar" )
ClassLoader jspClassLoader = new URLClassLoader(new URL[] {}, Thread.currentThread().getContextClassLoader());
context.setClassLoader(jspClassLoader);
// Add JSP Servlet (must be named "jsp")
ServletHolder holderJsp = new ServletHolder("jsp", JspServlet.class);
holderJsp.setInitOrder(0);
holderJsp.setInitParameter("logVerbosityLevel", "DEBUG");
holderJsp.setInitParameter("fork", "false");
holderJsp.setInitParameter("xpoweredBy", "false");
holderJsp.setInitParameter("compilerTargetVM", "1.7");
holderJsp.setInitParameter("compilerSourceVM", "1.7");
holderJsp.setInitParameter("keepgenerated", "true");
context.addServlet(holderJsp, "*.jsp");
//context.addServlet(holderJsp,"*.jspf");
//context.addServlet(holderJsp,"*.jspx");
// Add Default Servlet (must be named "default")
ServletHolder holderDefault = new ServletHolder("default", DefaultServlet.class);
holderDefault.setInitParameter("resourceBase", baseUri.toASCIIString());
holderDefault.setInitParameter("dirAllowed", "true");
context.addServlet(holderDefault, "/");
/** end "for JSP support */
context.setResourceBase(baseUri.toASCIIString());
context.setInitParameter("resteasy.guice.modules", "com.opensoc.dataservices.modules.guice.RestEasyModule");
context.setInitParameter("resteasy.servlet.mapping.prefix", "/rest");
context.addEventListener(injector.getInstance(GuiceResteasyBootstrapServletContextListener.class));
context.addFilter(guiceFilter, "/*", EnumSet.allOf(DispatcherType.class));
server.setHandler(context);
server.start();
AlertsProcessingServer alertsServer = injector.getInstance(AlertsProcessingServer.class);
alertsServer.startProcessing();
server.join();
}Example 69
| Project: org.ops4j.pax.web-master File: HandlerDestructionTest.java View source code |
//CHECKSTYLE:OFF
@Test
public void testHandler() throws Exception {
ServerModel serverModel = new ServerModel();
JettyServerImpl server = new JettyServerImpl(serverModel, null);
server.start();
TestListener listener = new TestListener();
JettyServerWrapper container = server.getServer();
container.addBean(listener);
WebContainerContext httpContext = new WebContainerContext() {
@Override
public Set<String> getResourcePaths(String name) {
return Collections.emptySet();
}
@Override
public String getContextId() {
return "test";
}
public boolean handleSecurity(HttpServletRequest request, HttpServletResponse response) throws IOException {
return false;
}
public URL getResource(String name) {
return null;
}
public String getMimeType(String name) {
return null;
}
};
Bundle testBundle = new Bundle() {
@Override
public int compareTo(Bundle arg0) {
return 0;
}
@Override
public int getState() {
return 0;
}
@Override
public void start(int options) throws BundleException {
}
@Override
public void start() throws BundleException {
}
@Override
public void stop(int options) throws BundleException {
}
@Override
public void stop() throws BundleException {
}
@Override
public void update(InputStream input) throws BundleException {
}
@Override
public void update() throws BundleException {
}
@Override
public void uninstall() throws BundleException {
}
@Override
public Dictionary<String, String> getHeaders() {
Dictionary<String, String> dict = new Hashtable<>();
dict.put(Constants.BUNDLE_VERSION, "1.0.0");
return dict;
}
@Override
public long getBundleId() {
return 0;
}
@Override
public String getLocation() {
return null;
}
@Override
public ServiceReference<?>[] getRegisteredServices() {
return null;
}
@Override
public ServiceReference<?>[] getServicesInUse() {
return null;
}
@Override
public boolean hasPermission(Object permission) {
return false;
}
@Override
public URL getResource(String name) {
return null;
}
@Override
public Dictionary<String, String> getHeaders(String locale) {
return null;
}
@Override
public String getSymbolicName() {
return "HandlerDestructorTest-SymbolicNameBundle";
}
@Override
public Class<?> loadClass(String name) throws ClassNotFoundException {
return null;
}
@Override
public Enumeration<URL> getResources(String name) throws IOException {
return null;
}
@Override
public Enumeration<String> getEntryPaths(String path) {
return null;
}
@Override
public URL getEntry(String path) {
return null;
}
@Override
public long getLastModified() {
return 0;
}
@Override
public Enumeration<URL> findEntries(String path, String filePattern, boolean recurse) {
return null;
}
@Override
public BundleContext getBundleContext() {
return new BundleContext() {
@Override
public boolean ungetService(ServiceReference<?> reference) {
return false;
}
@Override
public void removeServiceListener(ServiceListener listener) {
}
@Override
public void removeFrameworkListener(FrameworkListener listener) {
}
@Override
public void removeBundleListener(BundleListener listener) {
}
@Override
public <S> ServiceRegistration<S> registerService(Class<S> clazz, S service, Dictionary<String, ?> properties) {
return null;
}
@Override
public ServiceRegistration<?> registerService(String clazz, Object service, Dictionary<String, ?> properties) {
return null;
}
@Override
public ServiceRegistration<?> registerService(String[] clazzes, Object service, Dictionary<String, ?> properties) {
return null;
}
@Override
public Bundle installBundle(String location, InputStream input) throws BundleException {
return null;
}
@Override
public Bundle installBundle(String location) throws BundleException {
return null;
}
@Override
public <S> Collection<ServiceReference<S>> getServiceReferences(Class<S> clazz, String filter) throws InvalidSyntaxException {
return null;
}
@Override
public ServiceReference<?>[] getServiceReferences(String clazz, String filter) throws InvalidSyntaxException {
return null;
}
@Override
public <S> ServiceReference<S> getServiceReference(Class<S> clazz) {
return null;
}
@Override
public ServiceReference<?> getServiceReference(String clazz) {
return null;
}
@Override
public <S> S getService(ServiceReference<S> reference) {
return null;
}
@Override
public String getProperty(String key) {
return null;
}
@Override
public File getDataFile(String filename) {
return null;
}
@Override
public Bundle[] getBundles() {
return null;
}
@Override
public Bundle getBundle(String location) {
return null;
}
@Override
public Bundle getBundle(long id) {
return null;
}
@Override
public Bundle getBundle() {
return null;
}
@Override
public ServiceReference<?>[] getAllServiceReferences(String clazz, String filter) throws InvalidSyntaxException {
return null;
}
@Override
public Filter createFilter(String filter) throws InvalidSyntaxException {
return null;
}
@Override
public void addServiceListener(ServiceListener listener, String filter) throws InvalidSyntaxException {
}
@Override
public void addServiceListener(ServiceListener listener) {
}
@Override
public void addFrameworkListener(FrameworkListener listener) {
}
@Override
public void addBundleListener(BundleListener listener) {
}
@Override
public <S> ServiceRegistration<S> registerService(Class<S> clazz, ServiceFactory<S> factory, Dictionary<String, ?> properties) {
return null;
}
@Override
public <S> ServiceObjects<S> getServiceObjects(ServiceReference<S> reference) {
return null;
}
};
}
@Override
public Map<X509Certificate, List<X509Certificate>> getSignerCertificates(int signersType) {
return null;
}
@Override
public Version getVersion() {
return null;
}
@Override
public <A> A adapt(Class<A> type) {
return null;
}
@Override
public File getDataFile(String filename) {
return null;
}
};
{
Servlet servlet = new DefaultServlet();
ContextModel contextModel = new ContextModel(httpContext, testBundle, getClass().getClassLoader());
ServletModel servletModel = new ServletModel(contextModel, servlet, "/", null, null, null);
server.addServlet(servletModel);
server.removeServlet(servletModel);
}
final Set<Object> oldbeans = new HashSet<>(container.getBeans());
Servlet servlet = new DefaultServlet();
ContextModel contextModel = new ContextModel(httpContext, testBundle, getClass().getClassLoader());
ServletModel servletModel = new ServletModel(contextModel, servlet, "/", null, null, null);
server.addServlet(servletModel);
// assertNotSame("OldSize:"+oldbeans.size()+" new size: "+container.getBeans().size(),
// oldbeans.size(), container.getBeans().size());
server.removeServlet(servletModel);
// System.out.println(listener.diff(oldbeans));
assertEquals(oldbeans.size(), container.getBeans().size());
}Example 70
| Project: qi4j-sdk-master File: JettyConfigurationHelper.java View source code |
static void configureContext(ServletContextHandler root, JettyConfiguration config) {
// Context path
String contextPath = config.contextPath().get();
if (contextPath != null && contextPath.length() > 0) {
root.setContextPath(contextPath);
}
// Root resource base
String resourcePath = config.resourcePath().get();
if (resourcePath != null && resourcePath.length() > 0) {
root.addServlet(DefaultServlet.class, "/");
root.setResourceBase(resourcePath);
}
// Max form content size
Integer maxFormContentSize = config.maxFormContentSize().get();
if (maxFormContentSize != null) {
root.setMaxFormContentSize(maxFormContentSize);
}
// Virtual hosts
String virtualHostsConfigString = config.virtualHosts().get();
if (virtualHostsConfigString != null) {
String[] virtualHosts = virtualHostsConfigString.split(COMA);
if (virtualHosts.length > 0) {
root.setVirtualHosts(virtualHosts);
}
}
// Welcome files
String welcomeFilesConfigString = config.welcomeFiles().get();
if (welcomeFilesConfigString == null) {
root.setWelcomeFiles(DEFAULT_WELCOME_FILES);
} else {
String[] welcomeFiles = welcomeFilesConfigString.split(COMA);
if (welcomeFiles.length == 0) {
root.setWelcomeFiles(DEFAULT_WELCOME_FILES);
} else {
root.setWelcomeFiles(welcomeFiles);
}
}
}Example 71
| Project: resthub-spring-stack-master File: AbstractWebTest.java View source code |
@BeforeClass
public void beforeClass() throws Exception {
if ((!this.startServerOnce) || (reusableServer == null)) {
server = new Server(port);
// Add a context for authorization service
ServletContextHandler context = new ServletContextHandler(servletContextHandlerOption);
if (this.annotationBasedConfig) {
context.getInitParams().put("contextClass", "org.springframework.web.context.support.AnnotationConfigWebApplicationContext");
}
context.getInitParams().put("contextConfigLocation", contextLocations);
context.getInitParams().put("spring.profiles.active", activeProfiles);
ServletHolder defaultServletHolder = new ServletHolder(DefaultServlet.class);
defaultServletHolder.setName("default");
// Add default servlet in order to make <mvc:default-servlet-handler /> work in unit tests.
// "/" servlet mapping will be overriden by dispatcher, but default servlet will stay in the context
context.addServlet(defaultServletHolder, "/");
ServletHolder dispatcherServletHolder = new ServletHolder(DispatcherServlet.class);
dispatcherServletHolder.setName("dispatcher");
dispatcherServletHolder.setInitOrder(1);
// Reuse beans detected by ContextLoaderListener so we configure an
// empty contextConfigLocation
dispatcherServletHolder.setInitParameter("contextConfigLocation", "");
context.addServlet(dispatcherServletHolder, "/");
context.addEventListener(new ContextLoaderListener());
if (useOpenEntityManagerInViewFilter) {
context.addFilter(OpenEntityManagerInViewFilter.class, "/*", EnumSet.of(DispatcherType.REQUEST));
}
// Customize context then start the server.
server.setHandler(customizeContextHandler(context));
server.start();
if (this.startServerOnce) {
reusableServer = server;
}
}
}Example 72
| Project: rhizome-master File: Rhizome.java View source code |
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
Preconditions.checkNotNull(rhizomeContext, "Rhizome context cannot be null for startup.");
servletContext.addListener(new SessionListener());
/*
* We have the luxury of being able to access the RhizomeConfiguration from the rhizomeContext. This allows us
* to conditionally enabled session clustering among other things.
*/
RhizomeConfiguration configuration = rhizomeContext.getBean(RhizomeConfiguration.class);
JettyConfiguration jettyConfiguration = rhizomeContext.getBean(JettyConfiguration.class);
if (configuration.isSessionClusteringEnabled()) {
FilterRegistration.Dynamic addFilter = servletContext.addFilter(HAZELCAST_SESSION_FILTER_NAME, rhizomeContext.getBean(WebFilter.class));
addFilter.addMappingForUrlPatterns(Sets.newEnumSet(ImmutableSet.of(DispatcherType.FORWARD, DispatcherType.REQUEST, DispatcherType.REQUEST), DispatcherType.class), false, "/*");
addFilter.setAsyncSupported(true);
}
// Prevent jersey-spring3 from trying to initialize a spring application context.
// servletContext.setInitParameter( CONTEXT_CONFIG_LOCATION_PARAMETER_NAME , "" );
servletContext.addListener(new ContextLoaderListener(rhizomeContext));
servletContext.addListener(new RequestContextListener());
// Register the health check registry.
servletContext.setAttribute(HealthCheckServlet.HEALTH_CHECK_REGISTRY, rhizomeContext.getBean("getHealthCheckRegistry", HealthCheckRegistry.class));
servletContext.setAttribute(MetricsServlet.METRICS_REGISTRY, rhizomeContext.getBean("getMetricRegistry", MetricRegistry.class));
/*
*
*/
ServletRegistration.Dynamic adminServlet = servletContext.addServlet("admin", AdminServlet.class);
adminServlet.setLoadOnStartup(1);
adminServlet.addMapping("/admin/*");
adminServlet.setInitParameter("show-jvm-metrics", "true");
/*
* Jersey Servlet For lovers of the JAX-RS standard.
*/
ServletRegistration.Dynamic jerseyDispatcher = servletContext.addServlet("defaultJerseyServlet", new ServletContainer());
jerseyDispatcher.setInitParameter("javax.ws.rs.Application", RhizomeApplication.class.getName());
jerseyDispatcher.setLoadOnStartup(1);
jerseyDispatcher.addMapping("/health/*");
/*
* Default Servlet
*/
if (jettyConfiguration.isDefaultServletEnabled()) {
ServletRegistration.Dynamic defaultServlet = servletContext.addServlet("default", new DefaultServlet());
defaultServlet.addMapping(new String[] { "/*" });
defaultServlet.setLoadOnStartup(1);
defaultServlet.setAsyncSupported(true);
}
registerDispatcherServlets(servletContext);
}Example 73
| Project: vitam-master File: LibraryApplication.java View source code |
/**
* Static handler : server static pages
*
* @return the generated Handler
*/
@Override
protected Handler buildApplicationHandler() {
// Servlet for static resources
final ServletHolder staticServlet = new ServletHolder("static-content", DefaultServlet.class);
staticServlet.setInitParameter("resourceBase", getConfiguration().getDirectoryPath());
staticServlet.setInitParameter("dirAllowed", "true");
staticServlet.setInitParameter("pathInfoOnly", "true");
// Jersey resources servlet : add admin resources
final ResourceConfig resourceConfig = new ResourceConfig();
resourceConfig.register(JacksonJsonProvider.class).register(JacksonFeature.class).register(// Register a Generic Exception Mapper
new GenericExceptionMapper()).register(new AdminStatusResource());
// Use chunk size also in response
resourceConfig.property(ServerProperties.OUTBOUND_CONTENT_LENGTH_BUFFER, VitamConfiguration.getChunkSize());
// Cleaner filter
resourceConfig.register(ConsumeAllAfterResponseFilter.class);
final ServletContainer servletContainer = new ServletContainer(resourceConfig);
final ServletHolder sh = new ServletHolder(servletContainer);
// Context handler for /
final ServletContextHandler context = new ServletContextHandler(ServletContextHandler.NO_SESSIONS);
context.setResourceBase(getConfiguration().getDirectoryPath());
context.setContextPath("/");
// Mixing everything
// TODO P1: externalise constant in config
context.addServlet(staticServlet, "/doc/*");
context.addServlet(sh, "/*");
return context;
}Example 74
| Project: camel-master File: WebsocketComponent.java View source code |
protected Server createStaticResourcesServer(Server server, ServletContextHandler context, String home) throws Exception {
context.setContextPath("/");
SessionHandler sh = new SessionHandler();
context.setSessionHandler(sh);
if (home != null) {
String[] resources = home.split(":");
if (LOG.isDebugEnabled()) {
LOG.debug(">>> Protocol found: " + resources[0] + ", and resource: " + resources[1]);
}
if (resources[0].equals("classpath")) {
context.setBaseResource(new JettyClassPathResource(getCamelContext().getClassResolver(), resources[1]));
} else if (resources[0].equals("file")) {
context.setBaseResource(Resource.newResource(resources[1]));
}
DefaultServlet defaultServlet = new DefaultServlet();
ServletHolder holder = new ServletHolder(defaultServlet);
// avoid file locking on windows
// http://stackoverflow.com/questions/184312/how-to-make-jetty-dynamically-load-static-pages
holder.setInitParameter("useFileMappedBuffer", "false");
context.addServlet(holder, "/");
}
server.setHandler(context);
return server;
}Example 75
| Project: croquet-master File: CroquetWicket.java View source code |
/**
* Function used to configure Jetty and return a Server instance.
* @param port the port to run Jetty on.
* @return the {@link Server} instance.
*/
protected Server configureJetty(final int port) {
final Server server = new Server();
final ServerConnector connector = new ServerConnector(server);
// TODO: make all of this configurable
connector.setIdleTimeout((int) TimeUnit.HOURS.toMillis(1));
connector.setSoLingerTime(-1);
connector.setPort(port);
server.addConnector(connector);
// set the injector as an attribute in the context
sch.setAttribute("guice-injector", injector);
// prevent the JSESSIONID from getting set via a URL argument
sch.setInitParameter("org.eclipse.jetty.servlet.SessionIdPathParameterName", "none");
// add the font mime type by default
sch.getMimeTypes().addMimeMapping("woff", "application/x-font-woff");
// if we're using a database, then install the filter
if (!settings.getDatabaseSettings().getNotUsed()) {
// setup a FilterHolder for the Guice Persistence
final FilterHolder persistFilter = new FilterHolder(injector.getInstance(PersistFilter.class));
// add the filter to the context
sch.addFilter(persistFilter, "/*", DISPATCHER_TYPES);
}
// setup a FilterHolder for WebSockets
final FilterHolder webSocketFilter = new FilterHolder(Jetty9WebSocketFilter.class);
// set the app factor as the Guice Web App Factory
webSocketFilter.setInitParameter("applicationFactoryClassName", GuiceWebApplicationFactory.class.getName());
// tell the filter to use the injector in the context instead of making a new one
webSocketFilter.setInitParameter("injectorContextAttribute", "guice-injector");
// setup the filter mapping
webSocketFilter.setInitParameter(WicketFilter.FILTER_MAPPING_PARAM, "/*");
webSocketFilter.setInitParameter("configuration", "deployment");
// add the filter to the context
sch.addFilter(webSocketFilter, "/*", DISPATCHER_TYPES);
// add the default servlet as Guice & Wicket will take care of everything for us
sch.addServlet(DefaultServlet.class, "/*");
server.setHandler(sch);
return server;
}Example 76
| Project: datacollector-master File: WebServerModule.java View source code |
@Override
public void init(ServletContextHandler context) {
ServletHolder servlet = new ServletHolder(new DefaultServlet());
servlet.setInitParameter("dirAllowed", "true");
servlet.setInitParameter("resourceBase", runtimeInfo.getStaticWebDir());
servlet.setInitParameter("cacheControl", "max-age=0,public");
context.addServlet(servlet, "/*");
}Example 77
| Project: Nin-master File: NinjaJetty.java View source code |
@Override
protected void doConfigure() throws Exception {
// current value or system property or conf/application.conf or default value
jettyConfiguration(overlayedNinjaProperties.get(KEY_NINJA_JETTY_CONFIGURATION, this.jettyConfiguration, DEFAULT_JETTY_CONFIGURATION));
// build jetty server, context, and servlet
if (this.jettyConfiguration != null) {
String[] configs = this.jettyConfiguration.split(",");
for (String config : configs) {
jetty = buildServerOrApplyConfiguration(config, jetty);
}
// since we don't know host and port, try to get it from jetty
tryToSetHostAndPortFromJetty();
} else {
// create very simple jetty configuration
jetty = new Server();
if (port > -1) {
// build http cleartext connector
ServerConnector http = new ServerConnector(jetty);
http.setPort(port);
http.setIdleTimeout(idleTimeout);
if (host != null) {
http.setHost(host);
}
jetty.addConnector(http);
}
if (sslPort > -1) {
// build https secure connector
// http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/tree/examples/embedded/src/main/java/org/eclipse/jetty/embedded/ManyConnectors.java
HttpConfiguration httpConfig = new HttpConfiguration();
httpConfig.setSecureScheme("https");
httpConfig.setSecurePort(sslPort);
httpConfig.setOutputBufferSize(32768);
HttpConfiguration httpsConfig = new HttpConfiguration(httpConfig);
httpsConfig.addCustomizer(new SecureRequestCustomizer());
// unfortunately jetty seems to only work when we pass a keystore
// and truststore (as opposed to our own prepared SSLContext)
// call createSSLContext() to simply verify configuration is correct
this.createSSLContext();
SslContextFactory sslContextFactory = new SslContextFactory();
sslContextFactory.setKeyStore(StandaloneHelper.loadKeyStore(this.sslKeystoreUri, this.sslKeystorePassword.toCharArray()));
sslContextFactory.setKeyManagerPassword(this.sslKeystorePassword);
sslContextFactory.setTrustStore(StandaloneHelper.loadKeyStore(this.sslTruststoreUri, this.sslTruststorePassword.toCharArray()));
ServerConnector https = new ServerConnector(jetty, new SslConnectionFactory(sslContextFactory, HttpVersion.HTTP_1_1.asString()), new HttpConnectionFactory(httpsConfig));
https.setPort(sslPort);
https.setIdleTimeout(idleTimeout);
jetty.addConnector(https);
}
}
this.ninjaServletListener.setNinjaProperties(ninjaProperties);
this.contextHandler = new ServletContextHandler(jetty, getContextPath());
this.contextHandler.addEventListener(ninjaServletListener);
this.contextHandler.addFilter(GuiceFilter.class, "/*", null);
this.contextHandler.addServlet(DefaultServlet.class, "/");
// disable directory browsing
this.contextHandler.setInitParameter("org.eclipse.jetty.servlet.Default.dirAllowed", "false");
// Add an error handler that does not print stack traces in case
// something happens that is not under control of Ninja
this.contextHandler.setErrorHandler(new SilentErrorHandler());
}Example 78
| Project: Ninja-master File: NinjaJetty.java View source code |
@Override
protected void doConfigure() throws Exception {
// current value or system property or conf/application.conf or default value
jettyConfiguration(overlayedNinjaProperties.get(KEY_NINJA_JETTY_CONFIGURATION, this.jettyConfiguration, DEFAULT_JETTY_CONFIGURATION));
// build jetty server, context, and servlet
if (this.jettyConfiguration != null) {
String[] configs = this.jettyConfiguration.split(",");
for (String config : configs) {
jetty = buildServerOrApplyConfiguration(config, jetty);
}
// since we don't know host and port, try to get it from jetty
tryToSetHostAndPortFromJetty();
} else {
// create very simple jetty configuration
jetty = new Server();
if (port > -1) {
// build http cleartext connector
ServerConnector http = new ServerConnector(jetty);
http.setPort(port);
http.setIdleTimeout(idleTimeout);
if (host != null) {
http.setHost(host);
}
jetty.addConnector(http);
}
if (sslPort > -1) {
// build https secure connector
// http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/tree/examples/embedded/src/main/java/org/eclipse/jetty/embedded/ManyConnectors.java
HttpConfiguration httpConfig = new HttpConfiguration();
httpConfig.setSecureScheme("https");
httpConfig.setSecurePort(sslPort);
httpConfig.setOutputBufferSize(32768);
HttpConfiguration httpsConfig = new HttpConfiguration(httpConfig);
httpsConfig.addCustomizer(new SecureRequestCustomizer());
// unfortunately jetty seems to only work when we pass a keystore
// and truststore (as opposed to our own prepared SSLContext)
// call createSSLContext() to simply verify configuration is correct
this.createSSLContext();
SslContextFactory sslContextFactory = new SslContextFactory();
sslContextFactory.setKeyStore(StandaloneHelper.loadKeyStore(this.sslKeystoreUri, this.sslKeystorePassword.toCharArray()));
sslContextFactory.setKeyManagerPassword(this.sslKeystorePassword);
sslContextFactory.setTrustStore(StandaloneHelper.loadKeyStore(this.sslTruststoreUri, this.sslTruststorePassword.toCharArray()));
ServerConnector https = new ServerConnector(jetty, new SslConnectionFactory(sslContextFactory, HttpVersion.HTTP_1_1.asString()), new HttpConnectionFactory(httpsConfig));
https.setPort(sslPort);
https.setIdleTimeout(idleTimeout);
jetty.addConnector(https);
}
}
this.ninjaServletListener.setNinjaProperties(ninjaProperties);
this.contextHandler = new ServletContextHandler(jetty, getContextPath());
this.contextHandler.addEventListener(ninjaServletListener);
this.contextHandler.addFilter(GuiceFilter.class, "/*", null);
this.contextHandler.addServlet(DefaultServlet.class, "/");
// disable directory browsing
this.contextHandler.setInitParameter("org.eclipse.jetty.servlet.Default.dirAllowed", "false");
// Add an error handler that does not print stack traces in case
// something happens that is not under control of Ninja
this.contextHandler.setErrorHandler(new SilentErrorHandler());
}Example 79
| Project: serket-master File: IntegrationTest.java View source code |
public void initJetty() {
List<org.eclipse.jetty.server.Handler> handlerList = new ArrayList<org.eclipse.jetty.server.Handler>();
// the raw file resource handler
{
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/images");
context.setBaseResource(Resource.newClassPathResource("/images/"));
context.addServlet(new ServletHolder(new DefaultServlet()), "/*");
handlerList.add(context);
}
// the service descriptor handler
{
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/scpd");
context.setBaseResource(Resource.newClassPathResource("/scpd/"));
context.addServlet(new ServletHolder(new DefaultServlet()), "/*");
handlerList.add(context);
}
// the description handler
{
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/description");
context.addServlet(new ServletHolder(new DescriptionServlet(mediaServer)), "/*");
handlerList.add(context);
}
// the content access handler
{
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/fetch");
context.addServlet(new ServletHolder(new FetchServlet()), "/*");
handlerList.add(context);
}
// the content directory handler
{
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/service");
UpnpServiceServlet servlet = new UpnpServiceServlet();
servlet.getServices().add(cd);
servlet.getServices().add(cm);
context.addServlet(new ServletHolder(servlet), "/*");
handlerList.add(context);
}
// the service descriptor handler
{
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/");
context.addServlet(new ServletHolder(new LoggingServlet()), "/*");
handlerList.add(context);
}
ContextHandlerCollection contexts = new ContextHandlerCollection();
contexts.setHandlers(handlerList.toArray(new org.eclipse.jetty.server.Handler[] {}));
jettyServer.setHandler(contexts);
}Example 80
| Project: drill-master File: WebServer.java View source code |
/**
* Start the web server including setup.
* @throws Exception
*/
public void start() throws Exception {
if (embeddedJetty == null) {
return;
}
final boolean authEnabled = config.getBoolean(ExecConstants.USER_AUTHENTICATION_ENABLED);
if (authEnabled && !context.getAuthProvider().containsFactory(PlainFactory.SIMPLE_NAME)) {
logger.warn("Not starting web server. Currently Drill supports web authentication only through " + "username/password. But PLAIN mechanism is not configured.");
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.SESSIONS);
servletContextHandler.setErrorHandler(errorHandler);
servletContextHandler.setContextPath("/");
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);
// Get resource URL for Drill static assets, based on where Drill icon is located
String drillIconResourcePath = Resource.newClassPathResource(BASE_STATIC_PATH + DRILL_ICON_RESOURCE_RELATIVE_PATH).getURL().toString();
staticHolder.setInitParameter("resourceBase", drillIconResourcePath.substring(0, drillIconResourcePath.length() - DRILL_ICON_RESOURCE_RELATIVE_PATH.length()));
staticHolder.setInitParameter("dirAllowed", "false");
staticHolder.setInitParameter("pathInfoOnly", "true");
servletContextHandler.addServlet(staticHolder, "/static/*");
if (authEnabled) {
servletContextHandler.setSecurityHandler(createSecurityHandler());
servletContextHandler.setSessionHandler(createSessionHandler(servletContextHandler.getSecurityHandler()));
}
if (config.getBoolean(ExecConstants.HTTP_CORS_ENABLED)) {
FilterHolder holder = new FilterHolder(CrossOriginFilter.class);
holder.setInitParameter(CrossOriginFilter.ALLOWED_ORIGINS_PARAM, StringUtils.join(config.getStringList(ExecConstants.HTTP_CORS_ALLOWED_ORIGINS), ","));
holder.setInitParameter(CrossOriginFilter.ALLOWED_METHODS_PARAM, StringUtils.join(config.getStringList(ExecConstants.HTTP_CORS_ALLOWED_METHODS), ","));
holder.setInitParameter(CrossOriginFilter.ALLOWED_HEADERS_PARAM, StringUtils.join(config.getStringList(ExecConstants.HTTP_CORS_ALLOWED_HEADERS), ","));
holder.setInitParameter(CrossOriginFilter.ALLOW_CREDENTIALS_PARAM, String.valueOf(config.getBoolean(ExecConstants.HTTP_CORS_CREDENTIALS)));
for (String path : new String[] { "*.json", "/storage/*/enable/*", "/status*" }) {
servletContextHandler.addFilter(holder, path, EnumSet.of(DispatcherType.REQUEST));
}
}
embeddedJetty.setHandler(servletContextHandler);
embeddedJetty.start();
}Example 81
| Project: gerrit-master File: JettyServer.java View source code |
private ContextHandler makeContext(final String contextPath, final JettyEnv env, final Config cfg) {
final ServletContextHandler app = new ServletContextHandler();
// This enables the use of sessions in Jetty, feature available
// for Gerrit plug-ins to enable user-level sessions.
//
app.setSessionHandler(new SessionHandler());
app.setErrorHandler(new HiddenErrorHandler());
// This is the path we are accessed by clients within our domain.
//
app.setContextPath(contextPath);
// HTTP front-end filters to be used as surrogate of Apache HTTP
// reverse-proxy filtering.
// It is meant to be used as simpler tiny deployment of custom-made
// security enforcement (Security tokens, IP-based security filtering, others)
String[] filterClassNames = cfg.getStringList("httpd", null, "filterClass");
for (String filterClassName : filterClassNames) {
try {
@SuppressWarnings("unchecked") Class<? extends Filter> filterClass = (Class<? extends Filter>) Class.forName(filterClassName);
Filter filter = env.webInjector.getInstance(filterClass);
app.addFilter(new FilterHolder(filter), "/*", EnumSet.of(DispatcherType.REQUEST, DispatcherType.ASYNC));
} catch (Throwable e) {
String errorMessage = "Unable to instantiate front-end HTTP Filter " + filterClassName;
log.error(errorMessage, e);
throw new IllegalArgumentException(errorMessage, e);
}
}
// Perform the same binding as our web.xml would do, but instead
// of using the listener to create the injector pass the one we
// already have built.
//
GuiceFilter filter = env.webInjector.getInstance(GuiceFilter.class);
app.addFilter(new FilterHolder(filter), "/*", EnumSet.of(DispatcherType.REQUEST, DispatcherType.ASYNC));
app.addEventListener(new GuiceServletContextListener() {
@Override
protected Injector getInjector() {
return env.webInjector;
}
});
// Jetty requires at least one servlet be bound before it will
// bother running the filter above. Since the filter has all
// of our URLs except the static resources, the only servlet
// we need to bind is the default static resource servlet from
// the Jetty container.
//
final ServletHolder ds = app.addServlet(DefaultServlet.class, "/");
ds.setInitParameter("dirAllowed", "false");
ds.setInitParameter("redirectWelcome", "false");
ds.setInitParameter("useFileMappedBuffer", "false");
ds.setInitParameter("gzip", "true");
app.setWelcomeFiles(new String[0]);
return app;
}Example 82
| Project: gyrex-admin-master File: AdminUiActivator.java View source code |
private void configureContextWithServletsAndResources(final ServletContextHandler contextHandler) throws MalformedURLException, IOException {
// configure context base directory (required for RAP/RWT resources)
final IPath contextBase = Platform.getStateLocation(getBundle()).append("context");
contextHandler.setBaseResource(Resource.newResource(contextBase.toFile()));
// configure defaults for resources served by Jetty's DefaultServlet
if (Platform.inDevelopmentMode()) {
contextHandler.setInitParameter("org.eclipse.jetty.servlet.Default.dirAllowed", "true");
contextHandler.setInitParameter("org.eclipse.jetty.servlet.Default.useFileMappedBuffer", "false");
contextHandler.setInitParameter("org.eclipse.jetty.servlet.Default.maxCachedFiles", "0");
} else {
contextHandler.setInitParameter("org.eclipse.jetty.servlet.Default.dirAllowed", "false");
contextHandler.setInitParameter("org.eclipse.jetty.servlet.Default.maxCacheSize", "2000000");
contextHandler.setInitParameter("org.eclipse.jetty.servlet.Default.maxCachedFileSize", "254000");
contextHandler.setInitParameter("org.eclipse.jetty.servlet.Default.maxCachedFiles", "1000");
contextHandler.setInitParameter("org.eclipse.jetty.servlet.Default.useFileMappedBuffer", "true");
}
// initialize and start RWT application
adminApplicationRunner = new ApplicationRunner(new AdminApplicationConfiguration(), contextHandler.getServletContext());
adminApplicationRunner.start();
// serve admin application directly
contextHandler.addServlet(new AdminServletHolder(new RWTServlet()), "/admin");
// register additional static resources references in body html
final ServletHolder staticResources = new AdminServletHolder(new DefaultServlet());
staticResources.setInitParameter("resourceBase", FileLocator.resolve(FileLocator.find(getBundle(), new Path("html"), null)).toExternalForm());
contextHandler.addServlet(staticResources, "/static/*");
// redirect to admin
contextHandler.addServlet(new AdminServletHolder(new HttpServlet() {
private static final long serialVersionUID = 1L;
@Override
protected void doGet(final HttpServletRequest req, final HttpServletResponse resp) throws ServletException, IOException {
resp.sendRedirect("/admin");
}
}), "");
// serve context resources (required for RAP/RWT resources)
contextHandler.addServlet(new AdminServletHolder(new DefaultServlet()), "/*");
// register Logback status servlet
try {
// note, we don't reference the class directly because the package import is optional
final Class<?> servletClass = AdminUiActivator.getInstance().getBundle().loadClass("ch.qos.logback.classic.ViewStatusMessagesServlet");
contextHandler.addServlet(new AdminServletHolder((Servlet) servletClass.newInstance()), "/logbackstatus");
} catch (final ClassNotFoundExceptionLinkageError | e) {
LOG.warn("Logback status servlet not available. {}", e.getMessage(), e);
} catch (final Exception e) {
LOG.error("An error occurred while registering the Logback status servlet. {}", e.getMessage(), e);
}
// allow extension using custom servlets
final AdminServletTracker adminServletTracker = new AdminServletTracker(getBundle().getBundleContext(), contextHandler);
contextHandler.addBean(new AbstractLifeCycle() {
@Override
protected void doStart() throws Exception {
adminServletTracker.open();
}
@Override
protected void doStop() throws Exception {
adminServletTracker.close();
}
});
}Example 83
| Project: hive-master File: HttpServer.java View source code |
private void initializeWebServer(final Builder b, int queueSize) {
// Set handling for low resource conditions.
final LowResourceMonitor low = new LowResourceMonitor(webServer);
low.setLowResourcesIdleTimeout(10000);
webServer.addBean(low);
Connector connector = createChannelConnector(queueSize, b);
webServer.addConnector(connector);
RewriteHandler rwHandler = new RewriteHandler();
rwHandler.setRewriteRequestURI(true);
rwHandler.setRewritePathInfo(false);
RewriteRegexRule rootRule = new RewriteRegexRule();
rootRule.setRegex("^/$");
rootRule.setReplacement(b.contextRootRewriteTarget);
rootRule.setTerminating(true);
rwHandler.addRule(rootRule);
rwHandler.setHandler(webAppContext);
// Configure web application contexts for the web server
ContextHandlerCollection contexts = new ContextHandlerCollection();
contexts.addHandler(rwHandler);
webServer.setHandler(contexts);
addServlet("jmx", "/jmx", JMXJsonServlet.class);
addServlet("conf", "/conf", ConfServlet.class);
addServlet("stacks", "/stacks", StackServlet.class);
for (Pair<String, Class<? extends HttpServlet>> p : b.servlets) {
addServlet(p.getFirst(), "/" + p.getFirst(), p.getSecond());
}
ServletContextHandler staticCtx = new ServletContextHandler(contexts, "/static");
staticCtx.setResourceBase(appDir + "/static");
staticCtx.addServlet(DefaultServlet.class, "/*");
staticCtx.setDisplayName("static");
String logDir = getLogDir(b.conf);
if (logDir != null) {
ServletContextHandler logCtx = new ServletContextHandler(contexts, "/logs");
setContextAttributes(logCtx.getServletContext(), b.contextAttrs);
logCtx.addServlet(AdminAuthorizedServlet.class, "/*");
logCtx.setResourceBase(logDir);
logCtx.setDisplayName("logs");
}
}Example 84
| Project: http-testing-harness-master File: JettyServerProvider.java View source code |
@Override
public void serveFiles(final String pathSpec, final FileContext fileContext) {
if (webappContext == null) {
try {
initServer();
} catch (Exception e) {
throw new IllegalStateException(e);
}
}
final ServletHolder servletHolder = new ServletHolder(new DefaultServlet());
servletHolder.setInitParameter("resourceBase", fileContext.getBaseDir().getAbsolutePath());
servletHolder.setInitParameter("dirAllowed", String.valueOf(fileContext.isCollectionAllow()));
servletHolder.setInitParameter("acceptRanges", Boolean.TRUE.toString());
servletHolder.setInitParameter("pathInfoOnly", Boolean.TRUE.toString());
webappContext.getServletHandler().addServletWithMapping(servletHolder, pathSpec);
}Example 85
| Project: tools_gerrit-master File: JettyServer.java View source code |
private ContextHandler makeContext(final String contextPath, final JettyEnv env) throws MalformedURLException, IOException {
final ServletContextHandler app = new ServletContextHandler();
// This is the path we are accessed by clients within our domain.
//
app.setContextPath(contextPath);
// Serve static resources directly from our JAR. This way we don't
// need to unpack them into yet another temporary directory prior to
// serving to clients.
//
app.setBaseResource(getBaseResource());
// Perform the same binding as our web.xml would do, but instead
// of using the listener to create the injector pass the one we
// already have built.
//
app.addFilter(GuiceFilter.class, "/*", FilterMapping.DEFAULT);
app.addEventListener(new GuiceServletContextListener() {
@Override
protected Injector getInjector() {
return env.webInjector;
}
});
// Jetty requires at least one servlet be bound before it will
// bother running the filter above. Since the filter has all
// of our URLs except the static resources, the only servlet
// we need to bind is the default static resource servlet from
// the Jetty container.
//
final ServletHolder ds = app.addServlet(DefaultServlet.class, "/");
ds.setInitParameter("dirAllowed", "false");
ds.setInitParameter("redirectWelcome", "false");
ds.setInitParameter("useFileMappedBuffer", "false");
ds.setInitParameter("gzip", "true");
app.setWelcomeFiles(new String[0]);
return app;
}Example 86
| Project: zeppelin-master File: ZeppelinServer.java View source code |
private static WebAppContext setupWebAppContext(ContextHandlerCollection contexts, ZeppelinConfiguration conf) {
WebAppContext webApp = new WebAppContext();
webApp.setContextPath(conf.getServerContextPath());
File warPath = new File(conf.getString(ConfVars.ZEPPELIN_WAR));
if (warPath.isDirectory()) {
// Development mode, read from FS
// webApp.setDescriptor(warPath+"/WEB-INF/web.xml");
webApp.setResourceBase(warPath.getPath());
webApp.setParentLoaderPriority(true);
} else {
// use packaged WAR
webApp.setWar(warPath.getAbsolutePath());
File warTempDirectory = new File(conf.getRelativeDir(ConfVars.ZEPPELIN_WAR_TEMPDIR));
warTempDirectory.mkdir();
LOG.info("ZeppelinServer Webapp path: {}", warTempDirectory.getPath());
webApp.setTempDirectory(warTempDirectory);
}
// Explicit bind to root
webApp.addServlet(new ServletHolder(new DefaultServlet()), "/*");
contexts.addHandler(webApp);
webApp.addFilter(new FilterHolder(CorsFilter.class), "/*", EnumSet.allOf(DispatcherType.class));
webApp.setInitParameter("org.eclipse.jetty.servlet.Default.dirAllowed", Boolean.toString(conf.getBoolean(ConfVars.ZEPPELIN_SERVER_DEFAULT_DIR_ALLOWED)));
return webApp;
}Example 87
| Project: mini-git-server-master File: JettyServer.java View source code |
private ContextHandler makeContext(final String contextPath, final JettyEnv env) throws MalformedURLException, IOException {
final ServletContextHandler app = new ServletContextHandler();
// This is the path we are accessed by clients within our domain.
//
app.setContextPath(contextPath);
// Serve static resources directly from our JAR. This way we don't
// need to unpack them into yet another temporary directory prior to
// serving to clients.
//
app.setBaseResource(getBaseResource());
// Perform the same binding as our web.xml would do, but instead
// of using the listener to create the injector pass the one we
// already have built.
//
app.addFilter(GuiceFilter.class, "/*", FilterMapping.DEFAULT);
app.addEventListener(new GuiceServletContextListener() {
@Override
protected Injector getInjector() {
return env.webInjector;
}
});
// Jetty requires at least one servlet be bound before it will
// bother running the filter above. Since the filter has all
// of our URLs except the static resources, the only servlet
// we need to bind is the default static resource servlet from
// the Jetty container.
//
final ServletHolder ds = app.addServlet(DefaultServlet.class, "/");
ds.setInitParameter("dirAllowed", "false");
ds.setInitParameter("redirectWelcome", "false");
ds.setInitParameter("useFileMappedBuffer", "false");
ds.setInitParameter("gzip", "true");
app.setWelcomeFiles(new String[0]);
return app;
}Example 88
| Project: rest-utils-master File: Application.java View source code |
/**
* Configure and create the server.
*/
public Server createServer() throws RestConfigException {
// The configuration for the JAX-RS REST service
ResourceConfig resourceConfig = new ResourceConfig();
Map<String, String> metricTags = getMetricsTags();
configureBaseApplication(resourceConfig, metricTags);
setupResources(resourceConfig, getConfiguration());
// Configure the servlet container
ServletContainer servletContainer = new ServletContainer(resourceConfig);
final FilterHolder servletHolder = new FilterHolder(servletContainer);
server = new Server() {
@Override
protected void doStop() throws Exception {
super.doStop();
Application.this.metrics.close();
Application.this.onShutdown();
Application.this.shutdownLatch.countDown();
}
};
MBeanContainer mbContainer = new MBeanContainer(ManagementFactory.getPlatformMBeanServer());
server.addEventListener(mbContainer);
server.addBean(mbContainer);
MetricsListener metricsListener = new MetricsListener(metrics, "jetty", metricTags);
List<URI> listeners = parseListeners(config.getList(RestConfig.LISTENERS_CONFIG), config.getInt(RestConfig.PORT_CONFIG), Arrays.asList("http", "https"), "http");
for (URI listener : listeners) {
log.info("Adding listener: " + listener.toString());
NetworkTrafficServerConnector connector;
if (listener.getScheme().equals("http")) {
connector = new NetworkTrafficServerConnector(server);
} else {
SslContextFactory sslContextFactory = new SslContextFactory();
// TODO: investigate this further. Would be better to use SubjectAltNames.
if (!config.getString(RestConfig.SSL_KEYSTORE_LOCATION_CONFIG).isEmpty()) {
sslContextFactory.setKeyStorePath(config.getString(RestConfig.SSL_KEYSTORE_LOCATION_CONFIG));
sslContextFactory.setKeyStorePassword(config.getString(RestConfig.SSL_KEYSTORE_PASSWORD_CONFIG));
sslContextFactory.setKeyManagerPassword(config.getString(RestConfig.SSL_KEY_PASSWORD_CONFIG));
sslContextFactory.setKeyStoreType(config.getString(RestConfig.SSL_KEYSTORE_TYPE_CONFIG));
if (!config.getString(RestConfig.SSL_KEYMANAGER_ALGORITHM_CONFIG).isEmpty()) {
sslContextFactory.setSslKeyManagerFactoryAlgorithm(config.getString(RestConfig.SSL_KEYMANAGER_ALGORITHM_CONFIG));
}
}
sslContextFactory.setNeedClientAuth(config.getBoolean(RestConfig.SSL_CLIENT_AUTH_CONFIG));
List<String> enabledProtocols = config.getList(RestConfig.SSL_ENABLED_PROTOCOLS_CONFIG);
if (!enabledProtocols.isEmpty()) {
sslContextFactory.setIncludeProtocols(enabledProtocols.toArray(new String[0]));
}
List<String> cipherSuites = config.getList(RestConfig.SSL_CIPHER_SUITES_CONFIG);
if (!cipherSuites.isEmpty()) {
sslContextFactory.setIncludeCipherSuites(cipherSuites.toArray(new String[0]));
}
if (!config.getString(RestConfig.SSL_ENDPOINT_IDENTIFICATION_ALGORITHM_CONFIG).isEmpty()) {
sslContextFactory.setEndpointIdentificationAlgorithm(config.getString(RestConfig.SSL_ENDPOINT_IDENTIFICATION_ALGORITHM_CONFIG));
}
if (!config.getString(RestConfig.SSL_TRUSTSTORE_LOCATION_CONFIG).isEmpty()) {
sslContextFactory.setTrustStorePath(config.getString(RestConfig.SSL_TRUSTSTORE_LOCATION_CONFIG));
sslContextFactory.setTrustStorePassword(config.getString(RestConfig.SSL_TRUSTSTORE_PASSWORD_CONFIG));
sslContextFactory.setTrustStoreType(config.getString(RestConfig.SSL_TRUSTSTORE_TYPE_CONFIG));
if (!config.getString(RestConfig.SSL_TRUSTMANAGER_ALGORITHM_CONFIG).isEmpty()) {
sslContextFactory.setTrustManagerFactoryAlgorithm(config.getString(RestConfig.SSL_TRUSTMANAGER_ALGORITHM_CONFIG));
}
}
sslContextFactory.setProtocol(config.getString(RestConfig.SSL_PROTOCOL_CONFIG));
if (!config.getString(RestConfig.SSL_PROVIDER_CONFIG).isEmpty()) {
sslContextFactory.setProtocol(config.getString(RestConfig.SSL_PROVIDER_CONFIG));
}
connector = new NetworkTrafficServerConnector(server, sslContextFactory);
}
connector.addNetworkTrafficListener(metricsListener);
connector.setPort(listener.getPort());
connector.setHost(listener.getHost());
server.addConnector(connector);
}
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/");
ServletHolder defaultHolder = new ServletHolder("default", DefaultServlet.class);
defaultHolder.setInitParameter("dirAllowed", "false");
ResourceCollection staticResources = getStaticResources();
if (staticResources != null) {
context.setBaseResource(staticResources);
}
if (config.getBoolean(RestConfig.ENABLE_GZIP_COMPRESSION_CONFIG)) {
FilterHolder gzipFilter = new FilterHolder(AsyncGzipFilter.class);
// do not check if .gz file already exists for the requested resource
gzipFilter.setInitParameter("checkGzExists", "false");
gzipFilter.setInitParameter("methods", "GET,POST");
context.addFilter(gzipFilter, "/*", null);
}
String authMethod = config.getString(RestConfig.AUTHENTICATION_METHOD_CONFIG);
if (enableBasicAuth(authMethod)) {
String realm = getConfiguration().getString(RestConfig.AUTHENTICATION_REALM_CONFIG);
List<String> roles = getConfiguration().getList(RestConfig.AUTHENTICATION_ROLES_CONFIG);
final SecurityHandler securityHandler = createSecurityHandler(realm, roles);
context.setSecurityHandler(securityHandler);
}
String allowedOrigins = getConfiguration().getString(RestConfig.ACCESS_CONTROL_ALLOW_ORIGIN_CONFIG);
if (allowedOrigins != null && !allowedOrigins.trim().isEmpty()) {
FilterHolder filterHolder = new FilterHolder(CrossOriginFilter.class);
filterHolder.setName("cross-origin");
filterHolder.setInitParameter(CrossOriginFilter.ALLOWED_ORIGINS_PARAM, allowedOrigins);
String allowedMethods = getConfiguration().getString(RestConfig.ACCESS_CONTROL_ALLOW_METHODS);
if (allowedMethods != null && !allowedOrigins.trim().isEmpty()) {
filterHolder.setInitParameter(CrossOriginFilter.ALLOWED_METHODS_PARAM, allowedMethods);
}
context.addFilter(filterHolder, "/*", EnumSet.of(DispatcherType.REQUEST));
}
context.addFilter(servletHolder, "/*", null);
configurePostResourceHandling(context);
context.addServlet(defaultHolder, "/*");
RequestLogHandler requestLogHandler = new RequestLogHandler();
Slf4jRequestLog requestLog = new Slf4jRequestLog();
requestLog.setLoggerName(config.getString(RestConfig.REQUEST_LOGGER_NAME_CONFIG));
requestLog.setLogLatency(true);
requestLogHandler.setRequestLog(requestLog);
HandlerCollection handlers = new HandlerCollection();
handlers.setHandlers(new Handler[] { context, new DefaultHandler(), requestLogHandler });
/* Needed for graceful shutdown as per `setStopTimeout` documentation */
StatisticsHandler statsHandler = new StatisticsHandler();
statsHandler.setHandler(handlers);
server.setHandler(statsHandler);
int gracefulShutdownMs = getConfiguration().getInt(RestConfig.SHUTDOWN_GRACEFUL_MS_CONFIG);
if (gracefulShutdownMs > 0) {
server.setStopTimeout(gracefulShutdownMs);
}
server.setStopAtShutdown(true);
return server;
}Example 89
| Project: spring-boot-master File: JettyServletWebServerFactory.java View source code |
/**
* Add Jetty's {@code DefaultServlet} to the given {@link WebAppContext}.
* @param context the jetty {@link WebAppContext}
*/
protected final void addDefaultServlet(WebAppContext context) {
Assert.notNull(context, "Context must not be null");
ServletHolder holder = new ServletHolder();
holder.setName("default");
holder.setClassName("org.eclipse.jetty.servlet.DefaultServlet");
holder.setInitParameter("dirAllowed", "false");
holder.setInitOrder(1);
context.getServletHandler().addServletWithMapping(holder, "/");
context.getServletHandler().getServletMapping("/").setDefault(true);
}Example 90
| Project: structr-master File: HttpService.java View source code |
@Override
public void initialize(final StructrServices services) throws ClassNotFoundException, IllegalAccessException, InstantiationException {
String sourceJarName = getClass().getProtectionDomain().getCodeSource().getLocation().toString();
final boolean isTest = Settings.Testing.getValue();
if (!isTest && StringUtils.stripEnd(sourceJarName, System.getProperty("file.separator")).endsWith("classes")) {
String jarFile = System.getProperty("jarFile");
if (StringUtils.isEmpty(jarFile)) {
throw new IllegalArgumentException(getClass().getName() + " was started in an environment where the classloader cannot determine the JAR file containing the main class.\n" + "Please specify the path to the JAR file in the parameter -DjarFile.\n" + "Example: -DjarFile=${project.build.directory}/${project.artifactId}-${project.version}.jar");
}
sourceJarName = jarFile;
}
// load configuration from properties file
maxIdleTime = Services.parseInt(System.getProperty("maxIdleTime"), 30000);
requestHeaderSize = Services.parseInt(System.getProperty("requestHeaderSize"), 8192);
if (Settings.Async.getValue()) {
logger.info("Running in asynchronous mode");
}
// other properties
final String keyStorePath = Settings.KeystorePath.getValue();
final String keyStorePassword = Settings.KeystorePassword.getValue();
final String contextPath = System.getProperty("contextPath", "/");
final boolean enableHttps = Settings.HttpsEnabled.getValue();
final boolean enableGzipCompression = Settings.GzipCompression.getValue();
final boolean logRequests = Settings.RequestLogging.getValue();
final String logPrefix = Settings.LogPrefix.getValue();
final String host = Settings.ApplicationHost.getValue();
final int httpsPort = Settings.HttpsPort.getValue();
boolean enableRewriteFilter = true;
// get current base path
String basePath = System.getProperty("home", Settings.getBasePath());
if (StringUtils.isEmpty(basePath)) {
// use cwd and, if that fails, /tmp as a fallback
basePath = System.getProperty("user.dir", "/tmp");
}
// create base directory if it does not exist
final File baseDir = new File(basePath);
if (!baseDir.exists()) {
baseDir.mkdirs();
}
server = new Server(Settings.HttpPort.getValue());
final ContextHandlerCollection contexts = new ContextHandlerCollection();
contexts.addHandler(new DefaultHandler());
final ServletContextHandler servletContext = new ServletContextHandler(server, contextPath, true, true);
final List<Connector> connectors = new LinkedList<>();
// create resource collection from base path & source JAR
try {
servletContext.setBaseResource(new ResourceCollection(Resource.newResource(basePath), JarResource.newJarResource(Resource.newResource(sourceJarName))));
} catch (Throwable t) {
logger.warn("Base resource {} not usable: {}", new Object[] { basePath, t.getMessage() });
}
// this is needed for the filters to work on the root context "/"
servletContext.addServlet("org.eclipse.jetty.servlet.DefaultServlet", "/");
servletContext.setInitParameter("org.eclipse.jetty.servlet.Default.dirAllowed", "false");
if (Settings.ConfigServletEnabled.getValue()) {
// configuration wizard entry point
servletContext.addServlet("org.structr.rest.servlet.ConfigServlet", "/structr/config/*");
}
// CMIS setup
if (Settings.CmisEnabled.getValue()) {
try {
servletContext.addEventListener(new CmisRepositoryContextListener());
final ServletHolder cmisAtomHolder = servletContext.addServlet(CmisAtomPubServlet.class.getName(), "/structr/cmis/atom/*");
cmisAtomHolder.setInitParameter("callContextHandler", BasicAuthCallContextHandler.class.getName());
cmisAtomHolder.setInitParameter("cmisVersion", "1.1");
final ServletHolder cmisBrowserHolder = servletContext.addServlet(CmisBrowserBindingServlet.class.getName(), "/structr/cmis/browser/*");
cmisBrowserHolder.setInitParameter("callContextHandler", BasicAuthCallContextHandler.class.getName());
cmisBrowserHolder.setInitParameter("cmisVersion", "1.1");
} catch (Throwable t) {
logger.warn("Cannot initialize CMIS servlet", t);
}
}
hashSessionManager = new HashSessionManager();
try {
hashSessionManager.setStoreDirectory(new File(baseDir + "/sessions"));
} catch (IOException ex) {
logger.warn("Could not set custom session manager with session store directory {}/sessions", baseDir);
}
servletContext.getSessionHandler().setSessionManager(hashSessionManager);
if (enableRewriteFilter) {
final FilterHolder rewriteFilter = new FilterHolder(UrlRewriteFilter.class);
rewriteFilter.setInitParameter("confPath", "urlrewrite.xml");
servletContext.addFilter(rewriteFilter, "/*", EnumSet.of(DispatcherType.REQUEST, DispatcherType.FORWARD, DispatcherType.ASYNC));
}
if (enableGzipCompression) {
final FilterHolder gzipFilter = Settings.Async.getValue() ? new FilterHolder(AsyncGzipFilter.class) : new FilterHolder(GzipFilter.class);
gzipFilter.setInitParameter("mimeTypes", "text/html,text/plain,text/css,text/javascript,application/json");
gzipFilter.setInitParameter("bufferSize", "32768");
gzipFilter.setInitParameter("minGzipSize", "256");
gzipFilter.setInitParameter("deflateCompressionLevel", "9");
gzipFilter.setInitParameter("methods", "GET,POST,PUT,HEAD,DELETE");
servletContext.addFilter(gzipFilter, "/*", EnumSet.of(DispatcherType.REQUEST, DispatcherType.FORWARD, DispatcherType.ASYNC));
}
contexts.addHandler(servletContext);
// enable request logging
if (logRequests) {
final String etcPath = basePath + "/etc";
final File etcDir = new File(etcPath);
if (!etcDir.exists()) {
etcDir.mkdir();
}
final String logbackConfFilePath = basePath + "/etc/logback-access.xml";
final File logbackConfFile = new File(logbackConfFilePath);
if (!logbackConfFile.exists()) {
// synthesize a logback accees log config file
List<String> config = new LinkedList<>();
config.add("<configuration>");
config.add(" <appender name=\"FILE\" class=\"ch.qos.logback.core.rolling.RollingFileAppender\">");
config.add(" <rollingPolicy class=\"ch.qos.logback.core.rolling.TimeBasedRollingPolicy\">");
config.add(" <fileNamePattern>logs/" + logPrefix + "-%d{yyyy_MM_dd}.request.log.zip</fileNamePattern>");
config.add(" </rollingPolicy>");
config.add(" <encoder>");
config.add(" <charset>UTF-8</charset>");
config.add(" <pattern>%h %l %u %t \"%r\" %s %b %n%fullRequest%n%n%fullResponse</pattern>");
config.add(" </encoder>");
config.add(" </appender>");
config.add(" <appender-ref ref=\"FILE\" />");
config.add("</configuration>");
try {
logbackConfFile.createNewFile();
FileUtils.writeLines(logbackConfFile, "UTF-8", config);
} catch (IOException ioex) {
logger.warn("Unable to write logback configuration.", ioex);
}
}
final FilterHolder loggingFilter = new FilterHolder(TeeFilter.class);
servletContext.addFilter(loggingFilter, "/*", EnumSet.of(DispatcherType.REQUEST, Settings.Async.getValue() ? DispatcherType.ASYNC : DispatcherType.FORWARD));
loggingFilter.setInitParameter("includes", "");
final RequestLogHandler requestLogHandler = new RequestLogHandler();
final String logPath = basePath + "/logs";
final File logDir = new File(logPath);
// Create logs directory if not existing
if (!logDir.exists()) {
logDir.mkdir();
}
final RequestLogImpl requestLog = new RequestLogImpl();
requestLog.setName("REQUESTLOG");
requestLogHandler.setRequestLog(requestLog);
final HandlerCollection handlers = new HandlerCollection();
handlers.setHandlers(new Handler[] { contexts, requestLogHandler });
server.setHandler(handlers);
} else {
server.setHandler(contexts);
}
final List<ContextHandler> resourceHandler = collectResourceHandlers();
for (ContextHandler contextHandler : resourceHandler) {
contexts.addHandler(contextHandler);
}
final Map<String, ServletHolder> servlets = collectServlets();
// add servlet elements
int position = 1;
for (Map.Entry<String, ServletHolder> servlet : servlets.entrySet()) {
final ServletHolder servletHolder = servlet.getValue();
final String path = servlet.getKey();
servletHolder.setInitOrder(position++);
logger.info("Adding servlet {} for {}", new Object[] { servletHolder, path });
servletContext.addServlet(servletHolder, path);
}
contexts.addHandler(servletContext);
if (StringUtils.isNotBlank(host) && Settings.HttpPort.getValue() > -1) {
httpConfig = new HttpConfiguration();
httpConfig.setSecureScheme("https");
httpConfig.setSecurePort(httpsPort);
//httpConfig.setOutputBufferSize(8192);
httpConfig.setRequestHeaderSize(requestHeaderSize);
final ServerConnector httpConnector = new ServerConnector(server, new HttpConnectionFactory(httpConfig));
httpConnector.setHost(host);
httpConnector.setPort(Settings.HttpPort.getValue());
connectors.add(httpConnector);
} else {
logger.warn("Unable to configure HTTP server port, please make sure that {} and {} are set correctly in structr.conf.", Settings.ApplicationHost.getKey(), Settings.HttpPort.getKey());
}
if (enableHttps) {
if (httpsPort > -1 && keyStorePath != null && !keyStorePath.isEmpty() && keyStorePassword != null) {
httpsConfig = new HttpConfiguration(httpConfig);
httpsConfig.addCustomizer(new SecureRequestCustomizer());
final SslContextFactory sslContextFactory = new SslContextFactory();
sslContextFactory.setKeyStorePath(keyStorePath);
sslContextFactory.setKeyStorePassword(keyStorePassword);
final ServerConnector https = new ServerConnector(server, new SslConnectionFactory(sslContextFactory, "http/1.1"), new HttpConnectionFactory(httpsConfig));
https.setPort(httpsPort);
https.setIdleTimeout(500000);
https.setHost(host);
https.setPort(httpsPort);
connectors.add(https);
} else {
logger.warn("Unable to configure SSL, please make sure that {}, {} and {} are set correctly in structr.conf.", new Object[] { Settings.HttpsPort.getKey(), Settings.KeystorePath.getKey(), Settings.KeystorePassword.getKey() });
}
}
if (!connectors.isEmpty()) {
server.setConnectors(connectors.toArray(new Connector[0]));
} else {
logger.error("No connectors configured, aborting.");
System.exit(0);
}
server.setStopTimeout(1000);
server.setStopAtShutdown(true);
}Example 91
| Project: Wave-master File: ServerRpcProvider.java View source code |
public void addWebSocketServlets() {
// Servlet where the websocket connection is served from.
ServletHolder wsholder = addServlet("/socket", WaveWebSocketServlet.class);
// TODO(zamfi): fix to let messages span frames.
wsholder.setInitParameter("bufferSize", "" + BUFFER_SIZE);
// Servlet where the websocket connection is served from.
ServletHolder sioholder = addServlet("/socket.io/*", WaveSocketIOServlet.class);
// TODO(zamfi): fix to let messages span frames.
sioholder.setInitParameter("bufferSize", "" + BUFFER_SIZE);
// Set flash policy server parameters
String flashPolicyServerHost = "localhost";
StringBuilder flashPolicyAllowedPorts = new StringBuilder();
/*
* Loop through addresses, collect list of ports, and determine if we are to use "localhost"
* of the AnyHost wildcard.
*/
for (InetSocketAddress addr : httpAddresses) {
if (flashPolicyAllowedPorts.length() > 0) {
flashPolicyAllowedPorts.append(",");
}
flashPolicyAllowedPorts.append(addr.getPort());
if (!addr.getAddress().isLoopbackAddress()) {
// Until it's possible to pass a list of address, this is the only valid alternative.
flashPolicyServerHost = "0.0.0.0";
}
}
sioholder.setInitParameter(FlashSocketTransport.PARAM_FLASHPOLICY_SERVER_HOST, flashPolicyServerHost);
sioholder.setInitParameter(FlashSocketTransport.PARAM_FLASHPOLICY_SERVER_PORT, "" + flashsocketPolicyPort);
// TODO: Change to use the public http address and all other bound addresses.
sioholder.setInitParameter(FlashSocketTransport.PARAM_FLASHPOLICY_DOMAIN, "*");
sioholder.setInitParameter(FlashSocketTransport.PARAM_FLASHPOLICY_PORTS, flashPolicyAllowedPorts.toString());
// Serve the static content and GWT web client with the default servlet
// (acts like a standard file-based web server).
addServlet("/static/*", DefaultServlet.class);
addServlet("/webclient/*", DefaultServlet.class);
}Example 92
| Project: wave-protocol-master File: ServerRpcProvider.java View source code |
public void addWebSocketServlets() {
// Servlet where the websocket connection is served from.
ServletHolder wsholder = addServlet("/socket", WaveWebSocketServlet.class);
// TODO(zamfi): fix to let messages span frames.
// 1M buffer
wsholder.setInitParameter("bufferSize", "" + 1024 * 1024);
// Servlet where the websocket connection is served from.
ServletHolder sioholder = addServlet("/socket.io/*", WaveSocketIOServlet.class);
// TODO(zamfi): fix to let messages span frames.
// 1M buffer
sioholder.setInitParameter("bufferSize", "" + 1024 * 1024);
// Set flash policy server parameters
String flashPolicyServerHost = "localhost";
StringBuilder flashPolicyAllowedPorts = new StringBuilder();
/*
* Loop through addresses, collect list of ports, and determine if we are to use "localhost"
* of the AnyHost wildcard.
*/
for (InetSocketAddress addr : httpAddresses) {
if (flashPolicyAllowedPorts.length() > 0) {
flashPolicyAllowedPorts.append(",");
}
flashPolicyAllowedPorts.append(addr.getPort());
if (!addr.getAddress().isLoopbackAddress()) {
// Until it's possible to pass a list of address, this is the only valid alternative.
flashPolicyServerHost = "0.0.0.0";
}
}
sioholder.setInitParameter(FlashSocketTransport.FLASHPOLICY_SERVER_HOST_KEY, flashPolicyServerHost);
sioholder.setInitParameter(FlashSocketTransport.FLASHPOLICY_SERVER_PORT_KEY, "" + flashsocketPolicyPort);
// TODO: Change to use the public http address and all other bound addresses.
sioholder.setInitParameter(FlashSocketTransport.FLASHPOLICY_DOMAIN_KEY, "*");
sioholder.setInitParameter(FlashSocketTransport.FLASHPOLICY_PORTS_KEY, flashPolicyAllowedPorts.toString());
// Serve the static content and GWT web client with the default servlet
// (acts like a standard file-based web server).
addServlet("/static/*", DefaultServlet.class);
addServlet("/webclient/*", DefaultServlet.class);
}Example 93
| Project: WaveInCloud-master File: ServerRpcProvider.java View source code |
public void addWebSocketServlets() {
// Servlet where the websocket connection is served from.
ServletHolder wsholder = addServlet("/socket", WaveWebSocketServlet.class);
// TODO(zamfi): fix to let messages span frames.
// 1M buffer
wsholder.setInitParameter("bufferSize", "" + 1024 * 1024 * 4);
// Servlet where the websocket connection is served from.
ServletHolder sioholder = addServlet("/socket.io/*", WaveSocketIOServlet.class);
// TODO(zamfi): fix to let messages span frames.
// 1M buffer
sioholder.setInitParameter("bufferSize", "" + 1024 * 1024);
// Set flash policy server parameters
String flashPolicyServerHost = "localhost";
StringBuilder flashPolicyAllowedPorts = new StringBuilder();
/*
* Loop through addresses, collect list of ports, and determine if we are to use "localhost"
* of the AnyHost wildcard.
*/
for (InetSocketAddress addr : httpAddresses) {
if (flashPolicyAllowedPorts.length() > 0) {
flashPolicyAllowedPorts.append(",");
}
flashPolicyAllowedPorts.append(addr.getPort());
if (!addr.getAddress().isLoopbackAddress()) {
// Until it's possible to pass a list of address, this is the only valid alternative.
flashPolicyServerHost = "0.0.0.0";
}
}
sioholder.setInitParameter(FlashSocketTransport.FLASHPOLICY_SERVER_HOST_KEY, flashPolicyServerHost);
sioholder.setInitParameter(FlashSocketTransport.FLASHPOLICY_SERVER_PORT_KEY, "" + flashsocketPolicyPort);
// TODO: Change to use the public http address and all other bound addresses.
sioholder.setInitParameter(FlashSocketTransport.FLASHPOLICY_DOMAIN_KEY, "*");
sioholder.setInitParameter(FlashSocketTransport.FLASHPOLICY_PORTS_KEY, flashPolicyAllowedPorts.toString());
// Serve the static content and GWT web client with the default servlet
// (acts like a standard file-based web server).
addServlet("/static/*", DefaultServlet.class);
addServlet("/webclient/*", DefaultServlet.class);
}Example 94
| Project: aokp-gerrit-master File: JettyServer.java View source code |
private ContextHandler makeContext(final String contextPath, final JettyEnv env, final Config cfg) throws MalformedURLException, IOException {
final ServletContextHandler app = new ServletContextHandler();
// This enables the use of sessions in Jetty, feature available
// for Gerrit plug-ins to enable user-level sessions.
//
app.setSessionHandler(new SessionHandler());
app.setErrorHandler(new HiddenErrorHandler());
// This is the path we are accessed by clients within our domain.
//
app.setContextPath(contextPath);
// Serve static resources directly from our JAR. This way we don't
// need to unpack them into yet another temporary directory prior to
// serving to clients.
//
app.setBaseResource(getBaseResource(app));
// HTTP front-end filter to be used as surrogate of Apache HTTP
// reverse-proxy filtering.
// It is meant to be used as simpler tiny deployment of custom-made
// security enforcement (Security tokens, IP-based security filtering, others)
String filterClassName = cfg.getString("httpd", null, "filterClass");
if (filterClassName != null) {
try {
@SuppressWarnings("unchecked") Class<? extends Filter> filterClass = (Class<? extends Filter>) Class.forName(filterClassName);
Filter filter = env.webInjector.getInstance(filterClass);
app.addFilter(new FilterHolder(filter), "/*", EnumSet.of(DispatcherType.REQUEST, DispatcherType.ASYNC));
} catch (Throwable e) {
String errorMessage = "Unable to instantiate front-end HTTP Filter " + filterClassName;
log.error(errorMessage, e);
throw new IllegalArgumentException(errorMessage, e);
}
}
// Perform the same binding as our web.xml would do, but instead
// of using the listener to create the injector pass the one we
// already have built.
//
GuiceFilter filter = env.webInjector.getInstance(GuiceFilter.class);
app.addFilter(new FilterHolder(filter), "/*", EnumSet.of(DispatcherType.REQUEST, DispatcherType.ASYNC));
app.addEventListener(new GuiceServletContextListener() {
@Override
protected Injector getInjector() {
return env.webInjector;
}
});
// Jetty requires at least one servlet be bound before it will
// bother running the filter above. Since the filter has all
// of our URLs except the static resources, the only servlet
// we need to bind is the default static resource servlet from
// the Jetty container.
//
final ServletHolder ds = app.addServlet(DefaultServlet.class, "/");
ds.setInitParameter("dirAllowed", "false");
ds.setInitParameter("redirectWelcome", "false");
ds.setInitParameter("useFileMappedBuffer", "false");
ds.setInitParameter("gzip", "true");
app.setWelcomeFiles(new String[0]);
return app;
}Example 95
| Project: incubator-wave-master File: ServerRpcProvider.java View source code |
public void addWebSocketServlets() {
// Servlet where the websocket connection is served from.
ServletHolder wsholder = addServlet("/socket", WaveWebSocketServlet.class);
// TODO(zamfi): fix to let messages span frames.
wsholder.setInitParameter("bufferSize", "" + BUFFER_SIZE);
// Atmosphere framework. Replacement of Socket.IO
// See https://issues.apache.org/jira/browse/WAVE-405
ServletHolder atholder = addServlet("/atmosphere*", AtmosphereGuiceServlet.class);
// Enable guice. See
// https://github.com/Atmosphere/atmosphere/wiki/Configuring-Atmosphere%27s-Classes-Creation-and-Injection
atholder.setInitParameter("org.atmosphere.cpr.objectFactory", "org.waveprotocol.box.server.rpc.atmosphere.GuiceAtmosphereFactory");
atholder.setAsyncSupported(true);
atholder.setInitOrder(0);
// Serve the static content and GWT web client with the default servlet
// (acts like a standard file-based web server).
addServlet("/static/*", DefaultServlet.class);
addServlet("/webclient/*", DefaultServlet.class);
}Example 96
| Project: kune-master File: ServerRpcProvider.java View source code |
public void addWebSocketServlets(WebAppContext context) {
// Servlet where the websocket connection is served from.
//ServletHolder wsholder = addServlet("/socket", WaveWebSocketServlet.class);
Injector injector = (Injector) context.getAttribute(INJECTOR_ATTRIBUTE);
ServletHolder wsholder = new ServletHolder(new WaveWebSocketServlet(this, injector.getInstance(Key.get(Integer.class, Names.named(CoreSettings.WEBSOCKET_MAX_IDLE_TIME))), injector.getInstance(Key.get(Integer.class, Names.named(CoreSettings.WEBSOCKET_MAX_MESSAGE_SIZE)))));
context.addServlet(wsholder, "/socket");
// TODO(zamfi): fix to let messages span frames.
wsholder.setInitParameter("bufferSize", "" + BUFFER_SIZE);
// Atmosphere framework. Replacement of Socket.IO
// See https://issues.apache.org/jira/browse/WAVE-405
ServletHolder atholder = addServlet("/atmosphere", injector.getInstance(AtmosphereGuiceServlet.class));
// Enable guice. See
// https://github.com/Atmosphere/atmosphere/wiki/Configuring-Atmosphere%27s-Classes-Creation-and-Injection
atholder.setInitParameter("org.atmosphere.cpr.objectFactory", "org.waveprotocol.box.server.rpc.atmosphere.GuiceAtmosphereFactory");
atholder.setAsyncSupported(true);
atholder.setInitOrder(0);
// Serve the static content and GWT web client with the default servlet
// (acts like a standard file-based web server).
ServletHolder defaultServlet = new ServletHolder(new DefaultServlet());
context.addServlet(defaultServlet, "/static/*");
context.addServlet(defaultServlet, "/webclient/*");
}Example 97
| Project: hbase-master File: HttpServer.java View source code |
/**
* Add default apps.
* @param appDir The application directory
* @throws IOException
*/
protected void addDefaultApps(ContextHandlerCollection parent, final String appDir, Configuration conf) throws IOException {
// set up the context for "/logs/" if "hadoop.log.dir" property is defined.
String logDir = this.logDir;
if (logDir == null) {
logDir = System.getProperty("hadoop.log.dir");
}
if (logDir != null) {
ServletContextHandler logContext = new ServletContextHandler(parent, "/logs");
logContext.addServlet(AdminAuthorizedServlet.class, "/*");
logContext.setResourceBase(logDir);
if (conf.getBoolean(ServerConfigurationKeys.HBASE_JETTY_LOGS_SERVE_ALIASES, ServerConfigurationKeys.DEFAULT_HBASE_JETTY_LOGS_SERVE_ALIASES)) {
Map<String, String> params = logContext.getInitParams();
params.put("org.mortbay.jetty.servlet.Default.aliases", "true");
}
logContext.setDisplayName("logs");
setContextAttributes(logContext, conf);
addNoCacheFilter(webAppContext);
defaultContexts.put(logContext, true);
}
// set up the context for "/static/*"
ServletContextHandler staticContext = new ServletContextHandler(parent, "/static");
staticContext.setResourceBase(appDir + "/static");
staticContext.addServlet(DefaultServlet.class, "/*");
staticContext.setDisplayName("static");
setContextAttributes(staticContext, conf);
defaultContexts.put(staticContext, true);
}Example 98
| Project: maven-wagon-master File: HttpWagonTestCase.java View source code |
public void testGzipGet() throws Exception {
Server server = new Server(getTestRepositoryPort());
String localRepositoryPath = FileTestUtils.getTestOutputDir().toString();
ServletContextHandler root = new ServletContextHandler(ServletContextHandler.SESSIONS);
root.setResourceBase(localRepositoryPath);
ServletHolder servletHolder = new ServletHolder(new DefaultServlet());
servletHolder.setInitParameter("gzip", "true");
root.addServlet(servletHolder, "/*");
addConnectors(server);
server.setHandler(root);
server.start();
try {
Wagon wagon = getWagon();
Repository testRepository = new Repository("id", getRepositoryUrl(server));
File sourceFile = new File(localRepositoryPath + "/gzip");
sourceFile.deleteOnExit();
String resName = "gzip-res.txt";
String sourceContent = writeTestFileGzip(sourceFile, resName);
wagon.connect(testRepository);
File destFile = FileTestUtils.createUniqueFile(getName(), getName());
destFile.deleteOnExit();
wagon.get("gzip/" + resName, destFile);
wagon.disconnect();
String destContent = FileUtils.fileRead(destFile);
assertEquals(sourceContent, destContent);
} finally {
server.stop();
}
}Example 99
| Project: eclipse-jetty-plugin-master File: Jetty7WebDefaults.java View source code |
/**
* {@inheritDoc}
*
* @see net.sourceforge.eclipsejetty.jetty.AbstractWebDefaults#getDefaultServletClass()
*/
@Override
protected String getDefaultServletClass() {
return "org.eclipse.jetty.servlet.DefaultServlet";
}Example 100
| Project: rap-master File: JettyController.java View source code |
ServletContextHandler createServletContext(String path) {
ensureServer();
ServletContextHandler result = new ServletContextHandler(getHandlerContainer(), path);
result.setSessionHandler(sessionHandler);
result.setBaseResource(createServletContextPath());
result.addServlet(DefaultServlet.class, "/");
return result;
}