JAVA SDK、Tomcat5 インストール
環境/home/ユーザー/.bashrc
SuSELinux10.1x86_64
java version "1.5.0_12"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_12-b04)
Java HotSpot(TM) 64-Bit Server VM (build 1.5.0_12-b04, mixed mode)
Tomcat5.0.30-27.5.3
mod_jk-ap20 4.1.30-8 x86_64
Apache2.2.0-21.7 x86_64
テストしながら調整中です。この後Tomcatでのバーチャルサーバー予定。
間違ってる可能性があるのであくまでも参考程度に、、、
YaST2で下記を選択、付帯していろんなものが入ります。
java-1_5_0-sun-devel - Java(TM) 5 SDK, Standard Edition
tomcat5 - A servlet container
mod_jk-ap20 - Connectors Between Apache 2.0 and Tomcat Servlet Container
.bashrc
#JAVAのパスexport JAVA_HOME=/usr/lib64/jvm/java-1.5.0-sunexport PATH=$JAVA_HOME/bin:$PATH#Tomcatのパスexport CATALINA_HOME=/usr/share/tomcat5#下記の記述は一行で挿入export_ CLASSPATH=.:$CATALINA_HOME/common/lib/servletapi5.jar:$CATALINA_HOME/common/lib/jspapi.jar:$CATALINA_HOME/webapps/ROOT/WEB-INF/classes:
.bashrcを再読み込み
# source .bashrc
/usr/share/tomcat5/conf/mod_jk.conf
mod_jk.conf
<IfModule !mod_jk.c>#mod_jk.soへのパスLoadModule jk_module "/usr/lib64/apache2-prefork/mod_jk.so"</IfModule>JkWorkersFile "/usr/share/tomcat5/conf/workers.properties"JkLogFile "/usr/share/tomcat5/logs/mod_jk.log"JkLogLevel warnJkMount /webdav ajp13JkMount /webdav/* ajp13# 今回テスト中のグループウェアJkMount /gsession2 ajp13JkMount /gsession2/* ajp13JkMount /servlets-examples ajp13JkMount /servlets-examples/* ajp13JkMount /jsp-examples ajp13JkMount /jsp-examples/* ajp13JkMount /balancer ajp13JkMount /balancer/* ajp13JkMount /tomcat-docs ajp13JkMount /tomcat-docs/* ajp13
/usr/share/tomcat5/conf/workers.properties
workers.properties
# workers.properties -## This file provides jk derived plugins with the needed information to# connect to the different tomcat workers. Note that the distributed# version of this file requires modification before it is usable by a# plugin.## As a general note, the characters $( and ) are used internally to define# macros. Do not use them in your own configuration!!!## Whenever you see a set of lines such as:# x=value# y=$(x)\something## the final value for y will be value\something## Normaly all you will need to do is un-comment and modify the first three# properties, i.e. workers.tomcat_home, workers.java_home and ps.# Most of the configuration is derived from these.## When you are done updating workers.tomcat_home, workers.java_home and ps# you should have 3 workers configured:## - An ajp12 worker that connects to localhost:8007# - An ajp13 worker that connects to localhost:8009# - A jni inprocess worker.# - A load balancer worker## However by default the plugins will only use the ajp12 worker. To have# the plugins use other workers you should modify the worker.list property.### OPTIONS ( very important for jni mode )## workers.tomcat_home should point to the location where you# installed tomcat. This is where you have your conf, webapps and lib# directories.##workers.tomcat_home=/var/tomcat3workers.tomcat_home=/usr/share/tomcat5## workers.java_home should point to your Java installation. Normally# you should have a bin and lib directories beneath it.##workers.java_home=/opt/IBMJava2-13workers.java_home=/usr/lib64/jvm/java-1.5.0-sun## You should configure your environment slash... ps=\ on NT and / on UNIX# and maybe something different elsewhere.#ps=/##------ ADVANCED MODE ------------------------------------------------#---------------------------------------------------------------------###------ DEFAULT worket list ------------------------------------------#---------------------------------------------------------------------### The workers that your plugins should create and work with## Add 'inprocess' if you want JNI connector#worker.list=ajp12, ajp13worker.list=ajp13# , inprocess##------ DEFAULT ajp12 WORKER DEFINITION ------------------------------#---------------------------------------------------------------------### Defining a worker named ajp12 and of type ajp12# Note that the name and the type do not have to match.#worker.ajp12.port=8007worker.ajp12.host=localhostworker.ajp12.type=ajp12## Specifies the load balance factor when used with# a load balancing worker.# Note:# ----> lbfactor must be > 0# ----> Low lbfactor means less work done by the worker.worker.ajp12.lbfactor=1##------ DEFAULT ajp13 WORKER DEFINITION ------------------------------#---------------------------------------------------------------------### Defining a worker named ajp13 and of type ajp13# Note that the name and the type do not have to match.#worker.ajp13.port=8009worker.ajp13.host=localhostworker.ajp13.type=ajp13## Specifies the load balance factor when used with# a load balancing worker.# Note:# ----> lbfactor must be > 0# ----> Low lbfactor means less work done by the worker.worker.ajp13.lbfactor=1## Specify the size of the open connection cache.#worker.ajp13.cachesize##------ DEFAULT LOAD BALANCER WORKER DEFINITION ----------------------#---------------------------------------------------------------------### The loadbalancer (type lb) workers perform wighted round-robin# load balancing with sticky sessions.# Note:# ----> If a worker dies, the load balancer will check its state# once in a while. Until then all work is redirected to peer# workers.worker.loadbalancer.type=lb#worker.loadbalancer.balanced_workers=ajp12, ajp13worker.loadbalancer.balanced_workers=ajp13##------ DEFAULT JNI WORKER DEFINITION---------------------------------#---------------------------------------------------------------------### Defining a worker named inprocess and of type jni# Note that the name and the type do not have to match.#worker.inprocess.type=jni##------ CLASSPATH DEFINITION -----------------------------------------#---------------------------------------------------------------------### Additional class path components.##worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)tomcat.jar## Setting the command line for tomcat.# Note: The cmd_line string may not contain spaces.#worker.inprocess.cmd_line=start# Not needed, but can be customized.#worker.inprocess.cmd_line=-config#worker.inprocess.cmd_line=$(workers.tomcat_home)$(ps)conf$(ps)server.xml#worker.inprocess.cmd_line=-home#worker.inprocess.cmd_line=$(workers.tomcat_home)## The JVM that we are about to use## This is for Java2## Windows#worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)bin$(ps)classic$(ps)jvm.dll# IBM JDK1.3#worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)bin$(ps)classic$(ps)libjvm.so# Unix - Sun VM or blackdown#worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)lib$(ps)i386$(ps)classic$(ps)libjvm.soworker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)lib$(ps)i386$(ps)server$(ps)libjvm.so## And this is for jdk1.1.X##worker.inprocess.jvm_lib=$(workers.java_home)$(ps)bin$(ps)javai.dll## Setting the place for the stdout and stderr of tomcat#worker.inprocess.stdout=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stdoutworker.inprocess.stderr=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stderr## Setting the tomcat.home Java property##worker.inprocess.sysprops=tomcat.home=$(workers.tomcat_home)## Java system properties## worker.inprocess.sysprops=java.compiler=NONE# worker.inprocess.sysprops=myprop=mypropvalue## Additional path components.## worker.inprocess.ld_path=d:$(ps)SQLLIB$(ps)bin#
/etc/apache2/httpd.conf最終行に追加
httpd.conf
Include /usr/share/tomcat5/conf/mod_jk.conf
/etc/java/java.conf
java.conf
# System-wide Java configuration file -*- sh -*-## JPackage Project <http://www.jpackage.org/># Location of jar files on the systemJAVA_LIBDIR=/usr/share/java# Location of arch-specific jar files on the systemJNI_LIBDIR=/usr/lib64/java# Location of 32 bit arch-specific jar files on the systemJNI_LIBDIR32=/usr/lib/java# Root of all native JVM installationsJVM_ROOT=/usr/lib64/jvm# Root of all 32 bit JVM installationsJVM_ROOT32=/usr/lib/jvm# You can define a system-wide JVM root here if you're not using the default oneJAVA_HOME=$JVM_ROOT/java-1.5.0-sun# Options to pass to the java interpreterJAVACMD_OPTS=
/usr/share/tomcat5/conf/server.xml
server.xml
<!-- Example Server Configuration File --><!-- Note that component elements are nested corresponding to theirparent-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 Serverlistens for a shutdown command on the indicated port.Note: A "Server" is not itself a "Container", so you may notdefine 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) byincluding 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"/><!-- /usr/share/tomcat5/conf/auto/mod_jk.conf自動作成20070713 --><Listener className="org.apache.jk.config.ApacheConfig"modJk="/usr/lib64/apache2-prefork/mod_jk.so"workersConfig="/usr/share/tomcat5/conf/workers.properties"/><!-- 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 byUserDatabaseRealm 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 sharea single "Container" (and therefore the web applications visiblewithin that Container). Normally, that Container is an "Engine",but this is not required.Note: A "Service" is not itself a "Container", so you may notdefine 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 receivedand responses are returned. Each Connector passes requests on to theassociated "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 byfollowing the instructions below and uncommenting the second Connectorentry. SSL support requires the following steps (see the SSL ConfigHOWTO in the Tomcat 5 documentation bundle for more detailedinstructions):* If your JDK version 1.3 or prior, download and install JSSE 1.0.2 orlater, 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 andthe keystore itself.By default, DNS lookups are enabled when a web application callsrequest.getRemoteHost(). This can have an adverse impact onperformance, 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 theIP 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 valueto 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 processesevery request. The Engine implementation for Tomcat stand aloneanalyzes the HTTP headers included with the request, and passes themon 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 aboutthe request headers and cookies that were received, and the responseheaders and cookies that were sent, for all requests received bythis instance of Tomcat. If you care only about requests to aparticular virtual host, or a particular application, nest thiselement inside the corresponding <Host> or <Context> entry instead.For a similar mechanism that is portable to all Servlet 2.4containers, check out the "RequestDumperFilter" Filter in theexample 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 followingelement 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="false"/><!-- Because this Realm is here, an instance will be shared globally --><!-- This Realm uses the UserDatabase configured in the global JNDIresources under the key "UserDatabase". Any editsthat are performed against this UserDatabase are immediatelyavailable 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 weneed to go back quickly --><!--<Realm className="org.apache.catalina.realm.MemoryRealm" />--><!-- Replace the above Realm with one of the following to get a Realmstored 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 hostNote: 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 therethat need to be clustered and remove the other ones.A cluster has the following parameters:className = the fully qualified name of the cluster classname = a descriptive name for your cluster, can be anythingdebug = the debug level, higher means more outputmcastAddr = the multicast address, has to be the same for all the nodesmcastPort = the multicast port, has to be the same for all the nodesmcastBindAddr = bind the multicast socket to a specific addressmcastTTL = the multicast TTL if you want to limit your broadcastmcastSoTimeout = the multicast readtimeoutmcastFrequency = the number of milliseconds in between sending a "I'm alive" heartbeatmcastDropTime = the number a milliseconds before a node is considered "dead" if no heartbeat is receivedtcpThreadCount = the number of threads to handle incoming replication requests, optimal would be the same amount of threads as nodestcpListenAddress = the listen address (bind address) for TCP cluster request on this host,in case of multiple ethernet cards.auto means that address becomesInetAddress.getLocalHost().getHostAddress()tcpListenPort = the tcp listen porttcpSelectorTimeout = the timeout (ms) for the Selector.select() method in case the OShas a wakup bug in java.nio. Set to 0 for no timeoutprintToScreen = true means that managers will also print to std.outexpireSessionsOnShutdown = true means thatuseDirtyFlag = 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 thethread the replicates the data to the other nodes, and will not return until allnodes 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 sessionalready exists in the queue from a previous request, that session will be replacedin the queue instead of replicating two requests. This almost never happens, unless there is alarge network delay.--><!--When configuring for clustering, you also add in a valve to catch all the requestscoming 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 AND2. a session exists (has been created)3. the request is not trapped by the "filter" attributeThe 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 URIending 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 clusterso 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 locallyand cluster wide--><!--<Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"managerClassName="org.apache.catalina.cluster.session.DeltaManager"expireSessionsOnShutdown="false"useDirtyFlag="true"><MembershipclassName="org.apache.catalina.cluster.mcast.McastService"mcastAddr="228.0.0.4"mcastPort="45564"mcastFrequency="500"mcastDropTime="3000"/><ReceiverclassName="org.apache.catalina.cluster.tcp.ReplicationListener"tcpListenAddress="auto"tcpListenPort="4001"tcpSelectorTimeout="100"tcpThreadCount="6"/><SenderclassName="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 appindividually. Uncomment the following entry if you would likea user to be authenticated the first time they encounter aresource protected by a security constraint, and then have thatuser identity maintained across *all* web applications containedin this virtual host. --><!--<Valve className="org.apache.catalina.authenticator.SingleSignOn"debug="0"/>--><!-- Access log processes all requests for this virtual host. Bydefault, log files are created in the "logs" directory relative to$CATALINA_HOME. If you wish, you can specify a differentdirectory 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. Bydefault (when using FileLogger), log files are created in the "logs"directory relative to $CATALINA_HOME. If you wish, you can specifya different directory with the "directory" attribute. Specify either arelative (to $CATALINA_HOME) or absolute path to the desireddirectory.--><Logger className="org.apache.catalina.logger.FileLogger"directory="logs" prefix="localhost_log" suffix=".txt"timestamp="false"/></Host></Engine></Service></Server>/usr/share/tomcat5/conf/web.xml
web.xml
<?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>false</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