Hi,

I am fairly new to Struts. I'm trying to get an application which uses Struts 
to work on Glassfish v3. I have made it work on JBoss and Tomcat.

If I put struts2-core-2.1.8.jar in the classpath, loading the application 
triggers the error message:


WARNING: StandardWrapperValve[jsp]: PWC1406: Servlet.service() for servlet jsp 
threw exception
java.lang.ClassCastException: org.apache.struts2.dispatcher.FilterDispatcher 
cannot be cast to javax.servlet.Filter
        at 
com.sun.enterprise.web.WebContainer.createFilterInstance(WebContainer.java:715)
        at 
com.sun.enterprise.web.WebModule.createFilterInstance(WebModule.java:1948)
        at 
org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:248)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:277)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
        at 
com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
        at 
org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:332)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:233)
        at 
com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)
        at 
com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
        at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
        at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
        at 
com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
        at 
com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
        at 
com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
        at 
com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
        at 
com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
        at 
com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
        at 
com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
        at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
        at 
com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
        at 
com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
        at java.lang.Thread.run(Thread.java:619)


When I remove the jar, I can load the application until I hit the error:
java.lang.ClassNotFoundException: 
org.apache.struts2.interceptor.ServletRequestAware
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at sun.misc.Launcher$ExtClassLoader.findClass(Launcher.java:229)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:303)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:316)
        ... 115 more

Which indicates that Struts isn't in the classpath.

Does anyone have any idea what is wrong?

Thanks.

Reply via email to