Excellent, tried running that JSP and it revealed the true error:
A missing jar file on the deployment box. The jar is expected in
tomcat/common/lib directory.
I've added it to my application lib directory and the problem has
disappeared.
Thanks for your help
Robin
The error shown:
17-Jul 12:31:12 ERROR TP-Processor5 [StandardWrapperValve.invoke]
Servlet.service() for servlet jsp threw exception
java.lang.NoClassDefFoundError: org/apache/commons/collections/FastHashMap
at
org.apache.struts.action.ActionServlet.<init>(ActionServlet.java:348)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at java.lang.Class.newInstance0(Class.java:350)
at java.lang.Class.newInstance(Class.java:303)
at
org.apache.jsp.pages.test_jsp._jspService(org.apache.jsp.pages.test_jsp:47)
at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at
org.apache.catalina.valves.FastCommonAccessLogValve.invoke(FastCommonAccessLogValve.java:481)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:526)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:306)
at
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:385)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:745)
at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:675)
at
org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:868)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
From: "Frank W. Zammetti" <[EMAIL PROTECTED]>
Reply-To: "Struts Users Mailing List" <user@struts.apache.org>
To: "Struts Users Mailing List" <user@struts.apache.org>
CC: user@struts.apache.org
Subject: Re: ActionServlet failing to load
Date: Sun, 17 Jul 2005 12:18:14 -0400 (EDT)
Is there any chance struts.jar is simply not in the classpath?
The stack trace seems to indicate your not even getting into Struts code,
so its I think either (a) not finding the ActionServlet class or (b)
failing during construction. The first seems far more likely.
I suppose an easy way to test would be to remove the ActionServlet entry
from web.xml, then just have a simple JSP that tries to dynamically load
the class...
<%@ page language="java" import="org.apache.struts.action.*" %>
<%
try {
Class clazz = Class.forName("org.apache.struts.action.ActionServlet");
ActionServlet as = (ActionServlet)clazz.newInstance();
} catch (Exception e) {
e.printStackTrace();
}
%>
...and see if you get an exception... Looking at the ActionServlet source
for 1.2.6, unless I'm missing something, it's just using the default
constructor, so I very much doubt its a construction problem.
--
Frank W. Zammetti
Founder and Chief Software Architect
Omnytex Technologies
http://www.omnytex.com
On Sun, July 17, 2005 12:02 pm, Robin Mannering said:
> Sure, I've just included the relevant bits I hope.
>
> The strtup serlvet loads just fine by the way..
>
> web.xml snippet
> -----------------------
>
>
> <!-- Standard Action Servlet Configuration (with debugging) -->
> <servlet>
> <servlet-name>action</servlet-name>
>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
> <init-param>
> <param-name>config</param-name>
> <param-value>/WEB-INF/struts-config.xml</param-value>
> </init-param>
> <init-param>
> <param-name>debug</param-name>
> <param-value>2</param-value>
> </init-param>
> <init-param>
> <param-name>detail</param-name>
> <param-value>2</param-value>
> </init-param>
>
> <!--
> The name of the application resource bundle, styled as a
classname
> To refer to a file named application.properties in a
package
> named resources, use resources.application here
> -->
> <init-param>
> <param-name>application</param-name>
>
<param-value>uk.co.sibo.buyone.struts.resources.sibo</param-value>
> </init-param>
> <load-on-startup>2</load-on-startup>
> </servlet>
> <servlet>
> <servlet-name>StartupServlet</servlet-name>
>
> <servlet-class>uk.co.sibo.buyone.servlets.StartupServlet</servlet-class>
> <load-on-startup>3</load-on-startup>
> </servlet>
>
> <servlet-mapping>
> <servlet-name>action</servlet-name>
> <url-pattern>*.htm</url-pattern>
> </servlet-mapping>
>
> <servlet-mapping>
> <servlet-name>StartupServlet</servlet-name>
> <url-pattern>/servlets/StartupServlet</url-pattern>
> </servlet-mapping>
>
> Struts-config.xml snippet
> ----------------------------------
> <?xml version="1.0" encoding="ISO-8859-1" ?>
>
> <!DOCTYPE struts-config PUBLIC
> "-//Apache Software Foundation//DTD Struts Configuration
> 1.1//EN"
> "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
>
> <struts-config>
>
> <form-beans>
>
> </form-beans>
>
> <global-exceptions>
>
>
> </global-exceptions>
>
>
> <global-forwards>
>
> <forward name="welcome" path="/welcome.htm"/>
>
> </global-forwards>
>
> <action-mappings>
>
>
> <action
> path="/welcome"
> type="org.apache.struts.actions.ForwardAction"
> parameter=".welcomeDefinition"/>
>
>
> </action-mappings>
>
> <plug-in
> className="org.apache.struts.tiles.TilesPlugin">
> <set-property
> property="definitions-config"
> value="/WEB-INF/tiles-defs.xml"/>
> </plug-in>
>
>
> </struts-config>
>
>
> index.jsp
> ------------
> <jsp:include page="/welcome.htm" />
>
>>From: "Martin Gainty" <[EMAIL PROTECTED]>
>>Reply-To: "Martin Gainty" <[EMAIL PROTECTED]>
>>To: "Struts Users Mailing List" <user@struts.apache.org>
>>Subject: Re: ActionServlet failing to load
>>Date: Sun, 17 Jul 2005 10:43:29 -0400
>>
>>Hard to decipher without knowing the 'root cause'
>>can we see the contents of your
>>web.xml
>>index.jsp
>>struts-config.xml
>>
>>M-
>>----- Original Message ----- From: "Robin Mannering"
>><[EMAIL PROTECTED]>
>>To: <user@struts.apache.org>
>>Sent: Sunday, July 17, 2005 9:55 AM
>>Subject: ActionServlet failing to load
>>
>>
>>>Hi all,
>>>
>>>I'm having a bizarre problem upon application startup where the
>>>ActionServlet is failing to load.
>>>
>>>This only happens on our deployment server, and the ActionServlet loads
>>>normally whilst on our dev machine.
>>>
>>>Does anyone have on ideas on the below error? I'd be very grateful for
>>>any help.
>>>
>>>17-Jul 09:53:30 INFO main [ApplicationContext.log] Marking servlet
>>> action
>>>as unavailable
>>>17-Jul 09:53:30 ERROR main [ApplicationContext.log] Servlet /sibo threw
>>>load() exception
>>>javax.servlet.ServletException: Error instantiating servlet class
>>>org.apache.struts.action.ActionServlet
>>> at
>>>org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1034)
>>> at
>>>org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:900)
>>> at
>>>org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3823)
>>> at
>>>org.apache.catalina.core.StandardContext.start(StandardContext.java:4087)
>>> at
>>>org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1011)
>>> at
>>>org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
>>> at
>>>org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1011)
>>> at
>>>org.apache.catalina.core.StandardEngine.start(StandardEngine.java:440)
>>> at
>>>org.apache.catalina.core.StandardService.start(StandardService.java:450)
>>> at
>>>org.apache.catalina.core.StandardServer.start(StandardServer.java:683)
>>> at
org.apache.catalina.startup.Catalina.start(Catalina.java:537)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> at
>>>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>> at
>>>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>> at java.lang.reflect.Method.invoke(Method.java:585)
>>> at
>>> org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:271)
>>> at
>>> org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409)
>>>17-Jul 09:53:30 DEBUG main [JspRuntimeContext.<init>] Parent class
>>> loader
>>>is: WebappClassLoader
>>> delegate: false
>>> repositories:
>>> /WEB-INF/classes/
>>>----------> Parent Classloader:
>>>[EMAIL PROTECTED]
>>>
>>>
>>>Many thanks
>>>Robin
>>>
>>>_________________________________________________________________
>>>It's fast, it's easy and it's free. Get MSN Messenger 7.0 today!
>>>http://messenger.msn.co.uk
>>>
>>>
>>>---------------------------------------------------------------------
>>>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]
>>
>
> _________________________________________________________________
> Be the first to hear what's new at MSN - sign up to our free
newsletters!
> http://www.msn.co.uk/newsletters
>
>
> ---------------------------------------------------------------------
> 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]
_________________________________________________________________
It's fast, it's easy and it's free. Get MSN Messenger 7.0 today!
http://messenger.msn.co.uk
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]