This typically indicates that a listener configured in the web.xml of
your webapp threw an uncaught exception during startup. In this case, I
believe Tomcat leaves the failed webapp off-line, which is why you get
the 404 error. If you have source for the listener, you can run in
debug mode and step through the listener to see where and what exception
is being thrown.

Angelo Fabio Mulone wrote:
> I asked on spring forum but there everebody tell me that this is not a
> spring error...
>

If the webapp is failing to start because a listener appears to be
throwing an exception, and there is only one listener present which is
for performing a Spring configuration, I would assume the issue is
related to Spring. Since the Spring forum does not seem likely to
provide much help, I would recommend digging for clues yourself.

The best way is to get source for the version of Spring you are using
and run the server in debug mode to debug what happening in
ContextLoaderListener. However, the log entries:

log4j:WARN No appenders could be found for logger
(org.apache.catalina.startup.TldConfig).
log4j:WARN Please initialize the log4j system properly.

suggest that log4j is being used but not initialized. As a quick
alternative to debugging, you could add a log4j.properties file (I'm
assuming one isn't already present) with the following contents to see
if the extra logging provides any helpful clues:

Place the log4j.properties file in the root Java source folder for the
Dynamic Web Project (typically the "src" folder). It will get published
to the WEB-INF/classes folder of the webapp where it needs to be.

This Switch Location operation moves the XML that defines the server
between its normal location in
"<workspace_root>/.metadata/.plugins/org.eclipse.wst.server.core/servers.xml "
(not related to Tomcat server.xml) to a file found in the Servers
project in your workspace. Once upon a time long ago, there was a use
case for manually modifying this XML. I'm not aware of any reason to
use this operation today.

There does appear to be a bug in that following the switch, publishing
fails to publish any modules. To correct the behavior, restart Eclipse
or remove all the modules from the server, publish the server, an add
the modules back.

Note that this issue is unrelated to your earlier problem and I would
recommend executing Switch Location again to move the XML back to its
normal location.