tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Inocencio Richiez <irich...@yahoo.com>
Subject deploying a WAR file to Tomcat 4.0
Date Tue, 04 Feb 2003 14:22:30 GMT
Hi can someone here please help???
 
 I have a WAR file that was succesfully deployed in
 WebSphere Application Server. The file now needs to
be
 deployed in
 Tomcat apache 4.0. I copied the WAR file into the
 webapps folder. Restarted the machine and tomcat was
 able to extract
 the contents of this WAR file and build the folder
 structure neccessary. When I run the application, the
 login page comes
 up, but once I try to login, I get the following
 exception:
 
 Apache Tomcat/4.0.6 - HTTP Status 500 - Internal
 Server Error
 

--------------------------------------------------------------
 ------------------
 
 type Exception report
 
 message Internal Server Error
 
 description The server encountered an internal error
 (Internal Server Error) that prevented it from
 fulfilling this request.
 
 exception 
 
 java.lang.IllegalArgumentException: Path index.jsp
 does not start with a "/" character
 	at

org.apache.catalina.core.ApplicationContext.getRequestDispatch
 er(ApplicationContext.java:572)
 
 Here is an example of my web.xml file:
 
 <!DOCTYPE web-app PUBLIC "-//Sun Microsystems,
 Inc.//DTD Web Application 2.2//EN"
 "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"
 <web-app id="WebApp"
 	<display-nameMyApp</display-name
 	<servlet
 		<servlet-nameMainServlet</servlet-name
 		<display-nameMainServlet</display-name
 	

<servlet-classcom.store.information.config.MainServlet</servl
 et-class
 	</servlet
 	<servlet
 		<servlet-nameInfoServlet</servlet-name
 		<display-nameInfoServlet</display-name
 	

<servlet-classcom.store.information.InfoServlet</servlet-class
 	</servlet
 	<servlet
 		<servlet-nameGenerateInlineServlet</servlet-name
 		<display-nameGenerateInlineServlet</display-name
 		<servlet-classGenerateInlineServlet</servlet-class
 	</servlet
 	<servlet
 		<servlet-nameOptionsServlet</servlet-name
 		<display-nameOptionsServlet</display-name
 	

<servlet-classcom.store.information.config.OptionsServlet</se
 rvlet-class
 	</servlet
 	<servlet-mapping
 		<servlet-nameMainServlet</servlet-name
 		<url-pattern/MainServlet</url-pattern
 	</servlet-mapping
 	<servlet-mapping
 		<servlet-nameGenerateInlineServlet</servlet-name
 		<url-pattern/GenerateInlineServlet</url-pattern
 	</servlet-mapping
 	<servlet-mapping
 		<servlet-nameOptionsServlet</servlet-name
 		<url-pattern/OptionsServlet</url-pattern
 	</servlet-mapping
 	<servlet-mapping
 		<servlet-nameInfoServlet</servlet-name
 		<url-pattern/InfoServlet</url-pattern
 	</servlet-mapping
 	<session-config
 		<session-timeout60</session-timeout
 	</session-config
 	<welcome-file-list
 		<welcome-fileindex.jsp</welcome-file
 		<welcome-fileindex.html</welcome-file
 		<welcome-fileindex.htm</welcome-file
 		<welcome-filedefault.html</welcome-file
 		<welcome-filedefault.htm</welcome-file
 		<welcome-filedefault.jsp</welcome-file
 	</welcome-file-list
 	<login-config
 		<form-login-config
 			<form-login-page/index.jsp</form-login-page
 		
 <form-error-page/jsp/en_US/error.jsp</form-error-page
 		</form-login-config
 	</login-config
 </web-app
 
 
 Here is a copy of my server.xml
 
 <!-- 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"
 
 
   <!-- 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="Tomcat-Standalone"
 
     <!-- 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 4.0 documentation bundle
 for more detailed
          instructions):
          * 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 HTTP/1.1 Connector on port
 8080 --
     <Connector

className="org.apache.catalina.connector.http.HttpConnector"
                port="8080" minProcessors="5"
 maxProcessors="75"
                enableLookups="true"
 redirectPort="8443"
                acceptCount="10" debug="0"
 connectionTimeout="60000"/
     <!-- Note : To disable connection timeouts, set
 connectionTimeout value 
      to -1 --
 
     <!-- Define a non-SSL Coyote HTTP/1.1 Connector
on
 port 8081 --
     <!--
     <Connector
 className="org.apache.coyote.tomcat4.CoyoteConnector"
                port="8081" minProcessors="5"
 maxProcessors="75"
                enableLookups="true"
 redirectPort="8443"
                acceptCount="10" debug="0"
 connectionTimeout="20000"/
     --
 
     <!-- Define an SSL HTTP/1.1 Connector on port
8443
 --
     <!--
     <Connector

className="org.apache.catalina.connector.http.HttpConnector"
                port="8443" minProcessors="5"
 maxProcessors="75"
                enableLookups="true"
 	       acceptCount="10" debug="0" scheme="https"
 secure="true"
       <Factory

className="org.apache.catalina.net.SSLServerSocketFactory"
                clientAuth="false" protocol="TLS"/
     </Connector
     --
 
     <!-- Define an AJP 1.3 Connector on port 8009 --
     <Connector
 className="org.apache.ajp.tomcat4.Ajp13Connector"
                port="8009" minProcessors="5"
 maxProcessors="75"
                acceptCount="10" debug="0"/
 
     <!-- Define a Proxied HTTP/1.1 Connector on port
 8081 --
     <!-- See proxy documentation for more information
 about using this. --
     <!--
     <Connector

className="org.apache.catalina.connector.http.HttpConnector"
                port="8082" minProcessors="5"
 maxProcessors="75"
                enableLookups="true"
                acceptCount="10" debug="0"
 connectionTimeout="60000"
                proxyPort="80"/
     --
 
     <!-- Define a non-SSL HTTP/1.0 Test Connector on
 port 8082 --
     <!--
     <Connector

className="org.apache.catalina.connector.http10.HttpConnector"
                port="8083" minProcessors="5"
 maxProcessors="75"
                enableLookups="true"
 redirectPort="8443"
                acceptCount="10" debug="0"/
     --
 
     <!-- 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).
 --
 
     <!-- Define the top level container in our
 container hierarchy --
     <Engine name="Standalone" 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.3
            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 --
 
       <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?user=test;pass
 word=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?user=scott
 ;password=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 --
       <Host name="localhost" debug="0"
 appBase="webapps" unpackWARs="true"
 
         <!-- 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"/
 
         <!-- 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"/
 
         <!-- Define properties for each web
 application.  This is only needed
              if you want to set non-default
 properties, or have web application
              document roots in places other than the
 virtual host's appBase
              directory.  --
 
         <!-- Tomcat Root Context --
         <!--
           <Context path="" docBase="ROOT" debug="0"/
         --
 
 
 
 
 <!-- PLEASE NOTE THIS ENTRY  --
 	<Context path="/MyApp" docBase="MyStore" debug="0"
 reloadable="true" crossContext="true"
 
 
 
 
 
         <!-- Tomcat Manager Context --
         <Context path="/manager" docBase="manager"
 debug="0" privileged="true"/
 
         <!-- Tomcat Examples Context 
         <Context path="/examples" docBase="examples"
 debug="0" reloadable="true" crossContext="true"
           <Logger
 className="org.apache.catalina.logger.FileLogger"
 prefix="localhost_examples_log." suffix=".txt"
 timestamp="true"/
           <Ejb   name="ejb/EmplRecord" type="Entity"
 home="com.wombat.empl.EmployeeRecordHome"
 remote="com.wombat.empl.EmployeeRecord"/
 	--
 
 	<!-- PersistentManager: Uncomment the section below
 to test Persistent Sessions.
                          
                saveOnRestart: If true, all active
 sessions will be saved
                  to the Store when Catalina is
 shutdown, regardless of
                  other settings. All Sessions found
in
 the Store will be 
                  loaded on startup. Sessions past
 their expiration are
                  ignored in both cases.
                maxActiveSessions: If 0 or greater,
 having too many active 
                  sessions will result in some being
 swapped out. minIdleSwap
                  limits this. -1 means unlimited
 sessions are allowed.
                  0 means sessions will almost always
 be swapped out after
                  use - this will be noticeably slow
 for your users.
                minIdleSwap: Sessions must be idle for
 at least this long
                  (in seconds) before they will be
 swapped out due to 
                maxActiveSessions. This avoids
 thrashing when the site is 
                  highly active. -1 or 0 means there
is
 no minimum - sessions
                  can be swapped out at any time.
                maxIdleSwap: Sessions will be swapped
 out if idle for this
                  long (in seconds). If minIdleSwap is
 higher, then it will
                  override this. This isn't exact: it
 is checked periodically.
                  -1 means sessions won't be swapped
 out for this reason,
                  although they may be swapped out for
 maxActiveSessions.
                  If set to = 0, guarantees that all
 sessions found in the
                  Store will be loaded on startup.
                maxIdleBackup: Sessions will be backed
 up (saved to the Store,
                  but left in active memory) if idle
 for this long (in seconds), 
                  and all sessions found in the Store
 will be loaded on startup.
                  If set to -1 sessions will not be
 backed up, 0 means they
                  should be backed up shortly after
 being used.
 
                To clear sessions from the Store, set
 maxActiveSessions, maxIdleSwap,
                and minIdleBackup all to -1,
 saveOnRestart to false, then restart 
                Catalina.
           --
 		  <!--
           <Manager

className="org.apache.catalina.session.PersistentManager"
               debug="0"
               saveOnRestart="true"
               maxActiveSessions="-1"
               minIdleSwap="-1"
               maxIdleSwap="-1"
               maxIdleBackup="-1"
                 <Store
 className="org.apache.catalina.session.FileStore"/
           </Manager
 		  --
           <Environment name="maxExemptions"
 type="java.lang.Integer"
                       value="15"/
           <Parameter name="context.param.name"
 value="context.param.value"
                      override="false"/
           <Resource name="jdbc/EmployeeAppDb"
 auth="SERVLET"
                     type="javax.sql.DataSource"/
           <ResourceParams name="jdbc/EmployeeAppDb"
            
 <parameter<nameuser</name<valuesa</value</parameter
            
 <parameter<namepassword</name<value</value</parameter
             <parameter<namedriverClassName</name
              
 <valueorg.hsql.jdbcDriver</value</parameter
             <parameter<namedriverName</name
              
 <valuejdbc:HypersonicSQL:database</value</parameter
           </ResourceParams
           <Resource name="mail/Session"
 auth="Container"
                     type="javax.mail.Session"/
           <ResourceParams name="mail/Session"
             <parameter
               <namemail.smtp.host</name
               <valuelocalhost</value
             </parameter
           </ResourceParams
         </Context
 
       </Host
 
     </Engine
 
   </Service
 
   <!-- The MOD_WEBAPP connector is used to connect
 Apache 1.3 with Tomcat 4.0
        as its servlet container. Please read the
 README.txt file coming with
        the WebApp Module distribution on how to build
 it.
        (Or check out the
 "jakarta-tomcat-connectors/webapp" CVS repository)
 
        To configure the Apache side, you must ensure
 that you have the
        "ServerName" and "Port" directives defined in
 "httpd.conf".  Then,
        lines like these to the bottom of your
 "httpd.conf" file:
 
          LoadModule webapp_module
 libexec/mod_webapp.so
          WebAppConnection warpConnection warp
 localhost:8008
          WebAppDeploy examples warpConnection
 /examples/
 
        The next time you restart Apache (after
 restarting Tomcat, if needed)
        the connection will be established, and all
 applications you make
        visible via "WebAppDeploy" directives can be
 accessed through Apache.
   --
 
   <!-- Define an Apache-Connector Service --
   <Service name="Tomcat-Apache"
 
     <Connector

className="org.apache.catalina.connector.warp.WarpConnector"
      port="8008" minProcessors="5" maxProcessors="75"
      enableLookups="true" appBase="webapps"
      acceptCount="10" debug="0"/
 
     <!-- Replace "localhost" with what your Apache
 "ServerName" is set to --
     <Engine

className="org.apache.catalina.connector.warp.WarpEngine"
      name="Apache" debug="0"
 
       <!-- Global logger unless overridden at lower
 levels --
       <Logger
 className="org.apache.catalina.logger.FileLogger"
               prefix="apache_log." suffix=".txt"
               timestamp="true"/
 
       <!-- Because this Realm is here, an instance
 will be shared globally --
       <Realm
 className="org.apache.catalina.realm.MemoryRealm" /
 
     </Engine
 
   </Service
 
 </Server


__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com

---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


Mime
View raw message