Running:
TC 7.0.26 x64 on
Windows server 2008 R2 x64 with
JRE 1.6.0_27 x64


I'm trying to configure my app in the recommended manner, where the context is NOT defined in the server.xml (which I've been doing for years), and I'm having trouble, getting 404 errors, and can't get my opening page to load from:

http://localhost:81/SiteData/Login.jsp

I'm pretty sure it's some stupid little setting I'm missing, but two full days haven't turned it up, so I could use a 2nd set of eyes to help me find it. Many details below:

Tomcat was installed using the windows x64 installer, and then I unzipped the .zip package over the top so I can get the service.bat utilities.

Catalina_home is defined in tomcat7w as:
-Dcatalina.home=C:\Program Files\Apache Software Foundation\Tomcat 7.0

Catalina_base is
-Dcatalina.base=c:\TomcatClients\Pelican

The application I'm testing is loaded from SiteData.war, which is located in catalina.base\webapps. The other one that is loading below is failing too.

I have put a context.xml file in several different places: catalina.base\webapps\SiteData\META-INF,
catalina.home\conf\Catalina\localhost
catalina.base\conf\Catalina\localhost
It contains:

<Context
   docBase="c:\TomcatClients\Pelican\webapps\SiteData"
   reloadable="true"
   crossContext="false"
</Context>

I initially had

path="/SiteData"

in the context entry, but reading the docs told me I needed to remove it.



My server.xml, in catalina.base\conf:

<?xml version='1.0' encoding='utf-8'?>
<Server port="8006" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <Listener className="org.apache.catalina.core.JasperListener" />
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /> <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /> <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
  <GlobalNamingResources>
    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />
  </GlobalNamingResources>
  <Service name="Catalina">
    <Connector port="81" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
    <Engine name="Catalina" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>
      <Host name="localhost"  appBase="c:/TomcatClients/Pelican/webapps"
            unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
      </Host>
    </Engine>
  </Service>
</Server>



The context.xml in catalina_base\conf:

<?xml version='1.0' encoding='utf-8'?>
<Context>
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>




My web.xml, from the exploded directories:

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
                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";>
        <display-name>SiteData</display-name>
        <servlet>
                <display-name>Process date entry</display-name>
                <servlet-name>ObsDateProc</servlet-name>
                <servlet-class>SiteData.ObsDateProc</servlet-class>
        </servlet>
        <servlet>
                <display-name>Process submitted data</display-name>
                <servlet-name>SiteDataProc</servlet-name>
                <servlet-class>SiteData.SiteDataProc</servlet-class>
        </servlet>
        <servlet>
                <display-name>Process submitted data</display-name>
                <servlet-name>SiteGridProc</servlet-name>
                <servlet-class>SiteData.SiteGridProc</servlet-class>
        </servlet>
        <servlet>
<description>Manages server settings and properties, and displays runtime counters, etc</description>
                <display-name>Manage server configuration</display-name>
                <servlet-name>ServerManagement</servlet-name>
                <servlet-class>SiteData.ServerManagement</servlet-class>
        </servlet>
        <servlet>
<description>Processes admin requests for reports and data modifications.</description>
                <display-name>Process administrative request</display-name>
                <servlet-name>ProcessAdminRequest</servlet-name>
                <servlet-class>SiteData.ProcessAdminRequest</servlet-class>
        </servlet>
        <servlet-mapping>
                <servlet-name>ObsDateProc</servlet-name>
                <url-pattern>/ObsDateProc</url-pattern>
        </servlet-mapping>
        <servlet-mapping>
                <servlet-name>SiteDataProc</servlet-name>
                <url-pattern>/SiteDataProc</url-pattern>
        </servlet-mapping>
        <servlet-mapping>
                <servlet-name>SiteGridProc</servlet-name>
                <url-pattern>/SiteGridProc</url-pattern>
        </servlet-mapping>
        <servlet-mapping>
                <servlet-name>ServerManagement</servlet-name>
                <url-pattern>/ServerManagement</url-pattern>
        </servlet-mapping>
        <servlet-mapping>
                <servlet-name>ProcessAdminRequest</servlet-name>
                <url-pattern>/ProcessAdminRequest</url-pattern>
        </servlet-mapping>
        <listener>
        <listener-class>SiteData.SiteDataStartup</listener-class>
        </listener>

        <listener>
        <listener-class>SiteData.SessionCountListener</listener-class>
        </listener>
        
        <session-config>
                <session-timeout>45</session-timeout>
        </session-config>
        <welcome-file-list>
                <welcome-file>Login.jsp</welcome-file>
        </welcome-file-list>
</web-app>



Log files:

localhost_access_log.<date>:
127.0.0.1 - - [22/Mar/2012:10:57:59 -0400] "GET /SiteData/Login.jsp HTTP/1.1" 404 952


catalina.<date>.log (note the "INFO: No global web.xml found"; is that a problem?); the stderr log has the exact same info.

Mar 22, 2012 11:12:19 AM org.apache.catalina.core.AprLifecycleListener init
INFO: Loaded APR based Apache Tomcat Native library 1.1.22.
Mar 22, 2012 11:12:19 AM org.apache.catalina.core.AprLifecycleListener init
INFO: APR capabilities: IPv6 [false], sendfile [true], accept filters [false], random [true].
Mar 22, 2012 11:12:20 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-apr-81"]
Mar 22, 2012 11:12:20 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-apr-8009"]
Mar 22, 2012 11:12:20 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1073 ms
Mar 22, 2012 11:12:20 AM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Mar 22, 2012 11:12:20 AM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.26
Mar 22, 2012 11:12:20 AM org.apache.catalina.startup.HostConfig deployDescriptor INFO: Deploying configuration descriptor C:\TomcatClients\Pelican\conf\Catalina\localhost\SiteData.xml Mar 22, 2012 11:12:20 AM org.apache.catalina.startup.ContextConfig getDefaultWebXmlFragment
INFO: No global web.xml found
Mar 22, 2012 11:12:20 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-apr-81"]
Mar 22, 2012 11:12:20 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-apr-8009"]
Mar 22, 2012 11:12:20 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 328 ms

TIA!
Dave


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to