You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Aaron Brown <ab...@bzzagent.com> on 2007/12/10 19:40:56 UTC

Stack Trace instead of 404

When a user requests a struts action that doesn¹t exist (i.e.
http://mysite.com/foo/doesntexist.do), Tomcat throws an exception and stack
trace instead of a 404 error.  Any idea how to configure Tomcat (or struts?)
to turn this into a 404 so our errors inbox doesn¹t get overrun by crawlers
that do stupid things like lowercase all our URLs?

We¹re running Tomcat 5.0.28 and struts 1.3.x

Thanks!
Aaron

Here¹s an example:
The exception was:
org.apache.struts.chain.commands.InvalidPathException: No action config
found for the specified url.
        at 
org.apache.struts.chain.commands.AbstractSelectAction.execute(AbstractSelect
Action.java:71)
        at 
org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase
.java:51)
        at 
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
        at 
org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:30
4)
        at 
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
        at 
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequest
Processor.java:283)
        at 
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
        at 
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:237)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:157)
        at 
org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter
.java:125)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:186)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:157)
        at 
com.bzzagent.webapp.filter.LanguageHandlingFilter.doFilter(LanguageHandlingF
ilter.java:50)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:186)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:157)
        at 
com.bzzagent.webapp.filter.SetCharacterEncodingFilter.doFilter(SetCharacterE
ncodingFilter.java:145)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:186)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:157)
        at 
org.hyperic.hq.product.servlet.filter.JMXFilter.doFilter(JMXFilter.java:324)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:186)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:157)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:214)
        at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:104)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at 
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContext
Valve.java:198)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:152)
        at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:104)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137
)
        at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:104)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118
)
        at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:102)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:109)
        at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:104)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
        at 
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
        at 
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:300)
        at 
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:374)
        at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743)
        at 
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:675)
        at 
org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866)
        at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:683)
        at java.lang.Thread.run(Thread.java:595)




-------------------------------------------------------
Aaron Brown, Systems Engineer
BzzAgent, Inc. | www.bzzagent.com
abrown@bzzagent.com | 617.451.2280
------------------------------------------------------- 


Re: Stack Trace instead of 404

Posted by Christopher Schultz <ch...@christopherschultz.net>.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Aaron,

Aaron Brown wrote:
> When a user requests a struts action that doesn¹t exist (i.e.
> http://mysite.com/foo/doesntexist.do), Tomcat throws an exception and stack
> trace instead of a 404 error.  Any idea how to configure Tomcat (or struts?)
> to turn this into a 404 so our errors inbox doesn¹t get overrun by crawlers
> that do stupid things like lowercase all our URLs?

What exception does it throw?

You can always set up an <error-page> in your web.xml.

- -chris

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHXZdg9CaO5/Lv0PARAmQ1AJ4/JOkESZTiYNCYbU6kkk87BycTtgCglguj
aXqD11ClkDjBEvd3b3qD8tU=
=JSZt
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org