I found the solution to this problem.

The symptom was that ALL request URI's were treated as '' under 4.1.30, using the same server.xml file that had worked fine under 4.1.29.

The solution was to add 'useURIValidationHack="false"' to the each of the Connector statements. Apparently setting this attribute was optional under 4.1.29, but required under 4.1.30.

-Jim

Jim Hopp wrote:
Greetings-

I've just upgraded my development environment from Tomcat 4.1.29 to 4.1.30 (Win XP, jdk 1.4.2). It appears that my URI's are not mapped to the same context under 4.1.30 as they were under 4.1.29. I've made no changes to any of my config files; I simply upgraded Tomcat.

Here's a snippet of my process log from 4.1.29, which works as I expect it to:
2004-03-30 11:52:59 StandardHost[localhost]: Mapping request URI '/fileupload/fileUpload.html'
2004-03-30 11:52:59 StandardHost[localhost]: Trying the longest context path prefix
2004-03-30 11:52:59 StandardHost[localhost]: Mapped to context '/fileupload'
2004-03-30 11:52:59 default: DefaultServlet.serveResource: Serving resource '/fileUpload.html' headers and data
2004-03-30 11:52:59 default: DefaultServlet.serveFile: lastModified='2004-03-30 11:48:46.455'
2004-03-30 11:52:59 default: DefaultServlet.serveFile: contentType='text/html'
2004-03-30 11:52:59 default: DefaultServlet.serveFile: contentLength=1830


Here's the same request under 4.1.30, not working as I expected it to:
2004-03-30 13:41:22 StandardHost[localhost]: Mapping request URI ''
2004-03-30 13:41:22 StandardHost[localhost]: Trying the longest context path prefix
2004-03-30 13:41:22 StandardHost[localhost]: Mapped to context ''


Here's the Host section of the server.xml:
      <Host name="localhost"
            appBase="c:/tomcat/webapps"
            workDir="c:/cvs-work/dvlp/temp/tomcat-ui/ui/localhost"
            autoDeploy="false"
            liveDeploy="false"
            debug="10"
            deployXML="false">

<Context path="/manager" privileged="true" docBase="c:/tomcat/server/webapps/manager">
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127.0.0.1"/>
</Context>


<Context path="" docBase="c:/cvs-work/dvlp/bin/ui" reloadable="true">
<Manager className="org.apache.catalina.session.PersistentManager" checkInterval="60" maxInactiveInterval="120" saveOnRestart="false"/>
<Parameter name="version" value="dev"/>
<Resource name="nyw/directory" auth="Container" type="nyw.dir.Directory"/>
<ResourceParams name="nyw/directory">
<parameter>
<name>factory</name>
<value>nyw.dir.DirectoryObjectFactory</value>
</parameter>
<parameter>
<name>url</name>
<value>http://localhost:13001/property</value>
</parameter>
</ResourceParams>
<Resource name="nyw/xmltranslator" auth="Container" type="nyw.ui.XMLTranslator"/>
<ResourceParams name="nyw/xmltranslator">
<parameter>
<name>factory</name>
<value>nyw.ui.XMLTranslatorObjectFactory</value>
</parameter>
<parameter>
<name>cache</name>
<value>false</value>
</parameter>
<parameter>
<name>xsltRoot</name>
<value>jndi:/localhost/</value>
</parameter>
<parameter>
<name>fopUserConfig</name>


<value>c:/cvs-work/dvlp/conf/tomcat-ui/conf/fopUserConfig.xml</value>
</parameter>
</ResourceParams>
<Resource name="nyw/aodfactory" auth="Container" type="nyw.aod.comm.AODFactory"/>
<ResourceParams name="nyw/aodfactory">
<parameter>
<name>factory</name>
<value>nyw.aod.comm.AODFactoryObjectFactory</value>
</parameter>
</ResourceParams>
<Resource name="nyw/performancemonitor" auth="Container" type="nyw.util.PerformanceMonitor"/>
<ResourceParams name="nyw/performancemonitor">
<parameter>
<name>factory</name>
<value>nyw.util.PerformanceMonitorObjectFactory</value>
</parameter>
</ResourceParams>
<Resource name="mail/session" auth="Container" type="javax.mail.Session"/>
<ResourceParams name="mail/session">
<parameter>
<name>mail.smtp.host</name>
<value>p1.netyourwork.com</value>
</parameter>
</ResourceParams>
</Context>



<Context path="/fileupload" docBase="c:/cvs-work/dvlp/bin/fileupload" reloadable="true"> <Resource name="nyw/directory" auth="Container" type="nyw.dir.Directory"/> <ResourceParams name="nyw/directory"> <parameter> <name>factory</name> <value>nyw.dir.DirectoryObjectFactory</value> </parameter> <parameter> <name>url</name> <value>http://localhost:13001/property</value> </parameter> </ResourceParams> <Resource name="nyw/aodfactory" auth="Container" type="nyw.aod.comm.AODFactory"/> <ResourceParams name="nyw/aodfactory"> <parameter> <name>factory</name> <value>nyw.aod.comm.AODFactoryObjectFactory</value> </parameter> </ResourceParams> <Resource name="nyw/performancemonitor" auth="Container" type="nyw.util.PerformanceMonitor"/> <ResourceParams name="nyw/performancemonitor"> <parameter> <name>factory</name> <value>nyw.util.PerformanceMonitorObjectFactory</value> </parameter> </ResourceParams> </Context>

</Host>

I'm sure it's a configuration problem, but I haven't been able to discern any changes in Tomcat introduced in 4.1.30 that would cause this problem, and haven't found anything via Google or mailing list archive searches.

Any ideas/pointers?

Thanks,

Jim Hopp

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to