You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Mark Bennett <ma...@ualberta.ca> on 2001/08/29 17:02:55 UTC

Running The Struts Example Application

Hi,
I am running Tomcat 4.0 and am trying to run the Struts 1.0 sample application, struts-example.war.  I have moved this file into the Tomcat webapp directory, however when I try to access it I get the following error:

A Servlet Exception Has Occurred
Exception Report:
javax.servlet.ServletException: Cannot find message resources under key org.apache.struts.action.MESSAGE
	at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:452)
	at org.apache.jsp._0002findex_jsp._jspService(_0002findex_jsp.java:453)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:201)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:458)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:215)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2314)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:462)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:163)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1000)
	at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1093)
	at java.lang.Thread.run(Thread.java:484)

Root Cause:
javax.servlet.jsp.JspException: Cannot find message resources under key org.apache.struts.action.MESSAGE
	at org.apache.struts.util.RequestUtils.message(RequestUtils.java:568)
	at org.apache.struts.taglib.bean.MessageTag.doStartTag(MessageTag.java:239)
	at org.apache.jsp._0002findex_jsp._jspService(_0002findex_jsp.java:93)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:201)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:458)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:215)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2314)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:462)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:163)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1000)
	at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1093)
	at java.lang.Thread.run(Thread.java:484)
I have tried running the other applications that come with Struts, and have also tried creating one of my own from scratch using a tutorial I found at the HP website.  They all seem to produce this error.  I did find this error message in the localhost_log_xxxx.txt file:

2001-08-29 08:57:01 StandardContext[/struts-example]: Servlet /struts-example threw load() exceptionjavax.servlet.ServletException: Error instantiating servlet class org.apache.struts.action.ActionServlet        at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:818)        at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3240)        at org.apache.catalina.core.StandardContext.start(StandardContext.java:3350)        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:785)        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:415)        at org.apache.catalina.core.StandardHost.install(StandardHost.java:643)        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:324)        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:389)        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:232)        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:155)        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1131)        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123)        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:278)        at org.apache.catalina.core.StandardService.start(StandardService.java:368)        at org.apache.catalina.core.StandardServer.start(StandardServer.java:473)        at org.apache.catalina.startup.Catalina.start(Catalina.java:738)        at org.apache.catalina.startup.Catalina.execute(Catalina.java:657)        at org.apache.catalina.startup.Catalina.process(Catalina.java:178)        at java.lang.reflect.Method.invoke(Native Method)        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:202)----- Root Cause -----java.lang.NoClassDefFoundError: org/xml/sax/SAXException        at java.lang.Class.newInstance0(Native Method)        at java.lang.Class.newInstance(Class.java:237)        at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:809)        at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3240)        at org.apache.catalina.core.StandardContext.start(StandardContext.java:3350)        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:785)        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:415)        at org.apache.catalina.core.StandardHost.install(StandardHost.java:643)        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:324)        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:389)        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:232)        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:155)        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1131)        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123)        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:278)        at org.apache.catalina.core.StandardService.start(StandardService.java:368)        at org.apache.catalina.core.StandardServer.start(StandardServer.java:473)        at org.apache.catalina.startup.Catalina.start(Catalina.java:738)        at org.apache.catalina.startup.Catalina.execute(Catalina.java:657)        at org.apache.catalina.startup.Catalina.process(Catalina.java:178)        at java.lang.reflect.Method.invoke(Native Method)        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:202)
I believe that this may be what's causing the exception though I am not sure.  I haven't had to use SAX yet for anything else but it does seem to be in my classpath ($CLASSPATH=:/usr/jakarta-ant-1.3/lib:/usr/javamail-1.2/mail.jar:/usr/java/jdk1.3.1/lib/activation.jar:/usr/local/pgsql/share/java/postgresql.jar:/usr/jaxp-1.1/jaxp.jar:/usr/jaxp-1.1/xalan.jar)

Does anyone have any ideas how to fix this?  Is my $CLASSPATH setup incorrectly?  If so, how do I fix it?  I don't understand why Tomcat is working since I seem to remember it counting on these classes to run.  Thanks!

-Mark Bennett
Computer Science III
University of Alberta