Falha em Hello Word no Struts

3 respostas
sech777

Pessoal,

Estou estudando o framework Struts 2.0. Ao tentar o meu primeiro HelloWordStruts obtive a seguinte falha ao tentar startar o Tomcat:

<blockquote>Apr 20, 2010 1:37:42 PM org.apache.catalina.core.AprLifecycleListener init

INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre6\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre6/bin/client;C:/Program Files/Java/jre6/bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Program Files\Java\jdk1.6.0\bin;C:\CLIPPER\BIN;c:\Program Files\Microsoft SQL Server\90\Tools\binn;C:\Program Files\MySQL\MySQL Server 5.1\bin

Apr 20, 2010 1:37:43 PM org.apache.tomcat.util.digester.SetPropertiesRule begin

WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property source to org.eclipse.jst.jee.server:fj21-tarefas did not find a matching property.

Apr 20, 2010 1:37:43 PM org.apache.coyote.http11.Http11Protocol init

INFO: Initializing Coyote HTTP/1.1 on http-8080

Apr 20, 2010 1:37:43 PM org.apache.catalina.startup.Catalina load

INFO: Initialization processed in 1072 ms

Apr 20, 2010 1:37:43 PM org.apache.catalina.core.StandardService start

INFO: Starting service Catalina

Apr 20, 2010 1:37:43 PM org.apache.catalina.core.StandardEngine start

INFO: Starting Servlet Engine: Apache Tomcat/6.0.26

Apr 20, 2010 1:37:44 PM com.opensymphony.xwork2.util.logging.commons.CommonsLogger info

INFO: Parsing configuration file [struts-default.xml]

Apr 20, 2010 1:37:45 PM com.opensymphony.xwork2.util.logging.commons.CommonsLogger info

INFO: Parsing configuration file [struts-plugin.xml]

Apr 20, 2010 1:37:45 PM com.opensymphony.xwork2.util.logging.commons.CommonsLogger info

INFO: Parsing configuration file [struts.xml]

Apr 20, 2010 1:37:46 PM com.opensymphony.xwork2.util.logging.commons.CommonsLogger info

INFO: Initializing Struts-Spring integration

Apr 20, 2010 1:37:46 PM com.opensymphony.xwork2.util.logging.commons.CommonsLogger fatal

SEVERE: ********** FATAL ERROR STARTING UP STRUTS-SPRING INTEGRATION **********

Looks like the Spring listener was not configured for your web app!

Nothing will work until WebApplicationContextUtils returns a valid ApplicationContext.

You might need to add the following to web.xml:



org.springframework.web.context.ContextLoaderListener



Apr 20, 2010 1:37:46 PM com.opensymphony.xwork2.util.logging.commons.CommonsLogger error

SEVERE: Dispatcher initialization failed

java.lang.NullPointerException

at com.opensymphony.xwork2.spring.SpringObjectFactory.getClassInstance(SpringObjectFactory.java:209)

at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyResultType(XmlConfigurationProvider.java:519)

at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addResultTypes(XmlConfigurationProvider.java:490)

at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:446)

at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:264)

at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:111)

at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:193)

at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)

at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:374)

at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:418)

at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69)

at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51)

at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295)

at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)

at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:115)

at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3838)

at org.apache.catalina.core.StandardContext.start(StandardContext.java:4488)

at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)

at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)

at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)

at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)

at org.apache.catalina.core.StandardService.start(StandardService.java:519)

at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)

at org.apache.catalina.startup.Catalina.start(Catalina.java:581)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)

Apr 20, 2010 1:37:46 PM org.apache.catalina.core.StandardContext filterStart

SEVERE: Exception starting filter struts2

Class: com.opensymphony.xwork2.spring.SpringObjectFactory

File: SpringObjectFactory.java

Method: getClassInstance

Line: 209 - com/opensymphony/xwork2/spring/SpringObjectFactory.java:209:-1

at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:431)

at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69)

at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51)

at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295)

at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)

at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:115)

at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3838)

at org.apache.catalina.core.StandardContext.start(StandardContext.java:4488)

at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)

at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)

at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)

at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)

at org.apache.catalina.core.StandardService.start(StandardService.java:519)

at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)

at org.apache.catalina.startup.Catalina.start(Catalina.java:581)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)

Caused by: java.lang.NullPointerException

at com.opensymphony.xwork2.spring.SpringObjectFactory.getClassInstance(SpringObjectFactory.java:209)

at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyResultType(XmlConfigurationProvider.java:519)

at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addResultTypes(XmlConfigurationProvider.java:490)

at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:446)

at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:264)

at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:111)

at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:193)

at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)

at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:374)

at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:418)

 20 more

Apr 20, 2010 1:37:46 PM org.apache.catalina.core.StandardContext start

SEVERE: Error filterStart

Apr 20, 2010 1:37:46 PM org.apache.catalina.core.StandardContext start

SEVERE: Context [/fj21-tarefas] startup failed due to previous errors

Apr 20, 2010 1:37:46 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap

SEVERE: A web application created a ThreadLocal with key of type [null] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@2b323e]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@1efb4be]) but failed to remove it when the web application was stopped. To prevent a memory leak, the ThreadLocal has been forcibly removed.

Apr 20, 2010 1:37:46 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap

SEVERE: A web application created a ThreadLocal with key of type [null] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@435a3a]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@1d8c528]) but failed to remove it when the web application was stopped. To prevent a memory leak, the ThreadLocal has been forcibly removed.

</blockquote>

Nota: Esta falha acontece somente quanto eu configuro o Web.xml para:


struts2

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter



struts2
/*

Estou seguindo a apostila da Caelum - Fj21. Se alguém puder ajudar, eu agradeço.

3 Respostas

leo.junior

sech777, se não me engano, essa configuração do web.xml que vc está fazendo serve para o Struts 2.1. Tenta fazer um teste baixando os jars do struts 2.1.6:

struts2-convention-plugin-2.1.6.jar
struts2-core-2.1.6.jar

Acho que com esses jars funciona!

Abs!

jyoshiriro

Se não for usar spring, tire todos os jars com “spring” no nome do seu classpath. Senão, terás que configurar o Spring no web.xml também.

sech777

Valeu pessoal. Vou testar!

Criado 20 de abril de 2010
Ultima resposta 20 de abr. de 2010
Respostas 3
Participantes 3