Java Code Examples for org.apache.catalina.Context#setDocBase()
The following examples show how to use
org.apache.catalina.Context#setDocBase() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: Tomcat.java From Tomcat8-Source-Read with MIT License | 6 votes |
/** * @param host The host in which the context will be deployed * @param contextPath The context mapping to use, "" for root context. * @param contextName The context name * @param dir Base directory for the context, for static files. * Must exist, relative to the server home * @return the deployed context * @see #addContext(String, String) */ public Context addContext(Host host, String contextPath, String contextName, String dir) { silence(host, contextName); Context ctx = createContext(host, contextPath); ctx.setName(contextName); ctx.setPath(contextPath); ctx.setDocBase(dir); ctx.addLifecycleListener(new FixContextListener()); if (host == null) { getHost().addChild(ctx); } else { host.addChild(ctx); } return ctx; }
Example 2
Source File: HostConfig.java From Tomcat8-Source-Read with MIT License | 6 votes |
private void reload(DeployedApplication app, File fileToRemove, String newDocBase) { if(log.isInfoEnabled()) log.info(sm.getString("hostConfig.reload", app.name)); Context context = (Context) host.findChild(app.name); if (context.getState().isAvailable()) { if (fileToRemove != null && newDocBase != null) { context.addLifecycleListener( new ExpandedDirectoryRemovalListener(fileToRemove, newDocBase)); } // Reload catches and logs exceptions context.reload(); } else { // If the context was not started (for example an error // in web.xml) we'll still get to try to start if (fileToRemove != null && newDocBase != null) { ExpandWar.delete(fileToRemove); context.setDocBase(newDocBase); } try { context.start(); } catch (Exception e) { log.error(sm.getString("hostConfig.context.restart", app.name), e); } } }
Example 3
Source File: HostConfig.java From Tomcat8-Source-Read with MIT License | 6 votes |
@Override public void lifecycleEvent(LifecycleEvent event) { if (Lifecycle.AFTER_STOP_EVENT.equals(event.getType())) { // The context has stopped. Context context = (Context) event.getLifecycle(); // Remove the old expanded WAR. ExpandWar.delete(toDelete); // Reset the docBase to trigger re-expansion of the WAR. context.setDocBase(newDocBase); // Remove this listener from the Context else it will run every // time the Context is stopped. context.removeLifecycleListener(this); } }
Example 4
Source File: Tomcat.java From tomcatsrc with Apache License 2.0 | 6 votes |
/** * @see #addWebapp(String, String) * * @param name Ignored. The contextPath will be used * * @deprecated Use {@link #addWebapp(Host, String, String)} */ @Deprecated public Context addWebapp(Host host, String contextPath, String name, String docBase) { silence(host, contextPath); Context ctx = createContext(host, contextPath); ctx.setPath(contextPath); ctx.setDocBase(docBase); ctx.addLifecycleListener(new DefaultWebXmlListener()); ctx.setConfigFile(getWebappConfigFile(docBase, contextPath)); ContextConfig ctxCfg = new ContextConfig(); ctx.addLifecycleListener(ctxCfg); // prevent it from looking ( if it finds one - it'll have dup error ) ctxCfg.setDefaultWebXml(noDefaultWebXmlPath()); if (host == null) { getHost().addChild(ctx); } else { host.addChild(ctx); } return ctx; }
Example 5
Source File: Tomcat.java From Tomcat7.0.67 with Apache License 2.0 | 6 votes |
public Context addContext(Host host, String contextPath, String contextName, String dir) { silence(host, contextPath); Context ctx = createContext(host, contextPath); ctx.setName(contextName); ctx.setPath(contextPath); ctx.setDocBase(dir); ctx.addLifecycleListener(new FixContextListener()); if (host == null) { getHost().addChild(ctx); } else { host.addChild(ctx); } return ctx; }
Example 6
Source File: Tomcat.java From Tomcat7.0.67 with Apache License 2.0 | 6 votes |
/** * @see #addWebapp(String, String) * * @param name Ignored. The contextPath will be used * * @deprecated Use {@link #addWebapp(Host, String, String)} */ @Deprecated public Context addWebapp(Host host, String contextPath, String name, String docBase) { silence(host, contextPath); Context ctx = createContext(host, contextPath); ctx.setPath(contextPath); ctx.setDocBase(docBase); ctx.addLifecycleListener(new DefaultWebXmlListener()); ctx.setConfigFile(getWebappConfigFile(docBase, contextPath)); ContextConfig ctxCfg = new ContextConfig(); ctx.addLifecycleListener(ctxCfg); // prevent it from looking ( if it finds one - it'll have dup error ) ctxCfg.setDefaultWebXml(noDefaultWebXmlPath()); if (host == null) { getHost().addChild(ctx); } else { host.addChild(ctx); } return ctx; }
Example 7
Source File: HostConfig.java From Tomcat7.0.67 with Apache License 2.0 | 6 votes |
private void reload(DeployedApplication app, File fileToRemove, String newDocBase) { if(log.isInfoEnabled()) log.info(sm.getString("hostConfig.reload", app.name)); Context context = (Context) host.findChild(app.name); if (context.getState().isAvailable()) { if (fileToRemove != null && newDocBase != null) { context.addLifecycleListener( new ExpandedDirectoryRemovalListener(fileToRemove, newDocBase)); } // Reload catches and logs exceptions context.reload(); } else { // If the context was not started (for example an error // in web.xml) we'll still get to try to start if (fileToRemove != null && newDocBase != null) { ExpandWar.delete(fileToRemove); context.setDocBase(newDocBase); } try { context.start(); } catch (Exception e) { log.warn(sm.getString ("hostConfig.context.restart", app.name), e); } } }
Example 8
Source File: HostConfig.java From Tomcat7.0.67 with Apache License 2.0 | 6 votes |
@Override public void lifecycleEvent(LifecycleEvent event) { if (event.getType() == Lifecycle.AFTER_STOP_EVENT) { // The context has stopped. Context context = (Context) event.getLifecycle(); // Remove the old expanded WAR. ExpandWar.delete(toDelete); // Reset the docBase to trigger re-expansion of the WAR. context.setDocBase(newDocBase); // Remove this listener from the Context else it will run every // time the Context is stopped. context.removeLifecycleListener(this); } }
Example 9
Source File: Tomcat.java From tomcatsrc with Apache License 2.0 | 6 votes |
public Context addContext(Host host, String contextPath, String contextName, String dir) { silence(host, contextName); Context ctx = createContext(host, contextPath); ctx.setName(contextName); ctx.setPath(contextPath); ctx.setDocBase(dir); ctx.addLifecycleListener(new FixContextListener()); if (host == null) { getHost().addChild(ctx); } else { host.addChild(ctx); } return ctx; }
Example 10
Source File: Tomcat.java From Tomcat8-Source-Read with MIT License | 5 votes |
/** * @param host The host in which the context will be deployed * @param contextPath The context mapping to use, "" for root context. * @param docBase Base directory for the context, for static files. * Must exist, relative to the server home * @param config Custom context configurator helper * @return the deployed context * @see #addWebapp(String, String) */ public Context addWebapp(Host host, String contextPath, String docBase, LifecycleListener config) { silence(host, contextPath); Context ctx = createContext(host, contextPath); ctx.setPath(contextPath); ctx.setDocBase(docBase); ctx.addLifecycleListener(getDefaultWebXmlListener()); ctx.setConfigFile(getWebappConfigFile(docBase, contextPath)); ctx.addLifecycleListener(config); if (config instanceof ContextConfig) { // prevent it from looking ( if it finds one - it'll have dup error ) ((ContextConfig) config).setDefaultWebXml(noDefaultWebXmlPath()); } if (host == null) { getHost().addChild(ctx); } else { host.addChild(ctx); } return ctx; }
Example 11
Source File: UserConfig.java From tomcatsrc with Apache License 2.0 | 5 votes |
/** * Deploy a web application for the specified user if they have such an * application in the defined directory within their home directory. * * @param user Username owning the application to be deployed * @param home Home directory of this user */ private void deploy(String user, String home) { // Does this user have a web application to be deployed? String contextPath = "/~" + user; if (host.findChild(contextPath) != null) return; File app = new File(home, directoryName); if (!app.exists() || !app.isDirectory()) return; /* File dd = new File(app, "/WEB-INF/web.xml"); if (!dd.exists() || !dd.isFile() || !dd.canRead()) return; */ host.getLogger().info(sm.getString("userConfig.deploy", user)); // Deploy the web application for this user try { Class<?> clazz = Class.forName(contextClass); Context context = (Context) clazz.newInstance(); context.setPath(contextPath); context.setDocBase(app.toString()); clazz = Class.forName(configClass); LifecycleListener listener = (LifecycleListener) clazz.newInstance(); context.addLifecycleListener(listener); host.addChild(context); } catch (Exception e) { host.getLogger().error(sm.getString("userConfig.error", user), e); } }
Example 12
Source File: UserConfig.java From Tomcat7.0.67 with Apache License 2.0 | 5 votes |
/** * Deploy a web application for the specified user if they have such an * application in the defined directory within their home directory. * * @param user Username owning the application to be deployed * @param home Home directory of this user */ private void deploy(String user, String home) { // Does this user have a web application to be deployed? String contextPath = "/~" + user; if (host.findChild(contextPath) != null) return; File app = new File(home, directoryName); if (!app.exists() || !app.isDirectory()) return; /* File dd = new File(app, "/WEB-INF/web.xml"); if (!dd.exists() || !dd.isFile() || !dd.canRead()) return; */ host.getLogger().info(sm.getString("userConfig.deploy", user)); // Deploy the web application for this user try { Class<?> clazz = Class.forName(contextClass); Context context = (Context) clazz.newInstance(); context.setPath(contextPath); context.setDocBase(app.toString()); clazz = Class.forName(configClass); LifecycleListener listener = (LifecycleListener) clazz.newInstance(); context.addLifecycleListener(listener); host.addChild(context); } catch (Exception e) { host.getLogger().error(sm.getString("userConfig.error", user), e); } }
Example 13
Source File: ContextConfig.java From Tomcat7.0.67 with Apache License 2.0 | 5 votes |
/** * Process events for an associated Context. * * @param event The lifecycle event that has occurred */ @Override public void lifecycleEvent(LifecycleEvent event) { // Identify the context we are associated with try { context = (Context) event.getLifecycle(); } catch (ClassCastException e) { log.error(sm.getString("contextConfig.cce", event.getLifecycle()), e); return; } // Process the event that has occurred if (event.getType().equals(Lifecycle.CONFIGURE_START_EVENT)) { configureStart(); } else if (event.getType().equals(Lifecycle.BEFORE_START_EVENT)) { beforeStart(); } else if (event.getType().equals(Lifecycle.AFTER_START_EVENT)) { // Restore docBase for management tools if (originalDocBase != null) { context.setDocBase(originalDocBase); } } else if (event.getType().equals(Lifecycle.CONFIGURE_STOP_EVENT)) { configureStop(); } else if (event.getType().equals(Lifecycle.AFTER_INIT_EVENT)) { init(); } else if (event.getType().equals(Lifecycle.AFTER_DESTROY_EVENT)) { destroy(); } }
Example 14
Source File: UserConfig.java From Tomcat8-Source-Read with MIT License | 5 votes |
/** * Deploy a web application for the specified user if they have such an * application in the defined directory within their home directory. * * @param user Username owning the application to be deployed * @param home Home directory of this user */ private void deploy(String user, String home) { // Does this user have a web application to be deployed? String contextPath = "/~" + user; if (host.findChild(contextPath) != null) return; File app = new File(home, directoryName); if (!app.exists() || !app.isDirectory()) return; host.getLogger().info(sm.getString("userConfig.deploy", user)); // Deploy the web application for this user try { Class<?> clazz = Class.forName(contextClass); Context context = (Context) clazz.getConstructor().newInstance(); context.setPath(contextPath); context.setDocBase(app.toString()); clazz = Class.forName(configClass); LifecycleListener listener = (LifecycleListener) clazz.getConstructor().newInstance(); context.addLifecycleListener(listener); host.addChild(context); } catch (Exception e) { host.getLogger().error(sm.getString("userConfig.error", user), e); } }
Example 15
Source File: ContextConfig.java From Tomcat8-Source-Read with MIT License | 5 votes |
/** * Process events for an associated Context. * 处理所有关联Context的事件。包括Web启动噢。 * @param event The lifecycle event that has occurred */ @Override public void lifecycleEvent(LifecycleEvent event) { // Identify the context we are associated with /** * 认定我们关联的context。 */ try { context = (Context) event.getLifecycle(); } catch (ClassCastException e) { log.error(sm.getString("contextConfig.cce", event.getLifecycle()), e); return; } // Process the event that has occurred if (event.getType().equals(Lifecycle.CONFIGURE_START_EVENT)) { /** * 监听到configure_start事件后。 */ configureStart(); } else if (event.getType().equals(Lifecycle.BEFORE_START_EVENT)) { beforeStart(); } else if (event.getType().equals(Lifecycle.AFTER_START_EVENT)) { // Restore docBase for management tools if (originalDocBase != null) { context.setDocBase(originalDocBase); } } else if (event.getType().equals(Lifecycle.CONFIGURE_STOP_EVENT)) { configureStop(); } else if (event.getType().equals(Lifecycle.AFTER_INIT_EVENT)) { init(); } else if (event.getType().equals(Lifecycle.AFTER_DESTROY_EVENT)) { destroy(); } }
Example 16
Source File: TestApplicationContext.java From Tomcat7.0.67 with Apache License 2.0 | 4 votes |
@Test public void testBug57190() throws Exception { Tomcat tomcat = getTomcatInstance(); Context foo1 = new StandardContext(); foo1.setName("/foo##1"); foo1.setPath("/foo"); foo1.setWebappVersion("1"); foo1.setDocBase(System.getProperty("java.io.tmpdir")); foo1.addLifecycleListener(new FixContextListener()); foo1.addLifecycleListener(new SetIdListener("foo1")); tomcat.getHost().addChild(foo1); Context foo2 = new StandardContext(); foo2.setName("/foo##2"); foo2.setPath("/foo"); foo2.setWebappVersion("2"); foo2.setDocBase(System.getProperty("java.io.tmpdir")); foo2.addLifecycleListener(new FixContextListener()); foo2.addLifecycleListener(new SetIdListener("foo2")); tomcat.getHost().addChild(foo2); // No file system docBase required Context bar = tomcat.addContext("/bar", null); bar.addLifecycleListener(new SetIdListener("bar")); // No file system docBase required Context ctx = tomcat.addContext("", null); ctx.addLifecycleListener(new SetIdListener("ROOT")); ctx.setCrossContext(true); Tomcat.addServlet(ctx, "Bug57190Servlet", new Bug57190Servlet()); ctx.addServletMapping("/", "Bug57190Servlet"); tomcat.start(); ByteChunk res = getUrl("http://localhost:" + getPort() + "/"); String body = res.toString(); Assert.assertTrue(body, body.contains("01-bar")); Assert.assertTrue(body, body.contains("02-foo2")); Assert.assertTrue(body, body.contains("03-foo1")); Assert.assertTrue(body, body.contains("04-foo2")); Assert.assertTrue(body, body.contains("05-foo2")); Assert.assertTrue(body, body.contains("06-ROOT")); Assert.assertTrue(body, body.contains("07-ROOT")); Assert.assertTrue(body, body.contains("08-foo2")); Assert.assertTrue(body, body.contains("09-ROOT")); }
Example 17
Source File: TestApplicationContext.java From tomcatsrc with Apache License 2.0 | 4 votes |
@Test public void testBug57190() throws Exception { Tomcat tomcat = getTomcatInstance(); Context foo1 = new StandardContext(); foo1.setName("/foo##1"); foo1.setPath("/foo"); foo1.setWebappVersion("1"); foo1.setDocBase(System.getProperty("java.io.tmpdir")); foo1.addLifecycleListener(new FixContextListener()); foo1.addLifecycleListener(new SetIdListener("foo1")); tomcat.getHost().addChild(foo1); Context foo2 = new StandardContext(); foo2.setName("/foo##2"); foo2.setPath("/foo"); foo2.setWebappVersion("2"); foo2.setDocBase(System.getProperty("java.io.tmpdir")); foo2.addLifecycleListener(new FixContextListener()); foo2.addLifecycleListener(new SetIdListener("foo2")); tomcat.getHost().addChild(foo2); // No file system docBase required Context bar = tomcat.addContext("/bar", null); bar.addLifecycleListener(new SetIdListener("bar")); // No file system docBase required Context ctx = tomcat.addContext("", null); ctx.addLifecycleListener(new SetIdListener("ROOT")); ctx.setCrossContext(true); Tomcat.addServlet(ctx, "Bug57190Servlet", new Bug57190Servlet()); ctx.addServletMapping("/", "Bug57190Servlet"); tomcat.start(); ByteChunk res = getUrl("http://localhost:" + getPort() + "/"); String body = res.toString(); Assert.assertTrue(body, body.contains("01-bar")); Assert.assertTrue(body, body.contains("02-foo2")); Assert.assertTrue(body, body.contains("03-foo1")); Assert.assertTrue(body, body.contains("04-foo2")); Assert.assertTrue(body, body.contains("05-foo2")); Assert.assertTrue(body, body.contains("06-ROOT")); Assert.assertTrue(body, body.contains("07-ROOT")); Assert.assertTrue(body, body.contains("08-foo2")); Assert.assertTrue(body, body.contains("09-ROOT")); }