vinayc 2002/06/27 22:03:17
Added: sevak/src/java/org/apache/avalon/apps/sevak/blocks
default-web.xml CatalinaSevakImpl.java
Log:
Sevak - Catalina Wrapper
Revision Changes Path
1.1
jakarta-avalon-apps/sevak/src/java/org/apache/avalon/apps/sevak/blocks/default-web.xml
Index: default-web.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<!-- ======================== Introduction ==============================
-->
<!-- This document defines default values for *all* web applications
-->
<!-- loaded into this instance of Tomcat. As each application is
-->
<!-- deployed, this file is processed, followed by the
-->
<!-- "/WEB-INF/web.xml" deployment descriptor from your own
-->
<!-- applications.
-->
<!--
-->
<!-- WARNING: Do not configure application-specific resources here!
-->
<!-- They should go in the "/WEB-INF/web.xml" file in your application.
-->
<!-- ================== Built In Servlet Definitions ====================
-->
<!-- The default servlet for all web applications, that serves static
-->
<!-- resources. It processes all requests that are not mapped to other
-->
<!-- servlets with servlet mappings (defined either here or in your own
-->
<!-- web.xml file. This servlet supports the following initialization
-->
<!-- parameters (default values are in square brackets):
-->
<!--
-->
<!-- debug Debugging detail level for messages logged
-->
<!-- by this servlet. [0]
-->
<!--
-->
<!-- input Input buffer size (in bytes) when reading
-->
<!-- resources to be served. [2048]
-->
<!--
-->
<!-- listings Should directory listings be produced if there
-->
<!-- is no welcome file in this directory? [true]
-->
<!--
-->
<!-- output Output buffer size (in bytes) when writing
-->
<!-- resources to be served. [2048]
-->
<!--
-->
<!-- readonly Is this context "read only", so HTTP
-->
<!-- commands like PUT and DELETE are
-->
<!-- rejected? [true]
-->
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>
org.apache.catalina.servlets.DefaultServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- The "invoker" servlet, which executes anonymous servlet classes
-->
<!-- that have not been defined in a web.xml file. Traditionally, this
-->
<!-- servlet is mapped to URL pattern "/servlet/*", but you can map it
-->
<!-- to other patterns as well. The extra path info portion of such a
-->
<!-- request must be the fully qualified class name of a Java class that
-->
<!-- implements Servlet (or extends HttpServlet), or the servlet name
-->
<!-- of an existing servlet definition. This servlet supports the
-->
<!-- following initialization parameters (default values are in square
-->
<!-- brackets):
-->
<!--
-->
<!-- debug Debugging detail level for messages logged
-->
<!-- by this servlet. [0]
-->
<servlet>
<servlet-name>invoker</servlet-name>
<servlet-class>
org.apache.catalina.servlets.InvokerServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<!-- The JSP page compiler and execution servlet, which is the mechanism
-->
<!-- used by Tomcat to support JSP pages. Traditionally, this servlet
-->
<!-- is mapped to URL patterh "*.jsp". This servlet supports the
-->
<!-- following initialization parameters (default values are in square
-->
<!-- brackets):
-->
<!--
-->
<!-- classdebuginfo Should the class file be compiled with
-->
<!-- debugging information? [false]
-->
<!--
-->
<!-- classpath What class path should I use while compiling
-->
<!-- generated servlets? [Created dynamically
-->
<!-- based on the current web application]
-->
<!--
-->
<!-- ieClassId The class-id value to be sent to Internet
-->
<!-- Explorer when using <jsp:plugin> tags.
-->
<!-- [clsid:8AD9C840-044E-11D1-B3E9-00805F499D93]
-->
<!--
-->
<!-- jspCompilerPlugin The fully qualified class name of the JSP
-->
<!-- compiler plug-in to be used. See below for
-->
<!-- more information.
-->
<!-- [Use internal JDK compiler]
-->
<!--
-->
<!-- keepgenerated Should we keep the generated Java source code
-->
<!-- for each page instead of deleting it? [true]
-->
<!--
-->
<!-- largefile Should we store the static content of JSP
-->
<!-- pages in external data files, to reduce the
-->
<!-- size of the generated servlets? [false]
-->
<!--
-->
<!-- logVerbosityLevel The level of detailed messages to be produced
-->
<!-- by this servlet. Increasing levels cause the
-->
<!-- generation of more messages. Valid values are
-->
<!-- FATAL, ERROR, WARNING, INFORMATION, and DEBUG.
-->
<!-- [WARNING]
-->
<!--
-->
<!-- mappedfile Should we generate static content with one
-->
<!-- print statement per input line, to ease
-->
<!-- debugging? [false]
-->
<!--
-->
<!-- scratchdir What scratch directory should we use when
-->
<!-- compiling JSP pages? [default work directory
-->
<!-- for the current web application]
-->
<!--
-->
<!-- If you wish to use Jikes to compile JSP pages:
-->
<!-- * Set the "classpath" initialization parameter appropriately
-->
<!-- for this web application.
-->
<!-- * Set the "jspCompilerPlugin" initialization parameter to
-->
<!-- "org.apache.jasper.compiler.JikesJavaCompiler".
-->
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>logVerbosityLevel</param-name>
<param-value>WARNING</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
<!-- Server Side Includes processing servlet, which processes SSI
-->
<!-- directives in HTML pages consistent with similar support in web
-->
<!-- servers like Apache. Traditionally, this servlet is mapped to
-->
<!-- URL pattern "*.shtml". This servlet supports the following
-->
<!-- initialization parameters (default values are in square brackets):
-->
<!--
-->
<!-- buffered Should output from this servlet be buffered?
-->
<!-- (0=false, 1=true) [0]
-->
<!--
-->
<!-- debug Debugging detail level for messages logged
-->
<!-- by this servlet. [0]
-->
<!--
-->
<!-- expires The number of seconds before a page with SSI
-->
<!-- directives will expire. [No default]
-->
<!--
-->
<!-- isVirtualWebappRelative
-->
<!-- Should "virtual" paths be interpreted as
-->
<!-- relative to the context root, instead of
-->
<!-- the server root? (0=false, 1=true) [0]
-->
<!--
-->
<!-- ignoreUnsupportedDirective
-->
<!-- Should unknown or misspelled Ssi directives
-->
<!-- be ignored and no errors shown?
-->
<!-- (0=false, 1=true) [1]
-->
<!--
-->
<!-- IMPORTANT: To use the SSI servlet, you also need to rename the
-->
<!-- $CATALINA_HOME/server/lib/servlets-ssi.renametojar file
-->
<!-- to $CATALINA_HOME/server/lib/servlets-ssi.jar
-->
<!--
<servlet>
<servlet-name>ssi</servlet-name>
<servlet-class>
org.apache.catalina.servlets.SsiInvokerServlet
</servlet-class>
<init-param>
<param-name>buffered</param-name>
<param-value>1</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>expires</param-name>
<param-value>666</param-value>
</init-param>
<init-param>
<param-name>isVirtualWebappRelative</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>ignoreUnsupportedDirective</param-name>
<param-value>1</param-value>
</init-param>
<load-on-startup>4</load-on-startup>
</servlet>
-->
<!-- Common Gateway Includes (CGI) processing servlet, which supports
-->
<!-- execution of external applications that conform to the CGI spec
-->
<!-- requirements. Typically, this servlet is mapped to the URL pattern
-->
<!-- "/cgi-bin/*", which means that any CGI applications that are
-->
<!-- executed must be present within the web application. This servlet
-->
<!-- supports the following initialization parameters (default values
-->
<!-- are in square brackets):
-->
<!--
-->
<!-- cgiPathPrefix The CGI search path will start at
-->
<!-- webAppRootDir + File.separator + this prefix.
-->
<!-- [WEB-INF/cgi]
-->
<!--
-->
<!-- clientInputTimeout The time (in milliseconds) to wait for input
-->
<!-- from the browser before assuming that there
-->
<!-- is none. [100]
-->
<!--
-->
<!-- debug Debugging detail level for messages logged
-->
<!-- by this servlet. [0]
-->
<!--
-->
<!-- IMPORTANT: To use the CGI servlet, you also need to rename the
-->
<!-- $CATALINA_HOME/server/lib/servlets-cgi.renametojar file
-->
<!-- to $CATALINA_HOME/server/lib/servlets-cgi.jar
-->
<!--
<servlet>
<servlet-name>cgi</servlet-name>
<servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
<init-param>
<param-name>clientInputTimeout</param-name>
<param-value>100</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>6</param-value>
</init-param>
<init-param>
<param-name>cgiPathPrefix</param-name>
<param-value>WEB-INF/cgi</param-value>
</init-param>
<load-on-startup>5</load-on-startup>
</servlet>
-->
<!-- ================ Built In Servlet Mappings =========================
-->
<!-- The servlet mappings for the built in servlets defined above. Note
-->
<!-- that, by default, the CGI and SSI servlets are *not* mapped. You
-->
<!-- must uncomment these mappings (or add them to your application's own
-->
<!-- web.xml deployment descriptor) to enable these services
-->
<!-- The mapping for the default servlet -->
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<!-- The mapping for the invoker servlet -->
<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
<!-- The mapping for the JSP servlet -->
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
<!-- The mapping for the SSI servlet -->
<!--
<servlet-mapping>
<servlet-name>ssi</servlet-name>
<url-pattern>*.shtml</url-pattern>
</servlet-mapping>
-->
<!-- The mapping for the CGI Gateway servlet -->
<!--
<servlet-mapping>
<servlet-name>cgi</servlet-name>
<url-pattern>/cgi-bin/*</url-pattern>
</servlet-mapping>
-->
<!-- ==================== Default Session Configuration =================
-->
<!-- You can set the default session timeout (in minutes) for all newly
-->
<!-- created sessions by modifying the value below.
-->
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<!-- ===================== Default MIME Type Mappings ===================
-->
<!-- When serving static resources, Tomcat will automatically generate
-->
<!-- a "Content-Type" header based on the resource's filename extension,
-->
<!-- based on these mappings. Additional mappings can be added here (to
-->
<!-- apply to all web applications), or in your own application's web.xml
-->
<!-- deployment descriptor.
-->
<mime-mapping>
<extension>abs</extension>
<mime-type>audio/x-mpeg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ai</extension>
<mime-type>application/postscript</mime-type>
</mime-mapping>
<mime-mapping>
<extension>aif</extension>
<mime-type>audio/x-aiff</mime-type>
</mime-mapping>
<mime-mapping>
<extension>aifc</extension>
<mime-type>audio/x-aiff</mime-type>
</mime-mapping>
<mime-mapping>
<extension>aiff</extension>
<mime-type>audio/x-aiff</mime-type>
</mime-mapping>
<mime-mapping>
<extension>aim</extension>
<mime-type>application/x-aim</mime-type>
</mime-mapping>
<mime-mapping>
<extension>art</extension>
<mime-type>image/x-jg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>asf</extension>
<mime-type>video/x-ms-asf</mime-type>
</mime-mapping>
<mime-mapping>
<extension>asx</extension>
<mime-type>video/x-ms-asf</mime-type>
</mime-mapping>
<mime-mapping>
<extension>au</extension>
<mime-type>audio/basic</mime-type>
</mime-mapping>
<mime-mapping>
<extension>avi</extension>
<mime-type>video/x-msvideo</mime-type>
</mime-mapping>
<mime-mapping>
<extension>avx</extension>
<mime-type>video/x-rad-screenplay</mime-type>
</mime-mapping>
<mime-mapping>
<extension>bcpio</extension>
<mime-type>application/x-bcpio</mime-type>
</mime-mapping>
<mime-mapping>
<extension>bin</extension>
<mime-type>application/octet-stream</mime-type>
</mime-mapping>
<mime-mapping>
<extension>bmp</extension>
<mime-type>image/bmp</mime-type>
</mime-mapping>
<mime-mapping>
<extension>body</extension>
<mime-type>text/html</mime-type>
</mime-mapping>
<mime-mapping>
<extension>cdf</extension>
<mime-type>application/x-cdf</mime-type>
</mime-mapping>
<mime-mapping>
<extension>cer</extension>
<mime-type>application/x-x509-ca-cert</mime-type>
</mime-mapping>
<mime-mapping>
<extension>class</extension>
<mime-type>application/java</mime-type>
</mime-mapping>
<mime-mapping>
<extension>cpio</extension>
<mime-type>application/x-cpio</mime-type>
</mime-mapping>
<mime-mapping>
<extension>csh</extension>
<mime-type>application/x-csh</mime-type>
</mime-mapping>
<mime-mapping>
<extension>css</extension>
<mime-type>text/css</mime-type>
</mime-mapping>
<mime-mapping>
<extension>dib</extension>
<mime-type>image/bmp</mime-type>
</mime-mapping>
<mime-mapping>
<extension>doc</extension>
<mime-type>application/msword</mime-type>
</mime-mapping>
<mime-mapping>
<extension>dtd</extension>
<mime-type>text/plain</mime-type>
</mime-mapping>
<mime-mapping>
<extension>dv</extension>
<mime-type>video/x-dv</mime-type>
</mime-mapping>
<mime-mapping>
<extension>dvi</extension>
<mime-type>application/x-dvi</mime-type>
</mime-mapping>
<mime-mapping>
<extension>eps</extension>
<mime-type>application/postscript</mime-type>
</mime-mapping>
<mime-mapping>
<extension>etx</extension>
<mime-type>text/x-setext</mime-type>
</mime-mapping>
<mime-mapping>
<extension>exe</extension>
<mime-type>application/octet-stream</mime-type>
</mime-mapping>
<mime-mapping>
<extension>gif</extension>
<mime-type>image/gif</mime-type>
</mime-mapping>
<mime-mapping>
<extension>gtar</extension>
<mime-type>application/x-gtar</mime-type>
</mime-mapping>
<mime-mapping>
<extension>gz</extension>
<mime-type>application/x-gzip</mime-type>
</mime-mapping>
<mime-mapping>
<extension>hdf</extension>
<mime-type>application/x-hdf</mime-type>
</mime-mapping>
<mime-mapping>
<extension>hqx</extension>
<mime-type>application/mac-binhex40</mime-type>
</mime-mapping>
<mime-mapping>
<extension>htc</extension>
<mime-type>text/x-component</mime-type>
</mime-mapping>
<mime-mapping>
<extension>htm</extension>
<mime-type>text/html</mime-type>
</mime-mapping>
<mime-mapping>
<extension>html</extension>
<mime-type>text/html</mime-type>
</mime-mapping>
<mime-mapping>
<extension>hqx</extension>
<mime-type>application/mac-binhex40</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ief</extension>
<mime-type>image/ief</mime-type>
</mime-mapping>
<mime-mapping>
<extension>jad</extension>
<mime-type>text/vnd.sun.j2me.app-descriptor</mime-type>
</mime-mapping>
<mime-mapping>
<extension>jar</extension>
<mime-type>application/java-archive</mime-type>
</mime-mapping>
<mime-mapping>
<extension>java</extension>
<mime-type>text/plain</mime-type>
</mime-mapping>
<mime-mapping>
<extension>jnlp</extension>
<mime-type>application/x-java-jnlp-file</mime-type>
</mime-mapping>
<mime-mapping>
<extension>jpe</extension>
<mime-type>image/jpeg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>jpeg</extension>
<mime-type>image/jpeg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>jpg</extension>
<mime-type>image/jpeg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>js</extension>
<mime-type>text/javascript</mime-type>
</mime-mapping>
<mime-mapping>
<extension>kar</extension>
<mime-type>audio/x-midi</mime-type>
</mime-mapping>
<mime-mapping>
<extension>latex</extension>
<mime-type>application/x-latex</mime-type>
</mime-mapping>
<mime-mapping>
<extension>m3u</extension>
<mime-type>audio/x-mpegurl</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mac</extension>
<mime-type>image/x-macpaint</mime-type>
</mime-mapping>
<mime-mapping>
<extension>man</extension>
<mime-type>application/x-troff-man</mime-type>
</mime-mapping>
<mime-mapping>
<extension>me</extension>
<mime-type>application/x-troff-me</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mid</extension>
<mime-type>audio/x-midi</mime-type>
</mime-mapping>
<mime-mapping>
<extension>midi</extension>
<mime-type>audio/x-midi</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mif</extension>
<mime-type>application/x-mif</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mov</extension>
<mime-type>video/quicktime</mime-type>
</mime-mapping>
<mime-mapping>
<extension>movie</extension>
<mime-type>video/x-sgi-movie</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mp1</extension>
<mime-type>audio/x-mpeg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mp2</extension>
<mime-type>audio/x-mpeg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mp3</extension>
<mime-type>audio/x-mpeg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mpa</extension>
<mime-type>audio/x-mpeg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mpe</extension>
<mime-type>video/mpeg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mpeg</extension>
<mime-type>video/mpeg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mpega</extension>
<mime-type>audio/x-mpeg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mpg</extension>
<mime-type>video/mpeg</mime-type>
</mime-mapping>
<mime-mapping>
<extension>mpv2</extension>
<mime-type>video/mpeg2</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ms</extension>
<mime-type>application/x-wais-source</mime-type>
</mime-mapping>
<mime-mapping>
<extension>nc</extension>
<mime-type>application/x-netcdf</mime-type>
</mime-mapping>
<mime-mapping>
<extension>oda</extension>
<mime-type>application/oda</mime-type>
</mime-mapping>
<mime-mapping>
<extension>pbm</extension>
<mime-type>image/x-portable-bitmap</mime-type>
</mime-mapping>
<mime-mapping>
<extension>pct</extension>
<mime-type>image/pict</mime-type>
</mime-mapping>
<mime-mapping>
<extension>pdf</extension>
<mime-type>application/pdf</mime-type>
</mime-mapping>
<mime-mapping>
<extension>pgm</extension>
<mime-type>image/x-portable-graymap</mime-type>
</mime-mapping>
<mime-mapping>
<extension>pic</extension>
<mime-type>image/pict</mime-type>
</mime-mapping>
<mime-mapping>
<extension>pict</extension>
<mime-type>image/pict</mime-type>
</mime-mapping>
<mime-mapping>
<extension>pls</extension>
<mime-type>audio/x-scpls</mime-type>
</mime-mapping>
<mime-mapping>
<extension>png</extension>
<mime-type>image/png</mime-type>
</mime-mapping>
<mime-mapping>
<extension>pnm</extension>
<mime-type>image/x-portable-anymap</mime-type>
</mime-mapping>
<mime-mapping>
<extension>pnt</extension>
<mime-type>image/x-macpaint</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ppm</extension>
<mime-type>image/x-portable-pixmap</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ps</extension>
<mime-type>application/postscript</mime-type>
</mime-mapping>
<mime-mapping>
<extension>psd</extension>
<mime-type>image/x-photoshop</mime-type>
</mime-mapping>
<mime-mapping>
<extension>qt</extension>
<mime-type>video/quicktime</mime-type>
</mime-mapping>
<mime-mapping>
<extension>qti</extension>
<mime-type>image/x-quicktime</mime-type>
</mime-mapping>
<mime-mapping>
<extension>qtif</extension>
<mime-type>image/x-quicktime</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ras</extension>
<mime-type>image/x-cmu-raster</mime-type>
</mime-mapping>
<mime-mapping>
<extension>rgb</extension>
<mime-type>image/x-rgb</mime-type>
</mime-mapping>
<mime-mapping>
<extension>rm</extension>
<mime-type>application/vnd.rn-realmedia</mime-type>
</mime-mapping>
<mime-mapping>
<extension>roff</extension>
<mime-type>application/x-troff</mime-type>
</mime-mapping>
<mime-mapping>
<extension>rtf</extension>
<mime-type>application/rtf</mime-type>
</mime-mapping>
<mime-mapping>
<extension>rtx</extension>
<mime-type>text/richtext</mime-type>
</mime-mapping>
<mime-mapping>
<extension>sh</extension>
<mime-type>application/x-sh</mime-type>
</mime-mapping>
<mime-mapping>
<extension>shar</extension>
<mime-type>application/x-shar</mime-type>
</mime-mapping>
<mime-mapping>
<extension>smf</extension>
<mime-type>audio/x-midi</mime-type>
</mime-mapping>
<mime-mapping>
<extension>snd</extension>
<mime-type>audio/basic</mime-type>
</mime-mapping>
<mime-mapping>
<extension>src</extension>
<mime-type>application/x-wais-source</mime-type>
</mime-mapping>
<mime-mapping>
<extension>sv4cpio</extension>
<mime-type>application/x-sv4cpio</mime-type>
</mime-mapping>
<mime-mapping>
<extension>sv4crc</extension>
<mime-type>application/x-sv4crc</mime-type>
</mime-mapping>
<mime-mapping>
<extension>swf</extension>
<mime-type>application/x-shockwave-flash</mime-type>
</mime-mapping>
<mime-mapping>
<extension>t</extension>
<mime-type>application/x-troff</mime-type>
</mime-mapping>
<mime-mapping>
<extension>tar</extension>
<mime-type>application/x-tar</mime-type>
</mime-mapping>
<mime-mapping>
<extension>tcl</extension>
<mime-type>application/x-tcl</mime-type>
</mime-mapping>
<mime-mapping>
<extension>tex</extension>
<mime-type>application/x-tex</mime-type>
</mime-mapping>
<mime-mapping>
<extension>texi</extension>
<mime-type>application/x-texinfo</mime-type>
</mime-mapping>
<mime-mapping>
<extension>texinfo</extension>
<mime-type>application/x-texinfo</mime-type>
</mime-mapping>
<mime-mapping>
<extension>tif</extension>
<mime-type>image/tiff</mime-type>
</mime-mapping>
<mime-mapping>
<extension>tiff</extension>
<mime-type>image/tiff</mime-type>
</mime-mapping>
<mime-mapping>
<extension>tr</extension>
<mime-type>application/x-troff</mime-type>
</mime-mapping>
<mime-mapping>
<extension>tsv</extension>
<mime-type>text/tab-separated-values</mime-type>
</mime-mapping>
<mime-mapping>
<extension>txt</extension>
<mime-type>text/plain</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ulw</extension>
<mime-type>audio/basic</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ustar</extension>
<mime-type>application/x-ustar</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xbm</extension>
<mime-type>image/x-xbitmap</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xpm</extension>
<mime-type>image/x-xpixmap</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xwd</extension>
<mime-type>image/x-xwindowdump</mime-type>
</mime-mapping>
<mime-mapping>
<extension>wav</extension>
<mime-type>audio/x-wav</mime-type>
</mime-mapping>
<mime-mapping>
<!-- Wireless Bitmap -->
<extension>wbmp</extension>
<mime-type>image/vnd.wap.wbmp</mime-type>
</mime-mapping>
<mime-mapping>
<!-- WML Source -->
<extension>wml</extension>
<mime-type>text/vnd.wap.wml</mime-type>
</mime-mapping>
<mime-mapping>
<!-- Compiled WML -->
<extension>wmlc</extension>
<mime-type>application/vnd.wap.wmlc</mime-type>
</mime-mapping>
<mime-mapping>
<!-- WML Script Source -->
<extension>wmls</extension>
<mime-type>text/vnd.wap.wmls</mime-type>
</mime-mapping>
<mime-mapping>
<!-- Compiled WML Script -->
<extension>wmlscriptc</extension>
<mime-type>application/vnd.wap.wmlscriptc</mime-type>
</mime-mapping>
<mime-mapping>
<extension>wrl</extension>
<mime-type>x-world/x-vrml</mime-type>
</mime-mapping>
<mime-mapping>
<extension>Z</extension>
<mime-type>application/x-compress</mime-type>
</mime-mapping>
<mime-mapping>
<extension>z</extension>
<mime-type>application/x-compress</mime-type>
</mime-mapping>
<mime-mapping>
<extension>zip</extension>
<mime-type>application/zip</mime-type>
</mime-mapping>
<!-- ==================== Default Welcome File List =====================
-->
<!-- When a request URI refers to a directory, the default servlet looks
-->
<!-- for a "welcome file" within that directory and, if present,
-->
<!-- to the corresponding resource URI for display. If no welcome file
-->
<!-- is present, the default servlet either serves a directory listing,
-->
<!-- or returns a 404 status, depending on how it is configured.
-->
<!--
-->
<!-- If you define welcome files in your own application's web.xml
-->
<!-- deployment descriptor, that list *replaces* the list configured
-->
<!-- here, so be sure that you include any of the default values that
-->
<!-- you wish to include.
-->
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
1.1
jakarta-avalon-apps/sevak/src/java/org/apache/avalon/apps/sevak/blocks/CatalinaSevakImpl.java
Index: CatalinaSevakImpl.java
===================================================================
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE file.
*/
package org.apache.avalon.apps.sevak.blocks;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import org.apache.avalon.apps.sevak.Sevak;
import org.apache.avalon.apps.sevak.SevakException;
import org.apache.avalon.apps.sevak.util.CatalinaLogger;
import org.apache.avalon.apps.sevak.util.CustomWebappLoader;
import org.apache.avalon.framework.activity.Initializable;
import org.apache.avalon.framework.configuration.Configurable;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.avalon.framework.context.Context;
import org.apache.avalon.framework.context.Contextualizable;
import org.apache.avalon.framework.logger.AbstractLogEnabled;
import org.apache.avalon.framework.service.ServiceException;
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.avalon.framework.service.Serviceable;
import org.apache.avalon.phoenix.BlockContext;
import org.apache.catalina.Engine;
import org.apache.catalina.Host;
import org.apache.catalina.Lifecycle;
import org.apache.catalina.LifecycleException;
import org.apache.catalina.Loader;
import org.apache.catalina.core.StandardContext;
import org.apache.catalina.startup.ContextConfig;
import org.apache.catalina.startup.Embedded;
import org.apache.coyote.tomcat4.CoyoteConnector;
/**
* @phoenix:block
* @phoenix:service name="org.apache.avalon.apps.sevak.Sevak"
*
* Tomcat Wrapper.
*
*
* @see <a href="http://jakarta.apache.org/tomcat">Tomcat Project Page</a>
*
* @author Vinay Chandran<[EMAIL PROTECTED]>
* @version 1.0
*/
public class CatalinaSevakImpl
extends AbstractLogEnabled
implements Contextualizable, Serviceable, Configurable, Initializable,
Sevak
{
private BlockContext m_context;
private Configuration m_configuration;
private Engine m_engine = null;
private Embedded m_embedded = null;
private Host m_tomcatHost = null;
private Loader m_catalinaCustomClassLoader = null;
private int m_port;
private String m_host = null;
/**
* @see
org.apache.avalon.framework.context.Contextualizable#contextualize(Context)
*/
public void contextualize(final Context context)
{
getLogger().info("Sevak.contextualize()");
m_context = (BlockContext) context;
}
/**
* @see
org.apache.avalon.framework.configuration.Configurable#configure(Configuration)
*/
public void configure(final Configuration configuration)
throws ConfigurationException
{
m_configuration = configuration;
}
/**
* @see org.apache.avalon.framework.service.Serviceable
*
*/
public void service(final ServiceManager serviceManager)
throws ServiceException
{
getLogger().info("Sevak.service()");
}
/**
* @see org.apache.avalon.framework.activity.Initializable#initialize()
*/
public void initialize() throws Exception
{
getLogger().info("Sevak.initialize()");
//create the Logger
CatalinaLogger catalinaLogger = new CatalinaLogger();
catalinaLogger.enableLogging(getLogger());
//create the Custom ClassLoader
m_catalinaCustomClassLoader =
new CustomWebappLoader(this.getClass().getClassLoader());
//read the configuration properties
String catalinaHome =
m_configuration.getChild("catalina.home").getValue(null);
if (catalinaHome == null)
{
catalinaHome=m_context.getBaseDirectory().getAbsolutePath();
//Creating a conf/ folder and dumping the default web.xml
File confDir=new File(m_context.getBaseDirectory(),"conf");
confDir.mkdir();
getLogger().info("Created conf/ folder");
InputStream in=
CatalinaSevakImpl.class.getResourceAsStream("default-web.xml");
FileOutputStream fos =
new FileOutputStream(new
File(confDir,"web.xml").getAbsolutePath());
byte[] bytes= new byte[512];
int read=0;
while((read=in.read(bytes))!=-1)
{
fos.write(bytes,0,read);
}
fos.close();
in.close();
}
/*
* TODO : Hack Tomcat to be able to run without the catalina.home
property set
{
System.out.println(
"catalina.home property Not Found. Using : "
+ m_context.getBaseDirectory().getAbsolutePath());
catalinaHome = m_context.getBaseDirectory().getAbsolutePath();
}
*/
m_port = m_configuration.getChild("port").getValueAsInteger(8080);
m_host = m_configuration.getChild("bind").getValue("localhost");
//set the catalina home directory
System.setProperty("catalina.home", new
File(catalinaHome).getAbsolutePath());
// Create an Embedded Tomcat server
m_embedded = new Embedded();
m_embedded.setDebug(0);
m_embedded.setLogger(catalinaLogger);
//Create Tomcat Engine
m_engine = m_embedded.createEngine();
m_engine.setDefaultHost("localhost");
// Create Tomcat Host
m_tomcatHost = m_embedded.createHost("localhost", "webapps");
m_engine.addChild(m_tomcatHost);
// Create HTTP Coyote Connector
CoyoteConnector coyoteConnector = new CoyoteConnector();
coyoteConnector.setPort(8080);
coyoteConnector.setMinProcessors(5);
coyoteConnector.setMaxProcessors(75);
coyoteConnector.setEnableLookups(true);
coyoteConnector.setAcceptCount(10);
coyoteConnector.setDebug(0);
coyoteConnector.setConnectionTimeout(20000);
coyoteConnector.setUseURIValidationHack(false);
m_embedded.addEngine(m_engine);
m_embedded.addConnector(coyoteConnector);
//START Tomcat Instance
try
{
m_embedded.start();
}
catch (LifecycleException le)
{
le.printStackTrace();
throw new ConfigurationException("[FATAL] Could Not START Tomcat
");
}
}
/**
* Deploy the given Web Application
* @param context Context for the the webapp
* @param dirToWebAppFolder path can be a war-archive or exploded
directory
* @throws SevakException Thrown when the context already exists
*/
public void deploy(String context, File dirToWebAppFolder)
throws SevakException
{
if (!dirToWebAppFolder.exists())
{
throw new SevakException(
"Path not Found[" + dirToWebAppFolder + "]");
}
try
{
if (context == null)
{
throw new SevakException("Invalid Context[" + context + "]");
}
if (context.equals("/"))
{
context = "";
}
if (dirToWebAppFolder == null)
{
throw new SevakException(
"Invalid WAR [" + dirToWebAppFolder + "]");
}
//now deploy ....
org.apache.catalina.Context catalinaContext =
(org.apache.catalina.Context) m_tomcatHost.findChild(context);
if (catalinaContext != null)
{
throw new Exception("Context " + context + " Already
Exists!");
}
catalinaContext =
createContext(context, dirToWebAppFolder.getAbsolutePath());
m_tomcatHost.addChild(catalinaContext);
System.out.println("Deployed [" + context + "] Context");
}
catch (Exception catalinaException)
{
throw new SevakException(
"Catalina Internal Error",
catalinaException);
}
}
/**
* Undeploy the given WebApp
* @param context Webapp context
* @throws SevakException Thrown when context does NOT exist
*/
public void undeploy(String context) throws SevakException
{
if (context == null)
{
throw new SevakException("Invalid Context[" + context + "]");
}
if (context.equals("/"))
{
context = "";
}
org.apache.catalina.Context catalinaContext =
(org.apache.catalina.Context) m_tomcatHost.findChild(context);
if (catalinaContext == null)
{
throw new SevakException("Context " + context + " does NOT
Exist");
}
m_tomcatHost.removeChild(catalinaContext);
}
/**
* Create a StandardContext
* @param path
* @param docBase
* @return Context
*/
private org.apache.catalina.Context createContext(
String path,
String docBase)
{
StandardContext context = new StandardContext();
context.setDebug(0);
context.setDocBase(docBase);
context.setPath(path);
context.setLoader(m_catalinaCustomClassLoader);
ContextConfig config = new ContextConfig();
config.setDebug(0);
((Lifecycle) context).addLifecycleListener(config);
return (context);
}
}
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>