private void addJspServlet(Context context) { Wrapper jspServlet = context.createWrapper(); jspServlet.setName("jsp"); jspServlet.setServletClass(getJsp().getClassName()); jspServlet.addInitParameter("fork", "false"); getJsp().getInitParameters().forEach(jspServlet::addInitParameter); jspServlet.setLoadOnStartup(3); context.addChild(jspServlet); context.addServletMappingDecoded("*.jsp", "jsp"); context.addServletMappingDecoded("*.jspx", "jsp"); }
@Override protected void initServer() throws Exception { this.tomcatServer = new Tomcat(); this.tomcatServer.setBaseDir(baseDir); this.tomcatServer.setHostname(getHost()); this.tomcatServer.setPort(getPort()); ServletHttpHandlerAdapter servlet = initServletAdapter(); File base = new File(System.getProperty("java.io.tmpdir")); Context rootContext = tomcatServer.addContext(this.contextPath, base.getAbsolutePath()); Tomcat.addServlet(rootContext, "httpHandlerServlet", servlet).setAsyncSupported(true); rootContext.addServletMappingDecoded(this.servletMapping, "httpHandlerServlet"); if (wsListener != null) { rootContext.addApplicationListener(wsListener.getName()); } }
@Override public void deployConfig(WebApplicationContext wac, Filter... filters) { Assert.state(this.port != -1, "setup() was never called."); this.context = this.tomcatServer.addContext("", System.getProperty("java.io.tmpdir")); this.context.addApplicationListener(WsContextListener.class.getName()); Tomcat.addServlet(this.context, "dispatcherServlet", new DispatcherServlet(wac)).setAsyncSupported(true); this.context.addServletMappingDecoded("/", "dispatcherServlet"); for (Filter filter : filters) { FilterDef filterDef = new FilterDef(); filterDef.setFilterName(filter.getClass().getName()); filterDef.setFilter(filter); filterDef.setAsyncSupported("true"); this.context.addFilterDef(filterDef); FilterMap filterMap = new FilterMap(); filterMap.setFilterName(filter.getClass().getName()); filterMap.addURLPattern("/*"); filterMap.setDispatcher("REQUEST,FORWARD,INCLUDE,ASYNC"); this.context.addFilterMap(filterMap); } }
private void addDefaultServlet(Context context) { Wrapper defaultServlet = context.createWrapper(); defaultServlet.setName("default"); defaultServlet.setServletClass("org.apache.catalina.servlets.DefaultServlet"); defaultServlet.addInitParameter("debug", "0"); defaultServlet.addInitParameter("listings", "false"); defaultServlet.setLoadOnStartup(1); // Otherwise the default location of a Spring DispatcherServlet cannot be set defaultServlet.setOverridable(true); context.addChild(defaultServlet); context.addServletMappingDecoded("/", "default"); }
ctx.addServletMappingDecoded("/*", "webdav"); tomcat.start(); port1 = tomcat.getConnector().getLocalPort();
ctx.addServletMappingDecoded("/*", "webdav"); tomcat.start(); port1 = tomcat.getConnector().getLocalPort();
/** * Add a new servlet mapping, replacing any existing mapping for * the specified pattern. * * @param pattern URL pattern to be mapped * @param name Name of the corresponding servlet to execute */ public default void addServletMappingDecoded(String pattern, String name) { addServletMappingDecoded(pattern, name, false); }
/** * Add a new servlet mapping, replacing any existing mapping for * the specified pattern. * * @param pattern URL pattern to be mapped * @param name Name of the corresponding servlet to execute */ public default void addServletMappingDecoded(String pattern, String name) { addServletMappingDecoded(pattern, name, false); }
@Override protected void before() throws LifecycleException { this.tomcat = new Tomcat(); this.tomcat.getConnector().setPort(0); Context context = this.tomcat.addContext("/", null); this.tomcat.addServlet("/", "test", new TestServlet()); context.addServletMappingDecoded("/", "test"); this.tomcat.addServlet("/", "set-cookie", new CookiesServlet()); context.addServletMappingDecoded("/set-cookie", "set-cookie"); this.tomcat.start(); this.port = this.tomcat.getConnector().getLocalPort(); }
public TomcatWebSocketTestServer(Class<?>... serverConfigs) { this.tomcatServer = new Tomcat(); this.tomcatServer.setPort(0); this.tomcatServer.setBaseDir(createTempDir()); this.serverContext = new AnnotationConfigWebApplicationContext(); this.serverContext.register(serverConfigs); Context context = this.tomcatServer.addContext("", System.getProperty("java.io.tmpdir")); context.addApplicationListener(WsContextListener.class.getName()); Tomcat.addServlet(context, "dispatcherServlet", new DispatcherServlet(this.serverContext)) .setAsyncSupported(true); context.addServletMappingDecoded("/", "dispatcherServlet"); }
public static void startServer(int tomcatPort, String contextPath, String servletName, Servlet servlet, String servletPattern) throws LifecycleException, IOException { List<String> relativeFolders = new ArrayList<>(); relativeFolders.add("src"); relativeFolders.add("main"); relativeFolders.add("webapp"); tomcat = new Tomcat(); tomcat.setBaseDir("."); tomcat.setPort(tomcatPort); // copy src/main/webapp to webapps/src/main/webapp baseDir = tomcat.getServer().getCatalinaHome().toPath(); Path sourcePath = baseDir.getParent().resolve("server"); webappsPath = baseDir.resolve("webapps"); destinationPath = webappsPath; for (String folder : relativeFolders) { sourcePath = sourcePath.resolve(folder); destinationPath = destinationPath.resolve(folder); } FileUtils.copyDirectory(sourcePath.toFile(), destinationPath.toFile()); Path relativePath = webappsPath.relativize(destinationPath); /* There needs to be a symlink to the current dir named 'webapps' */ context = tomcat.addContext(contextPath, relativePath.toString()); tomcat.addServlet(contextPath, servletName, servlet); context.addServletMappingDecoded(servletPattern, servletName); tomcat.init(); tomcat.start(); }
private void addAddedJAXWsServices() { final WebAppInfo webAppInfo = info.get(); final AppInfo appInfo = info.app(); if (webAppInfo == null || appInfo == null || "false".equalsIgnoreCase(appInfo.properties.getProperty("openejb.jaxws.add-missing-servlets", "true"))) { return; } try { // if no jaxws classes are here don't try anything OpenEJBContextConfig.class.getClassLoader().loadClass("org.apache.openejb.server.webservices.WsServlet"); } catch (final ClassNotFoundException | NoClassDefFoundError e) { return; } for (final ServletInfo servlet : webAppInfo.servlets) { if (!servlet.mappings.iterator().hasNext()) { // no need to do anything continue; } for (final ParamValueInfo pv : servlet.initParams) { if ("openejb-internal".equals(pv.name) && "true".equals(pv.value)) { if (context.findChild(servlet.servletName) == null) { final Wrapper wrapper = context.createWrapper(); wrapper.setName(servlet.servletName); wrapper.setServletClass("org.apache.openejb.server.webservices.WsServlet"); // add servlet to context context.addChild(wrapper); context.addServletMappingDecoded(servlet.mappings.iterator().next(), wrapper.getName()); } break; } } } }
context.addServletMappingDecoded( UDecoder.URLDecode(urlPattern, StandardCharsets.UTF_8), wrapper.getName());
context.addServletMappingDecoded( UDecoder.URLDecode(urlPattern, StandardCharsets.UTF_8), wrapper.getName());
@Bean public Tomcat embededTomcatServer(ApplicationContext context) throws Exception { HttpHandler handler = WebHttpHandlerBuilder.applicationContext(context).build(); // Tomcat and Jetty (also see notes below) Servlet servlet = new TomcatHttpHandlerAdapter(handler); Tomcat tomcatServer = new Tomcat(); tomcatServer.setHostname("localhost"); tomcatServer.setPort(this.port); Context rootContext = tomcatServer.addContext("", System.getProperty("java.io.tmpdir")); Tomcat.addServlet(rootContext, "httpHandlerServlet", servlet); rootContext.addServletMappingDecoded("/", "httpHandlerServlet"); return tomcatServer; }
@Override public void addServlet(ServletDescriptor descriptor) { String name = descriptor.getName(); Context context = getContextForPath(descriptor.getContext()); // remove existing servlet, to allow overrides (usually to change init params) Container previous = context.findChild(name); if (previous != null) { context.removeChild(previous); } Wrapper servlet = Tomcat.addServlet(context, name, descriptor.getClazz().getName()); Map<String, String> initParams = descriptor.getInitParams(); if (initParams != null) { for (Entry<String, String> es : initParams.entrySet()) { servlet.addInitParameter(es.getKey(), es.getValue()); } } for (String urlPattern : descriptor.getUrlPatterns()) { context.addServletMappingDecoded(urlPattern, name); } }
ctx.addServletMappingDecoded("/", "default"); ctx.addServletMappingDecoded("*.jsp", "jsp"); ctx.addServletMappingDecoded("*.jspx", "jsp");
ctx.addServletMappingDecoded("/", "default"); ctx.addServletMappingDecoded("*.jsp", "jsp"); ctx.addServletMappingDecoded("*.jspx", "jsp");
ctx.addServletMappingDecoded("/", "default");
protected void run() { server = new Tomcat(); server.setPort(port); try { final File base = createTemporaryDirectory(); server.setBaseDir(base.getAbsolutePath()); if (resourcePath == null) { final Context context = server.addContext("/", base.getAbsolutePath()); final Wrapper cxfServlet = Tomcat.addServlet(context, "cxfServlet", new CXFNonSpringJaxrsServlet()); cxfServlet.addInitParameter("jaxrs.serviceClasses", BookStore.class.getName()); cxfServlet.addInitParameter("jaxrs.providers", JacksonJsonProvider.class.getName()); cxfServlet.setAsyncSupported(true); context.addServletMappingDecoded("/rest/*", "cxfServlet"); } else { server.getHost().setAppBase(base.getAbsolutePath()); server.getHost().setAutoDeploy(true); server.getHost().setDeployOnStartup(true); server.addWebapp(contextPath, getClass().getResource(resourcePath).toURI().getPath().toString()); } server.start(); } catch (final Exception ex) { ex.printStackTrace(); fail(ex.getMessage()); } }