Anoop's major update. Everything has changed location.
This commit is contained in:
parent
6251b6c670
commit
e7cda89908
12 changed files with 2109 additions and 0 deletions
162
tomcat/conf/catalina.policy
Normal file
162
tomcat/conf/catalina.policy
Normal file
|
@ -0,0 +1,162 @@
|
||||||
|
// ============================================================================
|
||||||
|
// catalina.corepolicy - Security Policy Permissions for Tomcat 5
|
||||||
|
//
|
||||||
|
// This file contains a default set of security policies to be enforced (by the
|
||||||
|
// JVM) when Catalina is executed with the "-security" option. In addition
|
||||||
|
// to the permissions granted here, the following additional permissions are
|
||||||
|
// granted to the codebase specific to each web application:
|
||||||
|
//
|
||||||
|
// * Read access to the document root directory
|
||||||
|
//
|
||||||
|
// $Id: catalina.policy,v 1.1 2005/02/21 07:05:01 amontano Exp $
|
||||||
|
// ============================================================================
|
||||||
|
|
||||||
|
|
||||||
|
// ========== SYSTEM CODE PERMISSIONS =========================================
|
||||||
|
|
||||||
|
|
||||||
|
// These permissions apply to javac
|
||||||
|
grant codeBase "file:${java.home}/lib/-" {
|
||||||
|
permission java.security.AllPermission;
|
||||||
|
};
|
||||||
|
|
||||||
|
// These permissions apply to all shared system extensions
|
||||||
|
grant codeBase "file:${java.home}/jre/lib/ext/-" {
|
||||||
|
permission java.security.AllPermission;
|
||||||
|
};
|
||||||
|
|
||||||
|
// These permissions apply to javac when ${java.home] points at $JAVA_HOME/jre
|
||||||
|
grant codeBase "file:${java.home}/../lib/-" {
|
||||||
|
permission java.security.AllPermission;
|
||||||
|
};
|
||||||
|
|
||||||
|
// These permissions apply to all shared system extensions when
|
||||||
|
// ${java.home} points at $JAVA_HOME/jre
|
||||||
|
grant codeBase "file:${java.home}/lib/ext/-" {
|
||||||
|
permission java.security.AllPermission;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// ========== CATALINA CODE PERMISSIONS =======================================
|
||||||
|
|
||||||
|
|
||||||
|
// These permissions apply to the launcher code
|
||||||
|
grant codeBase "file:${catalina.home}/bin/commons-launcher.jar" {
|
||||||
|
permission java.security.AllPermission;
|
||||||
|
};
|
||||||
|
|
||||||
|
// These permissions apply to the daemon code
|
||||||
|
grant codeBase "file:${catalina.home}/bin/commons-daemon.jar" {
|
||||||
|
permission java.security.AllPermission;
|
||||||
|
};
|
||||||
|
|
||||||
|
// These permissions apply to the commons-logging API
|
||||||
|
grant codeBase "file:${catalina.home}/bin/commons-logging-api.jar" {
|
||||||
|
permission java.security.AllPermission;
|
||||||
|
};
|
||||||
|
|
||||||
|
// These permissions apply to the server startup code
|
||||||
|
grant codeBase "file:${catalina.home}/bin/bootstrap.jar" {
|
||||||
|
permission java.security.AllPermission;
|
||||||
|
};
|
||||||
|
|
||||||
|
// These permissions apply to the JMX server
|
||||||
|
grant codeBase "file:${catalina.home}/bin/jmx.jar" {
|
||||||
|
permission java.security.AllPermission;
|
||||||
|
};
|
||||||
|
|
||||||
|
// These permissions apply to the servlet API classes
|
||||||
|
// and those that are shared across all class loaders
|
||||||
|
// located in the "common" directory
|
||||||
|
grant codeBase "file:${catalina.home}/common/-" {
|
||||||
|
permission java.security.AllPermission;
|
||||||
|
};
|
||||||
|
|
||||||
|
// These permissions apply to the container's core code, plus any additional
|
||||||
|
// libraries installed in the "server" directory
|
||||||
|
grant codeBase "file:${catalina.home}/server/-" {
|
||||||
|
permission java.security.AllPermission;
|
||||||
|
};
|
||||||
|
|
||||||
|
// ========== WEB APPLICATION PERMISSIONS =====================================
|
||||||
|
|
||||||
|
|
||||||
|
// These permissions are granted by default to all web applications
|
||||||
|
// In addition, a web application will be given a read FilePermission
|
||||||
|
// and JndiPermission for all files and directories in its document root.
|
||||||
|
grant {
|
||||||
|
// Required for JNDI lookup of named JDBC DataSource's and
|
||||||
|
// javamail named MimePart DataSource used to send mail
|
||||||
|
permission java.util.PropertyPermission "java.home", "read";
|
||||||
|
permission java.util.PropertyPermission "java.naming.*", "read";
|
||||||
|
permission java.util.PropertyPermission "javax.sql.*", "read";
|
||||||
|
|
||||||
|
// OS Specific properties to allow read access
|
||||||
|
permission java.util.PropertyPermission "os.name", "read";
|
||||||
|
permission java.util.PropertyPermission "os.version", "read";
|
||||||
|
permission java.util.PropertyPermission "os.arch", "read";
|
||||||
|
permission java.util.PropertyPermission "file.separator", "read";
|
||||||
|
permission java.util.PropertyPermission "path.separator", "read";
|
||||||
|
permission java.util.PropertyPermission "line.separator", "read";
|
||||||
|
|
||||||
|
// JVM properties to allow read access
|
||||||
|
permission java.util.PropertyPermission "java.version", "read";
|
||||||
|
permission java.util.PropertyPermission "java.vendor", "read";
|
||||||
|
permission java.util.PropertyPermission "java.vendor.url", "read";
|
||||||
|
permission java.util.PropertyPermission "java.class.version", "read";
|
||||||
|
permission java.util.PropertyPermission "java.specification.version", "read";
|
||||||
|
permission java.util.PropertyPermission "java.specification.vendor", "read";
|
||||||
|
permission java.util.PropertyPermission "java.specification.name", "read";
|
||||||
|
|
||||||
|
permission java.util.PropertyPermission "java.vm.specification.version", "read";
|
||||||
|
permission java.util.PropertyPermission "java.vm.specification.vendor", "read";
|
||||||
|
permission java.util.PropertyPermission "java.vm.specification.name", "read";
|
||||||
|
permission java.util.PropertyPermission "java.vm.version", "read";
|
||||||
|
permission java.util.PropertyPermission "java.vm.vendor", "read";
|
||||||
|
permission java.util.PropertyPermission "java.vm.name", "read";
|
||||||
|
|
||||||
|
// Required for OpenJMX
|
||||||
|
permission java.lang.RuntimePermission "getAttribute";
|
||||||
|
|
||||||
|
// Allow read of JAXP compliant XML parser debug
|
||||||
|
permission java.util.PropertyPermission "jaxp.debug", "read";
|
||||||
|
|
||||||
|
// Precompiled JSPs need access to this package.
|
||||||
|
permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.runtime";
|
||||||
|
permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.runtime.*";
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// You can assign additional permissions to particular web applications by
|
||||||
|
// adding additional "grant" entries here, based on the code base for that
|
||||||
|
// application, /WEB-INF/classes/, or /WEB-INF/lib/ jar files.
|
||||||
|
//
|
||||||
|
// Different permissions can be granted to JSP pages, classes loaded from
|
||||||
|
// the /WEB-INF/classes/ directory, all jar files in the /WEB-INF/lib/
|
||||||
|
// directory, or even to individual jar files in the /WEB-INF/lib/ directory.
|
||||||
|
//
|
||||||
|
// For instance, assume that the standard "examples" application
|
||||||
|
// included a JDBC driver that needed to establish a network connection to the
|
||||||
|
// corresponding database and used the scrape taglib to get the weather from
|
||||||
|
// the NOAA web server. You might create a "grant" entries like this:
|
||||||
|
//
|
||||||
|
// The permissions granted to the context root directory apply to JSP pages.
|
||||||
|
// grant codeBase "file:${catalina.home}/webapps/examples/-" {
|
||||||
|
// permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect";
|
||||||
|
// permission java.net.SocketPermission "*.noaa.gov:80", "connect";
|
||||||
|
// };
|
||||||
|
//
|
||||||
|
// The permissions granted to the context WEB-INF/classes directory
|
||||||
|
// grant codeBase "file:${catalina.home}/webapps/examples/WEB-INF/classes/-" {
|
||||||
|
// };
|
||||||
|
//
|
||||||
|
// The permission granted to your JDBC driver
|
||||||
|
// grant codeBase "jar:file:${catalina.home}/webapps/examples/WEB-INF/lib/driver.jar!/-" {
|
||||||
|
// permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect";
|
||||||
|
// };
|
||||||
|
// The permission granted to the scrape taglib
|
||||||
|
// grant codeBase "jar:file:${catalina.home}/webapps/examples/WEB-INF/lib/scrape.jar!/-" {
|
||||||
|
// permission java.net.SocketPermission "*.noaa.gov:80", "connect";
|
||||||
|
// };
|
||||||
|
|
57
tomcat/conf/catalina.properties
Normal file
57
tomcat/conf/catalina.properties
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
#
|
||||||
|
# List of comma-separated packages that start with or equal this string
|
||||||
|
# will cause a security exception to be thrown when
|
||||||
|
# passed to checkPackageAccess unless the
|
||||||
|
# corresponding RuntimePermission ("accessClassInPackage."+package) has
|
||||||
|
# been granted.
|
||||||
|
package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.,sun.beans.
|
||||||
|
#
|
||||||
|
# List of comma-separated packages that start with or equal this string
|
||||||
|
# will cause a security exception to be thrown when
|
||||||
|
# passed to checkPackageDefinition unless the
|
||||||
|
# corresponding RuntimePermission ("defineClassInPackage."+package) has
|
||||||
|
# been granted.
|
||||||
|
#
|
||||||
|
# by default, no packages are restricted for definition, and none of
|
||||||
|
# the class loaders supplied with the JDK call checkPackageDefinition.
|
||||||
|
#
|
||||||
|
package.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.
|
||||||
|
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# List of comma-separated paths defining the contents of the "common"
|
||||||
|
# classloader. Prefixes should be used to define what is the repository type.
|
||||||
|
# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or absolute.
|
||||||
|
# If left as blank,the JVM system loader will be used as Catalina's "common"
|
||||||
|
# loader.
|
||||||
|
# Examples:
|
||||||
|
# "foo": Add this folder as a class repository
|
||||||
|
# "foo/*.jar": Add all the JARs of the specified folder as class
|
||||||
|
# repositories
|
||||||
|
# "foo/bar.jar": Add bar.jar as a class repository
|
||||||
|
common.loader=${catalina.home}/common/classes,${catalina.home}/common/endorsed/*.jar,${catalina.home}/common/lib/*.jar
|
||||||
|
|
||||||
|
#
|
||||||
|
# List of comma-separated paths defining the contents of the "server"
|
||||||
|
# classloader. Prefixes should be used to define what is the repository type.
|
||||||
|
# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or absolute.
|
||||||
|
# If left as blank, the "common" loader will be used as Catalina's "server"
|
||||||
|
# loader.
|
||||||
|
# Examples:
|
||||||
|
# "foo": Add this folder as a class repository
|
||||||
|
# "foo/*.jar": Add all the JARs of the specified folder as class
|
||||||
|
# repositories
|
||||||
|
# "foo/bar.jar": Add bar.jar as a class repository
|
||||||
|
server.loader=${catalina.home}/server/classes,${catalina.home}/server/lib/*.jar
|
||||||
|
|
||||||
|
#
|
||||||
|
# List of comma-separated paths defining the contents of the "shared"
|
||||||
|
# classloader. Prefixes should be used to define what is the repository type.
|
||||||
|
# Path may be relative to the CATALINA_BASE path or absolute. If left as blank,
|
||||||
|
# the "common" loader will be used as Catalina's "shared" loader.
|
||||||
|
# Examples:
|
||||||
|
# "foo": Add this folder as a class repository
|
||||||
|
# "foo/*.jar": Add all the JARs of the specified folder as class
|
||||||
|
# repositories
|
||||||
|
# "foo/bar.jar": Add bar.jar as a class repository
|
||||||
|
shared.loader=${catalina.base}/shared/classes,${catalina.base}/shared/lib/*.jar
|
26
tomcat/conf/jk2.properties
Normal file
26
tomcat/conf/jk2.properties
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
## THIS FILE MAY BE OVERRIDEN AT RUNTIME. MAKE SURE TOMCAT IS STOPED
|
||||||
|
## WHEN YOU EDIT THE FILE.
|
||||||
|
|
||||||
|
## COMMENTS WILL BE _LOST_
|
||||||
|
|
||||||
|
## DOCUMENTATION OF THE FORMAT IN JkMain javadoc.
|
||||||
|
|
||||||
|
# Set the desired handler list
|
||||||
|
# handler.list=apr,request,channelJni
|
||||||
|
#
|
||||||
|
# Override the default port for the socketChannel
|
||||||
|
# channelSocket.port=8019
|
||||||
|
# Default:
|
||||||
|
# channelUnix.file=${jkHome}/work/jk2.socket
|
||||||
|
# Just to check if the the config is working
|
||||||
|
# shm.file=${jkHome}/work/jk2.shm
|
||||||
|
|
||||||
|
# In order to enable jni use any channelJni directive
|
||||||
|
# channelJni.disabled = 0
|
||||||
|
# And one of the following directives:
|
||||||
|
|
||||||
|
# apr.jniModeSo=/opt/apache2/modules/mod_jk2.so
|
||||||
|
|
||||||
|
# If set to inprocess the mod_jk2 will Register natives itself
|
||||||
|
# This will enable the starting of the Tomcat from mod_jk2
|
||||||
|
# apr.jniModeSo=inprocess
|
384
tomcat/conf/server-original.xml
Normal file
384
tomcat/conf/server-original.xml
Normal file
|
@ -0,0 +1,384 @@
|
||||||
|
<!-- Example Server Configuration File -->
|
||||||
|
<!-- Note that component elements are nested corresponding to their
|
||||||
|
parent-child relationships with each other -->
|
||||||
|
|
||||||
|
<!-- A "Server" is a singleton element that represents the entire JVM,
|
||||||
|
which may contain one or more "Service" instances. The Server
|
||||||
|
listens for a shutdown command on the indicated port.
|
||||||
|
|
||||||
|
Note: A "Server" is not itself a "Container", so you may not
|
||||||
|
define subcomponents such as "Valves" or "Loggers" at this level.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<Server port="8005" shutdown="SHUTDOWN" debug="0">
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Comment these entries out to disable JMX MBeans support -->
|
||||||
|
<!-- You may also configure custom components (e.g. Valves/Realms) by
|
||||||
|
including your own mbean-descriptor file(s), and setting the
|
||||||
|
"descriptors" attribute to point to a ';' seperated list of paths
|
||||||
|
(in the ClassLoader sense) of files to add to the default list.
|
||||||
|
e.g. descriptors="/com/myfirm/mypackage/mbean-descriptor.xml"
|
||||||
|
-->
|
||||||
|
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"
|
||||||
|
debug="0"/>
|
||||||
|
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"
|
||||||
|
debug="0"/>
|
||||||
|
|
||||||
|
<!-- Global JNDI resources -->
|
||||||
|
<GlobalNamingResources>
|
||||||
|
|
||||||
|
<!-- Test entry for demonstration purposes -->
|
||||||
|
<Environment name="simpleValue" type="java.lang.Integer" value="30"/>
|
||||||
|
|
||||||
|
<!-- Editable user database that can also be used by
|
||||||
|
UserDatabaseRealm to authenticate users -->
|
||||||
|
<Resource name="UserDatabase" auth="Container"
|
||||||
|
type="org.apache.catalina.UserDatabase"
|
||||||
|
description="User database that can be updated and saved">
|
||||||
|
</Resource>
|
||||||
|
<ResourceParams name="UserDatabase">
|
||||||
|
<parameter>
|
||||||
|
<name>factory</name>
|
||||||
|
<value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
|
||||||
|
</parameter>
|
||||||
|
<parameter>
|
||||||
|
<name>pathname</name>
|
||||||
|
<value>conf/tomcat-users.xml</value>
|
||||||
|
</parameter>
|
||||||
|
</ResourceParams>
|
||||||
|
|
||||||
|
</GlobalNamingResources>
|
||||||
|
|
||||||
|
<!-- A "Service" is a collection of one or more "Connectors" that share
|
||||||
|
a single "Container" (and therefore the web applications visible
|
||||||
|
within that Container). Normally, that Container is an "Engine",
|
||||||
|
but this is not required.
|
||||||
|
|
||||||
|
Note: A "Service" is not itself a "Container", so you may not
|
||||||
|
define subcomponents such as "Valves" or "Loggers" at this level.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Define the Tomcat Stand-Alone Service -->
|
||||||
|
<Service name="Catalina">
|
||||||
|
|
||||||
|
<!-- A "Connector" represents an endpoint by which requests are received
|
||||||
|
and responses are returned. Each Connector passes requests on to the
|
||||||
|
associated "Container" (normally an Engine) for processing.
|
||||||
|
|
||||||
|
By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
|
||||||
|
You can also enable an SSL HTTP/1.1 Connector on port 8443 by
|
||||||
|
following the instructions below and uncommenting the second Connector
|
||||||
|
entry. SSL support requires the following steps (see the SSL Config
|
||||||
|
HOWTO in the Tomcat 5 documentation bundle for more detailed
|
||||||
|
instructions):
|
||||||
|
* If your JDK version 1.3 or prior, download and install JSSE 1.0.2 or
|
||||||
|
later, and put the JAR files into "$JAVA_HOME/jre/lib/ext".
|
||||||
|
* Execute:
|
||||||
|
%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)
|
||||||
|
$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA (Unix)
|
||||||
|
with a password value of "changeit" for both the certificate and
|
||||||
|
the keystore itself.
|
||||||
|
|
||||||
|
By default, DNS lookups are enabled when a web application calls
|
||||||
|
request.getRemoteHost(). This can have an adverse impact on
|
||||||
|
performance, so you can disable it by setting the
|
||||||
|
"enableLookups" attribute to "false". When DNS lookups are disabled,
|
||||||
|
request.getRemoteHost() will return the String version of the
|
||||||
|
IP address of the remote client.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 -->
|
||||||
|
<Connector port="8080"
|
||||||
|
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
|
||||||
|
enableLookups="false" redirectPort="8443" acceptCount="100"
|
||||||
|
debug="0" connectionTimeout="20000"
|
||||||
|
disableUploadTimeout="true" />
|
||||||
|
<!-- Note : To disable connection timeouts, set connectionTimeout value
|
||||||
|
to 0 -->
|
||||||
|
|
||||||
|
<!-- Note : To use gzip compression you could set the following properties :
|
||||||
|
|
||||||
|
compression="on"
|
||||||
|
compressionMinSize="2048"
|
||||||
|
noCompressionUserAgents="gozilla, traviata"
|
||||||
|
compressableMimeType="text/html,text/xml"
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
|
||||||
|
<!--
|
||||||
|
<Connector port="8443"
|
||||||
|
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
|
||||||
|
enableLookups="false" disableUploadTimeout="true"
|
||||||
|
acceptCount="100" debug="0" scheme="https" secure="true"
|
||||||
|
clientAuth="false" sslProtocol="TLS" />
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->
|
||||||
|
<Connector port="8009"
|
||||||
|
enableLookups="false" redirectPort="8443" debug="0"
|
||||||
|
protocol="AJP/1.3" />
|
||||||
|
|
||||||
|
<!-- Define a Proxied HTTP/1.1 Connector on port 8082 -->
|
||||||
|
<!-- See proxy documentation for more information about using this. -->
|
||||||
|
<!--
|
||||||
|
<Connector port="8082"
|
||||||
|
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
|
||||||
|
enableLookups="false"
|
||||||
|
acceptCount="100" debug="0" connectionTimeout="20000"
|
||||||
|
proxyPort="80" disableUploadTimeout="true" />
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- An Engine represents the entry point (within Catalina) that processes
|
||||||
|
every request. The Engine implementation for Tomcat stand alone
|
||||||
|
analyzes the HTTP headers included with the request, and passes them
|
||||||
|
on to the appropriate Host (virtual host). -->
|
||||||
|
|
||||||
|
<!-- You should set jvmRoute to support load-balancing via JK/JK2 ie :
|
||||||
|
<Engine name="Standalone" defaultHost="localhost" debug="0" jvmRoute="jvm1">
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Define the top level container in our container hierarchy -->
|
||||||
|
<Engine name="Catalina" defaultHost="localhost" debug="0">
|
||||||
|
|
||||||
|
<!-- The request dumper valve dumps useful debugging information about
|
||||||
|
the request headers and cookies that were received, and the response
|
||||||
|
headers and cookies that were sent, for all requests received by
|
||||||
|
this instance of Tomcat. If you care only about requests to a
|
||||||
|
particular virtual host, or a particular application, nest this
|
||||||
|
element inside the corresponding <Host> or <Context> entry instead.
|
||||||
|
|
||||||
|
For a similar mechanism that is portable to all Servlet 2.4
|
||||||
|
containers, check out the "RequestDumperFilter" Filter in the
|
||||||
|
example application (the source for this filter may be found in
|
||||||
|
"$CATALINA_HOME/webapps/examples/WEB-INF/classes/filters").
|
||||||
|
|
||||||
|
Request dumping is disabled by default. Uncomment the following
|
||||||
|
element to enable it. -->
|
||||||
|
<!--
|
||||||
|
<Valve className="org.apache.catalina.valves.RequestDumperValve"/>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Global logger unless overridden at lower levels -->
|
||||||
|
<Logger className="org.apache.catalina.logger.FileLogger"
|
||||||
|
prefix="catalina_log." suffix=".txt"
|
||||||
|
timestamp="true"/>
|
||||||
|
|
||||||
|
<!-- Because this Realm is here, an instance will be shared globally -->
|
||||||
|
|
||||||
|
<!-- This Realm uses the UserDatabase configured in the global JNDI
|
||||||
|
resources under the key "UserDatabase". Any edits
|
||||||
|
that are performed against this UserDatabase are immediately
|
||||||
|
available for use by the Realm. -->
|
||||||
|
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
|
||||||
|
debug="0" resourceName="UserDatabase"/>
|
||||||
|
|
||||||
|
<!-- Comment out the old realm but leave here for now in case we
|
||||||
|
need to go back quickly -->
|
||||||
|
<!--
|
||||||
|
<Realm className="org.apache.catalina.realm.MemoryRealm" />
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Replace the above Realm with one of the following to get a Realm
|
||||||
|
stored in a database and accessed via JDBC -->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<Realm className="org.apache.catalina.realm.JDBCRealm" debug="99"
|
||||||
|
driverName="org.gjt.mm.mysql.Driver"
|
||||||
|
connectionURL="jdbc:mysql://localhost/authority"
|
||||||
|
connectionName="test" connectionPassword="test"
|
||||||
|
userTable="users" userNameCol="user_name" userCredCol="user_pass"
|
||||||
|
userRoleTable="user_roles" roleNameCol="role_name" />
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<Realm className="org.apache.catalina.realm.JDBCRealm" debug="99"
|
||||||
|
driverName="oracle.jdbc.driver.OracleDriver"
|
||||||
|
connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL"
|
||||||
|
connectionName="scott" connectionPassword="tiger"
|
||||||
|
userTable="users" userNameCol="user_name" userCredCol="user_pass"
|
||||||
|
userRoleTable="user_roles" roleNameCol="role_name" />
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<Realm className="org.apache.catalina.realm.JDBCRealm" debug="99"
|
||||||
|
driverName="sun.jdbc.odbc.JdbcOdbcDriver"
|
||||||
|
connectionURL="jdbc:odbc:CATALINA"
|
||||||
|
userTable="users" userNameCol="user_name" userCredCol="user_pass"
|
||||||
|
userRoleTable="user_roles" roleNameCol="role_name" />
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Define the default virtual host
|
||||||
|
Note: XML Schema validation will not work with Xerces 2.2.
|
||||||
|
-->
|
||||||
|
<Host name="localhost" debug="0" appBase="webapps"
|
||||||
|
unpackWARs="true" autoDeploy="true"
|
||||||
|
xmlValidation="false" xmlNamespaceAware="false">
|
||||||
|
|
||||||
|
<!-- Defines a cluster for this node,
|
||||||
|
By defining this element, means that every manager will be changed.
|
||||||
|
So when running a cluster, only make sure that you have webapps in there
|
||||||
|
that need to be clustered and remove the other ones.
|
||||||
|
A cluster has the following parameters:
|
||||||
|
|
||||||
|
className = the fully qualified name of the cluster class
|
||||||
|
|
||||||
|
name = a descriptive name for your cluster, can be anything
|
||||||
|
|
||||||
|
debug = the debug level, higher means more output
|
||||||
|
|
||||||
|
mcastAddr = the multicast address, has to be the same for all the nodes
|
||||||
|
|
||||||
|
mcastPort = the multicast port, has to be the same for all the nodes
|
||||||
|
|
||||||
|
mcastBindAddr = bind the multicast socket to a specific address
|
||||||
|
|
||||||
|
mcastTTL = the multicast TTL if you want to limit your broadcast
|
||||||
|
|
||||||
|
mcastSoTimeout = the multicast readtimeout
|
||||||
|
|
||||||
|
mcastFrequency = the number of milliseconds in between sending a "I'm alive" heartbeat
|
||||||
|
|
||||||
|
mcastDropTime = the number a milliseconds before a node is considered "dead" if no heartbeat is received
|
||||||
|
|
||||||
|
tcpThreadCount = the number of threads to handle incoming replication requests, optimal would be the same amount of threads as nodes
|
||||||
|
|
||||||
|
tcpListenAddress = the listen address (bind address) for TCP cluster request on this host,
|
||||||
|
in case of multiple ethernet cards.
|
||||||
|
auto means that address becomes
|
||||||
|
InetAddress.getLocalHost().getHostAddress()
|
||||||
|
|
||||||
|
tcpListenPort = the tcp listen port
|
||||||
|
|
||||||
|
tcpSelectorTimeout = the timeout (ms) for the Selector.select() method in case the OS
|
||||||
|
has a wakup bug in java.nio. Set to 0 for no timeout
|
||||||
|
|
||||||
|
printToScreen = true means that managers will also print to std.out
|
||||||
|
|
||||||
|
expireSessionsOnShutdown = true means that
|
||||||
|
|
||||||
|
useDirtyFlag = true means that we only replicate a session after setAttribute,removeAttribute has been called.
|
||||||
|
false means to replicate the session after each request.
|
||||||
|
false means that replication would work for the following piece of code:
|
||||||
|
<%
|
||||||
|
HashMap map = (HashMap)session.getAttribute("map");
|
||||||
|
map.put("key","value");
|
||||||
|
%>
|
||||||
|
replicationMode = can be either 'pooled', 'synchronous' or 'asynchronous'.
|
||||||
|
* Pooled means that the replication happens using several sockets in a synchronous way. Ie, the data gets replicated, then the request return. This is the same as the 'synchronous' setting except it uses a pool of sockets, hence it is multithreaded. This is the fastest and safest configuration. To use this, also increase the nr of tcp threads that you have dealing with replication.
|
||||||
|
* Synchronous means that the thread that executes the request, is also the
|
||||||
|
thread the replicates the data to the other nodes, and will not return until all
|
||||||
|
nodes have received the information.
|
||||||
|
* Asynchronous means that there is a specific 'sender' thread for each cluster node,
|
||||||
|
so the request thread will queue the replication request into a "smart" queue,
|
||||||
|
and then return to the client.
|
||||||
|
The "smart" queue is a queue where when a session is added to the queue, and the same session
|
||||||
|
already exists in the queue from a previous request, that session will be replaced
|
||||||
|
in the queue instead of replicating two requests. This almost never happens, unless there is a
|
||||||
|
large network delay.
|
||||||
|
-->
|
||||||
|
<!--
|
||||||
|
When configuring for clustering, you also add in a valve to catch all the requests
|
||||||
|
coming in, at the end of the request, the session may or may not be replicated.
|
||||||
|
A session is replicated if and only if all the conditions are met:
|
||||||
|
1. useDirtyFlag is true or setAttribute or removeAttribute has been called AND
|
||||||
|
2. a session exists (has been created)
|
||||||
|
3. the request is not trapped by the "filter" attribute
|
||||||
|
|
||||||
|
The filter attribute is to filter out requests that could not modify the session,
|
||||||
|
hence we don't replicate the session after the end of this request.
|
||||||
|
The filter is negative, ie, anything you put in the filter, you mean to filter out,
|
||||||
|
ie, no replication will be done on requests that match one of the filters.
|
||||||
|
The filter attribute is delimited by ;, so you can't escape out ; even if you wanted to.
|
||||||
|
|
||||||
|
filter=".*\.gif;.*\.js;" means that we will not replicate the session after requests with the URI
|
||||||
|
ending with .gif and .js are intercepted.
|
||||||
|
|
||||||
|
The deployer element can be used to deploy apps cluster wide.
|
||||||
|
Currently the deployment only deploys/undeploys to working members in the cluster
|
||||||
|
so no WARs are copied upons startup of a broken node.
|
||||||
|
The deployer watches a directory (watchDir) for WAR files when watchEnabled="true"
|
||||||
|
When a new war file is added the war gets deployed to the local instance,
|
||||||
|
and then deployed to the other instances in the cluster.
|
||||||
|
When a war file is deleted from the watchDir the war is undeployed locally
|
||||||
|
and cluster wide
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
|
||||||
|
managerClassName="org.apache.catalina.cluster.session.DeltaManager"
|
||||||
|
expireSessionsOnShutdown="false"
|
||||||
|
useDirtyFlag="true">
|
||||||
|
|
||||||
|
<Membership
|
||||||
|
className="org.apache.catalina.cluster.mcast.McastService"
|
||||||
|
mcastAddr="228.0.0.4"
|
||||||
|
mcastPort="45564"
|
||||||
|
mcastFrequency="500"
|
||||||
|
mcastDropTime="3000"/>
|
||||||
|
|
||||||
|
<Receiver
|
||||||
|
className="org.apache.catalina.cluster.tcp.ReplicationListener"
|
||||||
|
tcpListenAddress="auto"
|
||||||
|
tcpListenPort="4001"
|
||||||
|
tcpSelectorTimeout="100"
|
||||||
|
tcpThreadCount="6"/>
|
||||||
|
|
||||||
|
<Sender
|
||||||
|
className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
|
||||||
|
replicationMode="pooled"/>
|
||||||
|
|
||||||
|
<Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
|
||||||
|
filter=".*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;"/>
|
||||||
|
|
||||||
|
<Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
|
||||||
|
tempDir="/tmp/war-temp/"
|
||||||
|
deployDir="/tmp/war-deploy/"
|
||||||
|
watchDir="/tmp/war-listen/"
|
||||||
|
watchEnabled="false"/>
|
||||||
|
</Cluster>
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Normally, users must authenticate themselves to each web app
|
||||||
|
individually. Uncomment the following entry if you would like
|
||||||
|
a user to be authenticated the first time they encounter a
|
||||||
|
resource protected by a security constraint, and then have that
|
||||||
|
user identity maintained across *all* web applications contained
|
||||||
|
in this virtual host. -->
|
||||||
|
<!--
|
||||||
|
<Valve className="org.apache.catalina.authenticator.SingleSignOn"
|
||||||
|
debug="0"/>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Access log processes all requests for this virtual host. By
|
||||||
|
default, log files are created in the "logs" directory relative to
|
||||||
|
$CATALINA_HOME. If you wish, you can specify a different
|
||||||
|
directory with the "directory" attribute. Specify either a relative
|
||||||
|
(to $CATALINA_HOME) or absolute path to the desired directory.
|
||||||
|
-->
|
||||||
|
<!--
|
||||||
|
<Valve className="org.apache.catalina.valves.AccessLogValve"
|
||||||
|
directory="logs" prefix="localhost_access_log." suffix=".txt"
|
||||||
|
pattern="common" resolveHosts="false"/>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Logger shared by all Contexts related to this virtual host. By
|
||||||
|
default (when using FileLogger), log files are created in the "logs"
|
||||||
|
directory relative to $CATALINA_HOME. If you wish, you can specify
|
||||||
|
a different directory with the "directory" attribute. Specify either a
|
||||||
|
relative (to $CATALINA_HOME) or absolute path to the desired
|
||||||
|
directory.-->
|
||||||
|
<Logger className="org.apache.catalina.logger.FileLogger"
|
||||||
|
directory="logs" prefix="localhost_log." suffix=".txt"
|
||||||
|
timestamp="true"/>
|
||||||
|
<Context path="dictionary" reloadable="true" docBase="C:\workspaces\thdl-ws\Dictionary" workDir="C:\workspaces\thdl-ws\Dictionary\work" />
|
||||||
|
|
||||||
|
</Host>
|
||||||
|
|
||||||
|
</Engine>
|
||||||
|
|
||||||
|
</Service>
|
||||||
|
|
||||||
|
</Server>
|
27
tomcat/conf/server.xml
Normal file
27
tomcat/conf/server.xml
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
<Server port="8005" shutdown="SHUTDOWN">
|
||||||
|
<GlobalNamingResources>
|
||||||
|
<!-- Used by Manager webapp -->
|
||||||
|
<Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved">
|
||||||
|
</Resource>
|
||||||
|
<ResourceParams name="UserDatabase">
|
||||||
|
<parameter>
|
||||||
|
<name>factory</name>
|
||||||
|
<value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
|
||||||
|
</parameter>
|
||||||
|
<parameter>
|
||||||
|
<name>pathname</name>
|
||||||
|
<value>conf/tomcat-users.xml</value>
|
||||||
|
</parameter>
|
||||||
|
</ResourceParams>
|
||||||
|
</GlobalNamingResources>
|
||||||
|
<Service name="Catalina">
|
||||||
|
<Connector port="8080" />
|
||||||
|
<!-- This is here for compatibility only, not required -->
|
||||||
|
<Connector port="8009" protocol="AJP/1.3" />
|
||||||
|
<Engine name="Catalina" defaultHost="localhost">
|
||||||
|
<Logger className="org.apache.catalina.logger.FileLogger" />
|
||||||
|
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase" />
|
||||||
|
<Host name="localhost" appBase="webapps" />
|
||||||
|
</Engine>
|
||||||
|
</Service>
|
||||||
|
</Server>
|
383
tomcat/conf/server.xml.backup
Normal file
383
tomcat/conf/server.xml.backup
Normal file
|
@ -0,0 +1,383 @@
|
||||||
|
<!-- Example Server Configuration File -->
|
||||||
|
<!-- Note that component elements are nested corresponding to their
|
||||||
|
parent-child relationships with each other -->
|
||||||
|
|
||||||
|
<!-- A "Server" is a singleton element that represents the entire JVM,
|
||||||
|
which may contain one or more "Service" instances. The Server
|
||||||
|
listens for a shutdown command on the indicated port.
|
||||||
|
|
||||||
|
Note: A "Server" is not itself a "Container", so you may not
|
||||||
|
define subcomponents such as "Valves" or "Loggers" at this level.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<Server port="8005" shutdown="SHUTDOWN" debug="0">
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Comment these entries out to disable JMX MBeans support -->
|
||||||
|
<!-- You may also configure custom components (e.g. Valves/Realms) by
|
||||||
|
including your own mbean-descriptor file(s), and setting the
|
||||||
|
"descriptors" attribute to point to a ';' seperated list of paths
|
||||||
|
(in the ClassLoader sense) of files to add to the default list.
|
||||||
|
e.g. descriptors="/com/myfirm/mypackage/mbean-descriptor.xml"
|
||||||
|
-->
|
||||||
|
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"
|
||||||
|
debug="0"/>
|
||||||
|
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"
|
||||||
|
debug="0"/>
|
||||||
|
|
||||||
|
<!-- Global JNDI resources -->
|
||||||
|
<GlobalNamingResources>
|
||||||
|
|
||||||
|
<!-- Test entry for demonstration purposes -->
|
||||||
|
<Environment name="simpleValue" type="java.lang.Integer" value="30"/>
|
||||||
|
|
||||||
|
<!-- Editable user database that can also be used by
|
||||||
|
UserDatabaseRealm to authenticate users -->
|
||||||
|
<Resource name="UserDatabase" auth="Container"
|
||||||
|
type="org.apache.catalina.UserDatabase"
|
||||||
|
description="User database that can be updated and saved">
|
||||||
|
</Resource>
|
||||||
|
<ResourceParams name="UserDatabase">
|
||||||
|
<parameter>
|
||||||
|
<name>factory</name>
|
||||||
|
<value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
|
||||||
|
</parameter>
|
||||||
|
<parameter>
|
||||||
|
<name>pathname</name>
|
||||||
|
<value>conf/tomcat-users.xml</value>
|
||||||
|
</parameter>
|
||||||
|
</ResourceParams>
|
||||||
|
|
||||||
|
</GlobalNamingResources>
|
||||||
|
|
||||||
|
<!-- A "Service" is a collection of one or more "Connectors" that share
|
||||||
|
a single "Container" (and therefore the web applications visible
|
||||||
|
within that Container). Normally, that Container is an "Engine",
|
||||||
|
but this is not required.
|
||||||
|
|
||||||
|
Note: A "Service" is not itself a "Container", so you may not
|
||||||
|
define subcomponents such as "Valves" or "Loggers" at this level.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Define the Tomcat Stand-Alone Service -->
|
||||||
|
<Service name="Catalina">
|
||||||
|
|
||||||
|
<!-- A "Connector" represents an endpoint by which requests are received
|
||||||
|
and responses are returned. Each Connector passes requests on to the
|
||||||
|
associated "Container" (normally an Engine) for processing.
|
||||||
|
|
||||||
|
By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
|
||||||
|
You can also enable an SSL HTTP/1.1 Connector on port 8443 by
|
||||||
|
following the instructions below and uncommenting the second Connector
|
||||||
|
entry. SSL support requires the following steps (see the SSL Config
|
||||||
|
HOWTO in the Tomcat 5 documentation bundle for more detailed
|
||||||
|
instructions):
|
||||||
|
* If your JDK version 1.3 or prior, download and install JSSE 1.0.2 or
|
||||||
|
later, and put the JAR files into "$JAVA_HOME/jre/lib/ext".
|
||||||
|
* Execute:
|
||||||
|
%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)
|
||||||
|
$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA (Unix)
|
||||||
|
with a password value of "changeit" for both the certificate and
|
||||||
|
the keystore itself.
|
||||||
|
|
||||||
|
By default, DNS lookups are enabled when a web application calls
|
||||||
|
request.getRemoteHost(). This can have an adverse impact on
|
||||||
|
performance, so you can disable it by setting the
|
||||||
|
"enableLookups" attribute to "false". When DNS lookups are disabled,
|
||||||
|
request.getRemoteHost() will return the String version of the
|
||||||
|
IP address of the remote client.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 -->
|
||||||
|
<Connector port="8080"
|
||||||
|
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
|
||||||
|
enableLookups="false" redirectPort="8443" acceptCount="100"
|
||||||
|
debug="0" connectionTimeout="20000"
|
||||||
|
disableUploadTimeout="true" />
|
||||||
|
<!-- Note : To disable connection timeouts, set connectionTimeout value
|
||||||
|
to 0 -->
|
||||||
|
|
||||||
|
<!-- Note : To use gzip compression you could set the following properties :
|
||||||
|
|
||||||
|
compression="on"
|
||||||
|
compressionMinSize="2048"
|
||||||
|
noCompressionUserAgents="gozilla, traviata"
|
||||||
|
compressableMimeType="text/html,text/xml"
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
|
||||||
|
<!--
|
||||||
|
<Connector port="8443"
|
||||||
|
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
|
||||||
|
enableLookups="false" disableUploadTimeout="true"
|
||||||
|
acceptCount="100" debug="0" scheme="https" secure="true"
|
||||||
|
clientAuth="false" sslProtocol="TLS" />
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->
|
||||||
|
<Connector port="8009"
|
||||||
|
enableLookups="false" redirectPort="8443" debug="0"
|
||||||
|
protocol="AJP/1.3" />
|
||||||
|
|
||||||
|
<!-- Define a Proxied HTTP/1.1 Connector on port 8082 -->
|
||||||
|
<!-- See proxy documentation for more information about using this. -->
|
||||||
|
<!--
|
||||||
|
<Connector port="8082"
|
||||||
|
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
|
||||||
|
enableLookups="false"
|
||||||
|
acceptCount="100" debug="0" connectionTimeout="20000"
|
||||||
|
proxyPort="80" disableUploadTimeout="true" />
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- An Engine represents the entry point (within Catalina) that processes
|
||||||
|
every request. The Engine implementation for Tomcat stand alone
|
||||||
|
analyzes the HTTP headers included with the request, and passes them
|
||||||
|
on to the appropriate Host (virtual host). -->
|
||||||
|
|
||||||
|
<!-- You should set jvmRoute to support load-balancing via JK/JK2 ie :
|
||||||
|
<Engine name="Standalone" defaultHost="localhost" debug="0" jvmRoute="jvm1">
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Define the top level container in our container hierarchy -->
|
||||||
|
<Engine name="Catalina" defaultHost="localhost" debug="0">
|
||||||
|
|
||||||
|
<!-- The request dumper valve dumps useful debugging information about
|
||||||
|
the request headers and cookies that were received, and the response
|
||||||
|
headers and cookies that were sent, for all requests received by
|
||||||
|
this instance of Tomcat. If you care only about requests to a
|
||||||
|
particular virtual host, or a particular application, nest this
|
||||||
|
element inside the corresponding <Host> or <Context> entry instead.
|
||||||
|
|
||||||
|
For a similar mechanism that is portable to all Servlet 2.4
|
||||||
|
containers, check out the "RequestDumperFilter" Filter in the
|
||||||
|
example application (the source for this filter may be found in
|
||||||
|
"$CATALINA_HOME/webapps/examples/WEB-INF/classes/filters").
|
||||||
|
|
||||||
|
Request dumping is disabled by default. Uncomment the following
|
||||||
|
element to enable it. -->
|
||||||
|
<!--
|
||||||
|
<Valve className="org.apache.catalina.valves.RequestDumperValve"/>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Global logger unless overridden at lower levels -->
|
||||||
|
<Logger className="org.apache.catalina.logger.FileLogger"
|
||||||
|
prefix="catalina_log." suffix=".txt"
|
||||||
|
timestamp="true"/>
|
||||||
|
|
||||||
|
<!-- Because this Realm is here, an instance will be shared globally -->
|
||||||
|
|
||||||
|
<!-- This Realm uses the UserDatabase configured in the global JNDI
|
||||||
|
resources under the key "UserDatabase". Any edits
|
||||||
|
that are performed against this UserDatabase are immediately
|
||||||
|
available for use by the Realm. -->
|
||||||
|
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
|
||||||
|
debug="0" resourceName="UserDatabase"/>
|
||||||
|
|
||||||
|
<!-- Comment out the old realm but leave here for now in case we
|
||||||
|
need to go back quickly -->
|
||||||
|
<!--
|
||||||
|
<Realm className="org.apache.catalina.realm.MemoryRealm" />
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Replace the above Realm with one of the following to get a Realm
|
||||||
|
stored in a database and accessed via JDBC -->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<Realm className="org.apache.catalina.realm.JDBCRealm" debug="99"
|
||||||
|
driverName="org.gjt.mm.mysql.Driver"
|
||||||
|
connectionURL="jdbc:mysql://localhost/authority"
|
||||||
|
connectionName="test" connectionPassword="test"
|
||||||
|
userTable="users" userNameCol="user_name" userCredCol="user_pass"
|
||||||
|
userRoleTable="user_roles" roleNameCol="role_name" />
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<Realm className="org.apache.catalina.realm.JDBCRealm" debug="99"
|
||||||
|
driverName="oracle.jdbc.driver.OracleDriver"
|
||||||
|
connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL"
|
||||||
|
connectionName="scott" connectionPassword="tiger"
|
||||||
|
userTable="users" userNameCol="user_name" userCredCol="user_pass"
|
||||||
|
userRoleTable="user_roles" roleNameCol="role_name" />
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<Realm className="org.apache.catalina.realm.JDBCRealm" debug="99"
|
||||||
|
driverName="sun.jdbc.odbc.JdbcOdbcDriver"
|
||||||
|
connectionURL="jdbc:odbc:CATALINA"
|
||||||
|
userTable="users" userNameCol="user_name" userCredCol="user_pass"
|
||||||
|
userRoleTable="user_roles" roleNameCol="role_name" />
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Define the default virtual host
|
||||||
|
Note: XML Schema validation will not work with Xerces 2.2.
|
||||||
|
-->
|
||||||
|
<Host name="localhost" debug="0" appBase="webapps"
|
||||||
|
unpackWARs="true" autoDeploy="true"
|
||||||
|
xmlValidation="false" xmlNamespaceAware="false">
|
||||||
|
|
||||||
|
<!-- Defines a cluster for this node,
|
||||||
|
By defining this element, means that every manager will be changed.
|
||||||
|
So when running a cluster, only make sure that you have webapps in there
|
||||||
|
that need to be clustered and remove the other ones.
|
||||||
|
A cluster has the following parameters:
|
||||||
|
|
||||||
|
className = the fully qualified name of the cluster class
|
||||||
|
|
||||||
|
name = a descriptive name for your cluster, can be anything
|
||||||
|
|
||||||
|
debug = the debug level, higher means more output
|
||||||
|
|
||||||
|
mcastAddr = the multicast address, has to be the same for all the nodes
|
||||||
|
|
||||||
|
mcastPort = the multicast port, has to be the same for all the nodes
|
||||||
|
|
||||||
|
mcastBindAddr = bind the multicast socket to a specific address
|
||||||
|
|
||||||
|
mcastTTL = the multicast TTL if you want to limit your broadcast
|
||||||
|
|
||||||
|
mcastSoTimeout = the multicast readtimeout
|
||||||
|
|
||||||
|
mcastFrequency = the number of milliseconds in between sending a "I'm alive" heartbeat
|
||||||
|
|
||||||
|
mcastDropTime = the number a milliseconds before a node is considered "dead" if no heartbeat is received
|
||||||
|
|
||||||
|
tcpThreadCount = the number of threads to handle incoming replication requests, optimal would be the same amount of threads as nodes
|
||||||
|
|
||||||
|
tcpListenAddress = the listen address (bind address) for TCP cluster request on this host,
|
||||||
|
in case of multiple ethernet cards.
|
||||||
|
auto means that address becomes
|
||||||
|
InetAddress.getLocalHost().getHostAddress()
|
||||||
|
|
||||||
|
tcpListenPort = the tcp listen port
|
||||||
|
|
||||||
|
tcpSelectorTimeout = the timeout (ms) for the Selector.select() method in case the OS
|
||||||
|
has a wakup bug in java.nio. Set to 0 for no timeout
|
||||||
|
|
||||||
|
printToScreen = true means that managers will also print to std.out
|
||||||
|
|
||||||
|
expireSessionsOnShutdown = true means that
|
||||||
|
|
||||||
|
useDirtyFlag = true means that we only replicate a session after setAttribute,removeAttribute has been called.
|
||||||
|
false means to replicate the session after each request.
|
||||||
|
false means that replication would work for the following piece of code:
|
||||||
|
<%
|
||||||
|
HashMap map = (HashMap)session.getAttribute("map");
|
||||||
|
map.put("key","value");
|
||||||
|
%>
|
||||||
|
replicationMode = can be either 'pooled', 'synchronous' or 'asynchronous'.
|
||||||
|
* Pooled means that the replication happens using several sockets in a synchronous way. Ie, the data gets replicated, then the request return. This is the same as the 'synchronous' setting except it uses a pool of sockets, hence it is multithreaded. This is the fastest and safest configuration. To use this, also increase the nr of tcp threads that you have dealing with replication.
|
||||||
|
* Synchronous means that the thread that executes the request, is also the
|
||||||
|
thread the replicates the data to the other nodes, and will not return until all
|
||||||
|
nodes have received the information.
|
||||||
|
* Asynchronous means that there is a specific 'sender' thread for each cluster node,
|
||||||
|
so the request thread will queue the replication request into a "smart" queue,
|
||||||
|
and then return to the client.
|
||||||
|
The "smart" queue is a queue where when a session is added to the queue, and the same session
|
||||||
|
already exists in the queue from a previous request, that session will be replaced
|
||||||
|
in the queue instead of replicating two requests. This almost never happens, unless there is a
|
||||||
|
large network delay.
|
||||||
|
-->
|
||||||
|
<!--
|
||||||
|
When configuring for clustering, you also add in a valve to catch all the requests
|
||||||
|
coming in, at the end of the request, the session may or may not be replicated.
|
||||||
|
A session is replicated if and only if all the conditions are met:
|
||||||
|
1. useDirtyFlag is true or setAttribute or removeAttribute has been called AND
|
||||||
|
2. a session exists (has been created)
|
||||||
|
3. the request is not trapped by the "filter" attribute
|
||||||
|
|
||||||
|
The filter attribute is to filter out requests that could not modify the session,
|
||||||
|
hence we don't replicate the session after the end of this request.
|
||||||
|
The filter is negative, ie, anything you put in the filter, you mean to filter out,
|
||||||
|
ie, no replication will be done on requests that match one of the filters.
|
||||||
|
The filter attribute is delimited by ;, so you can't escape out ; even if you wanted to.
|
||||||
|
|
||||||
|
filter=".*\.gif;.*\.js;" means that we will not replicate the session after requests with the URI
|
||||||
|
ending with .gif and .js are intercepted.
|
||||||
|
|
||||||
|
The deployer element can be used to deploy apps cluster wide.
|
||||||
|
Currently the deployment only deploys/undeploys to working members in the cluster
|
||||||
|
so no WARs are copied upons startup of a broken node.
|
||||||
|
The deployer watches a directory (watchDir) for WAR files when watchEnabled="true"
|
||||||
|
When a new war file is added the war gets deployed to the local instance,
|
||||||
|
and then deployed to the other instances in the cluster.
|
||||||
|
When a war file is deleted from the watchDir the war is undeployed locally
|
||||||
|
and cluster wide
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
|
||||||
|
managerClassName="org.apache.catalina.cluster.session.DeltaManager"
|
||||||
|
expireSessionsOnShutdown="false"
|
||||||
|
useDirtyFlag="true">
|
||||||
|
|
||||||
|
<Membership
|
||||||
|
className="org.apache.catalina.cluster.mcast.McastService"
|
||||||
|
mcastAddr="228.0.0.4"
|
||||||
|
mcastPort="45564"
|
||||||
|
mcastFrequency="500"
|
||||||
|
mcastDropTime="3000"/>
|
||||||
|
|
||||||
|
<Receiver
|
||||||
|
className="org.apache.catalina.cluster.tcp.ReplicationListener"
|
||||||
|
tcpListenAddress="auto"
|
||||||
|
tcpListenPort="4001"
|
||||||
|
tcpSelectorTimeout="100"
|
||||||
|
tcpThreadCount="6"/>
|
||||||
|
|
||||||
|
<Sender
|
||||||
|
className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
|
||||||
|
replicationMode="pooled"/>
|
||||||
|
|
||||||
|
<Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
|
||||||
|
filter=".*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;"/>
|
||||||
|
|
||||||
|
<Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
|
||||||
|
tempDir="/tmp/war-temp/"
|
||||||
|
deployDir="/tmp/war-deploy/"
|
||||||
|
watchDir="/tmp/war-listen/"
|
||||||
|
watchEnabled="false"/>
|
||||||
|
</Cluster>
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Normally, users must authenticate themselves to each web app
|
||||||
|
individually. Uncomment the following entry if you would like
|
||||||
|
a user to be authenticated the first time they encounter a
|
||||||
|
resource protected by a security constraint, and then have that
|
||||||
|
user identity maintained across *all* web applications contained
|
||||||
|
in this virtual host. -->
|
||||||
|
<!--
|
||||||
|
<Valve className="org.apache.catalina.authenticator.SingleSignOn"
|
||||||
|
debug="0"/>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Access log processes all requests for this virtual host. By
|
||||||
|
default, log files are created in the "logs" directory relative to
|
||||||
|
$CATALINA_HOME. If you wish, you can specify a different
|
||||||
|
directory with the "directory" attribute. Specify either a relative
|
||||||
|
(to $CATALINA_HOME) or absolute path to the desired directory.
|
||||||
|
-->
|
||||||
|
<!--
|
||||||
|
<Valve className="org.apache.catalina.valves.AccessLogValve"
|
||||||
|
directory="logs" prefix="localhost_access_log." suffix=".txt"
|
||||||
|
pattern="common" resolveHosts="false"/>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Logger shared by all Contexts related to this virtual host. By
|
||||||
|
default (when using FileLogger), log files are created in the "logs"
|
||||||
|
directory relative to $CATALINA_HOME. If you wish, you can specify
|
||||||
|
a different directory with the "directory" attribute. Specify either a
|
||||||
|
relative (to $CATALINA_HOME) or absolute path to the desired
|
||||||
|
directory.-->
|
||||||
|
<Logger className="org.apache.catalina.logger.FileLogger"
|
||||||
|
directory="logs" prefix="localhost_log." suffix=".txt"
|
||||||
|
timestamp="true"/>
|
||||||
|
|
||||||
|
</Host>
|
||||||
|
|
||||||
|
</Engine>
|
||||||
|
|
||||||
|
</Service>
|
||||||
|
|
||||||
|
</Server>
|
35
tomcat/conf/server.xml.old
Normal file
35
tomcat/conf/server.xml.old
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
<Server port="8005" shutdown="SHUTDOWN">
|
||||||
|
<GlobalNamingResources>
|
||||||
|
<!-- Used by Manager webapp -->
|
||||||
|
<Resource name="UserDatabase" auth="Container"
|
||||||
|
type="org.apache.catalina.UserDatabase"
|
||||||
|
description="User database that can be updated and saved">
|
||||||
|
</Resource>
|
||||||
|
<ResourceParams name="UserDatabase">
|
||||||
|
<parameter>
|
||||||
|
<name>factory</name>
|
||||||
|
<value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
|
||||||
|
</parameter>
|
||||||
|
<parameter>
|
||||||
|
<name>pathname</name>
|
||||||
|
<value>conf/tomcat-users.xml</value>
|
||||||
|
</parameter>
|
||||||
|
</ResourceParams>
|
||||||
|
</GlobalNamingResources>
|
||||||
|
|
||||||
|
<Service name="Catalina">
|
||||||
|
<Connector port="8080" />
|
||||||
|
|
||||||
|
<!-- This is here for compatibility only, not required -->
|
||||||
|
<Connector port="8009" protocol="AJP/1.3" />
|
||||||
|
|
||||||
|
<Engine name="Catalina" defaultHost="localhost">
|
||||||
|
<Logger className="org.apache.catalina.logger.FileLogger" />
|
||||||
|
|
||||||
|
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
|
||||||
|
resourceName="UserDatabase" />
|
||||||
|
|
||||||
|
<Host name="localhost" appBase="webapps" />
|
||||||
|
</Engine>
|
||||||
|
</Service>
|
||||||
|
</Server>
|
8
tomcat/conf/tomcat-users.xml
Normal file
8
tomcat/conf/tomcat-users.xml
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
<?xml version='1.0' encoding='utf-8'?>
|
||||||
|
<tomcat-users>
|
||||||
|
<role rolename="tomcat"/>
|
||||||
|
<role rolename="role1"/>
|
||||||
|
<user username="tomcat" password="tomcat" roles="tomcat"/>
|
||||||
|
<user username="role1" password="tomcat" roles="role1"/>
|
||||||
|
<user username="both" password="tomcat" roles="tomcat,role1"/>
|
||||||
|
</tomcat-users>
|
953
tomcat/conf/web.xml
Normal file
953
tomcat/conf/web.xml
Normal file
|
@ -0,0 +1,953 @@
|
||||||
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
|
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
|
||||||
|
version="2.4">
|
||||||
|
|
||||||
|
<!-- ======================== 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] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- readmeFile File name to display with the directory -->
|
||||||
|
<!-- contents. [null] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- For directory listing customization. Checks localXsltFile, then -->
|
||||||
|
<!-- globalXsltFile, then defaults to original behavior. -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- localXsltFile Make directory listings an XML doc and -->
|
||||||
|
<!-- pass the result to this style sheet residing -->
|
||||||
|
<!-- in that directory. This overrides -->
|
||||||
|
<!-- globalXsltFile[null] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- globalXsltFile Site wide configuration version of -->
|
||||||
|
<!-- localXsltFile This argument is expected -->
|
||||||
|
<!-- to be a physical file. [null] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- -->
|
||||||
|
|
||||||
|
<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 the 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 the URL pattern "*.jsp". This servlet supports the -->
|
||||||
|
<!-- following initialization parameters (default values are in square -->
|
||||||
|
<!-- brackets): -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- checkInterval If development is false and reloading is true, -->
|
||||||
|
<!-- background compiles are enabled. checkInterval -->
|
||||||
|
<!-- is the time in seconds between checks to see -->
|
||||||
|
<!-- if a JSP page needs to be recompiled. [300] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- compiler Which compiler Ant should use to compile JSP -->
|
||||||
|
<!-- pages. See the Ant documentation for more -->
|
||||||
|
<!-- information. [javac] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- classdebuginfo Should the class file be compiled with -->
|
||||||
|
<!-- debugging information? [true] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- classpath What class path should I use while compiling -->
|
||||||
|
<!-- generated servlets? [Created dynamically -->
|
||||||
|
<!-- based on the current web application] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- development Is Jasper used in development mode (will check -->
|
||||||
|
<!-- for JSP modification on every access)? [true] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- enablePooling Determines whether tag handler pooling is -->
|
||||||
|
<!-- enabled [true] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- fork Tell Ant to fork compiles of JSP pages so that -->
|
||||||
|
<!-- a separate JVM is used for JSP page compiles -->
|
||||||
|
<!-- from the one Tomcat is running in. [true] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- ieClassId The class-id value to be sent to Internet -->
|
||||||
|
<!-- Explorer when using <jsp:plugin> tags. -->
|
||||||
|
<!-- [clsid:8AD9C840-044E-11D1-B3E9-00805F499D93] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- javaEncoding Java file encoding to use for generating java -->
|
||||||
|
<!-- source files. [UTF8] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- keepgenerated Should we keep the generated Java source code -->
|
||||||
|
<!-- for each page instead of deleting it? [true] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- mappedfile Should we generate static content with one -->
|
||||||
|
<!-- print statement per input line, to ease -->
|
||||||
|
<!-- debugging? [true] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- trimSpaces Should white spaces in template text between -->
|
||||||
|
<!-- actions or directives be trimmed? [false] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- reloading Should Jasper check for modified JSPs? [true] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- suppressSmap Should the generation of SMAP info for JSR45 -->
|
||||||
|
<!-- debugging be suppressed? [false] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- dumpSmap Should the SMAP info for JSR45 debugging be -->
|
||||||
|
<!-- dumped to a file? [false] -->
|
||||||
|
<!-- False if suppressSmap is true -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- genStrAsCharArray Should text strings be generated as char -->
|
||||||
|
<!-- arrays, to improve performance in some cases? -->
|
||||||
|
<!-- [false] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- errorOnUseBeanInvalidClassAttribute -->
|
||||||
|
<!-- Should Jasper issue an error when the value of -->
|
||||||
|
<!-- the class attribute in an useBean action is -->
|
||||||
|
<!-- not a valid bean class? [true] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- scratchdir What scratch directory should we use when -->
|
||||||
|
<!-- compiling JSP pages? [default work directory -->
|
||||||
|
<!-- for the current web application] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- xpoweredBy Determines whether X-Powered-By response -->
|
||||||
|
<!-- header is added by generated servlet [false] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- If you wish to use Jikes to compile JSP pages: -->
|
||||||
|
<!-- Set the init parameter "compiler" to "jikes". Define -->
|
||||||
|
<!-- the property "-Dbuild.compiler.emacs=true" when starting Tomcat -->
|
||||||
|
<!-- by adding the above to your CATALINA_OPTS environment variable. -->
|
||||||
|
<!-- If you get an error reporting that jikes can't use UTF8 encoding, -->
|
||||||
|
<!-- try setting the init parameter "javaEncoding" to "ISO-8859-1". -->
|
||||||
|
|
||||||
|
<servlet>
|
||||||
|
<servlet-name>jsp</servlet-name>
|
||||||
|
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
|
||||||
|
<init-param>
|
||||||
|
<param-name>fork</param-name>
|
||||||
|
<param-value>false</param-value>
|
||||||
|
</init-param>
|
||||||
|
<init-param>
|
||||||
|
<param-name>xpoweredBy</param-name>
|
||||||
|
<param-value>false</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 the -->
|
||||||
|
<!-- 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] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- 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.ssi.SSIServlet
|
||||||
|
</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>
|
||||||
|
<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] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- executable Name of the exectuable used to run the script. -->
|
||||||
|
<!-- [perl] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- parameterEncoding Name of parameter encoding to be used with CGI -->
|
||||||
|
<!-- servlet. -->
|
||||||
|
<!-- [System.getProperty("file.encoding","UTF-8")] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- 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>
|
||||||
|
|
||||||
|
<servlet-mapping>
|
||||||
|
<servlet-name>jsp</servlet-name>
|
||||||
|
<url-pattern>*.jspx</url-pattern>
|
||||||
|
</servlet-mapping>
|
||||||
|
|
||||||
|
<servlet-mapping>
|
||||||
|
<servlet-name>jsp</servlet-name>
|
||||||
|
<url-pattern>*.jsf</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>jsf</extension>
|
||||||
|
<mime-type>text/plain</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>jspf</extension>
|
||||||
|
<mime-type>text/plain</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>ppt</extension>
|
||||||
|
<mime-type>application/powerpoint</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>sit</extension>
|
||||||
|
<mime-type>application/x-stuffit</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>xht</extension>
|
||||||
|
<mime-type>application/xhtml+xml</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>xhtml</extension>
|
||||||
|
<mime-type>application/xhtml+xml</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>xml</extension>
|
||||||
|
<mime-type>text/xml</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>xpm</extension>
|
||||||
|
<mime-type>image/x-xpixmap</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>xsl</extension>
|
||||||
|
<mime-type>text/xml</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>
|
||||||
|
<extension>svg</extension>
|
||||||
|
<mime-type>image/svg+xml</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>svgz</extension>
|
||||||
|
<mime-type>image/svg+xml</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>vsd</extension>
|
||||||
|
<mime-type>application/x-visio</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.wmlscript</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>
|
15
webroot/index.jsp
Normal file
15
webroot/index.jsp
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
<%@ page buffer="12kb" autoFlush="true" import="org.thdl.lex.*" errorPage="/jsp/error.jsp" %>
|
||||||
|
<jsp:include page="jsp/header.jsf" />
|
||||||
|
|
||||||
|
<%-- <div id="label">THDL Tibetan Collaborative Dictionaries Home Page</div><!--END label-->
|
||||||
|
<div id="message">Last Updated:October 18, 2003</div><!--END message--> --%>
|
||||||
|
<div id="columnSingle">
|
||||||
|
<h2>Dictionary Welcome Page</h2>
|
||||||
|
<p>
|
||||||
|
<jsp:include page="jsp/navLinks.jsf" />
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</div><!--END columnSingle-->
|
||||||
|
|
||||||
|
<jsp:include page="jsp/footer.jsf" />
|
||||||
|
|
36
webroot/login.jsp
Normal file
36
webroot/login.jsp
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
<%@ page buffer="512kb" autoFlush="false" import="org.thdl.lex.*" errorPage="/jsp/error.jsp" %>
|
||||||
|
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core"%>
|
||||||
|
<jsp:include page="jsp/header.jsf" flush="false" />
|
||||||
|
<div id="label">
|
||||||
|
Please login to use the THDL Tibetan Collaborative Dictionaries
|
||||||
|
</div><!--END label-->
|
||||||
|
<div id="message">Message</div><!--END Message-->
|
||||||
|
<div id="columnSingle">
|
||||||
|
<div class="content">
|
||||||
|
|
||||||
|
<c:if test="${ ! empty param.retry }">
|
||||||
|
<p style="color:red"> Invalid username/password combination.</p>
|
||||||
|
<c:set var="usernameValue" value="${ param.username }" />
|
||||||
|
</c:if>
|
||||||
|
|
||||||
|
|
||||||
|
<form id='loginForm' action='/lex/login' method="post">
|
||||||
|
<p>
|
||||||
|
Username: <c:out value="<input type='text' name='username' size='16' value='${ usernameValue }'>" escapeXml="false" />
|
||||||
|
<br />
|
||||||
|
Password: <input type='password' name='password' size='20' value=''>
|
||||||
|
<br />
|
||||||
|
<input type='submit' value='Log in'>
|
||||||
|
</p>
|
||||||
|
</form>
|
||||||
|
<form action='/lex/public' method="post">
|
||||||
|
<p>
|
||||||
|
If you would just like to browse the dictionary without contributing please proceed here.
|
||||||
|
<input type="submit" value="Proceed" />
|
||||||
|
</p>
|
||||||
|
</form>
|
||||||
|
</div><!--END content-->
|
||||||
|
</div><!--END columnSingle-->
|
||||||
|
|
||||||
|
<jsp:include page="jsp/footer.jsf" flush="false" />
|
||||||
|
|
23
webroot/logout.jsp
Normal file
23
webroot/logout.jsp
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
<%@ page buffer="512kb" autoFlush="false" import="org.thdl.lex.*" errorPage="/jsp/error.jsp" %>
|
||||||
|
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core"%>
|
||||||
|
<jsp:include page="jsp/header.jsf" flush="false" />
|
||||||
|
|
||||||
|
<div id="columns">
|
||||||
|
<div id="columnSingle">
|
||||||
|
<div class="label">
|
||||||
|
Log out of THDL Tibetan Collaborative Dictionaries</div>
|
||||||
|
|
||||||
|
<div class="content">
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Log out account <b><c:out value="${ sessionScope.visit.user.username }" /></b>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<form action='<%= response.encodeURL( request.getContextPath() + "/logout" )%>' method="post">
|
||||||
|
<input type="submit" value="Log out">
|
||||||
|
</form>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<jsp:include page="jsp/footer.jsf" flush="false" />
|
Loading…
Reference in a new issue