Video: Mini-curso de Desenvolvimento Web no Eclipse - Parte 04 - MVC e Struts
Nesta terceira aula, veremos o que são os frameworks MVC (frameworks Web ou Front Controller), quais as vantagens de se utilizá-los e instalaremos o framework Struts2.
Título: Mini-curso de Desenvolvimento Web no Eclipse - Parte 04 - MVC e Struts
Duração: 26:57
Mini-resumo: Nas duas primeiras aulas do mini-curso (partes 1, 2 e 3), instalamos a IDE Eclipse integrada com o servidor Web Tomcat e vimos como criar Servlets e JSPs para construção de aplicações Web dinâmicas. Nesta terceira aula, veremos o que são os frameworks MVC (frameworks Web ou Front Controller), quais as vantagens de se utilizá-los e instalaremos o framework Struts2.
Exemplos utilizados: Após a instalação do framework Struts2, um exemplo bem simples (Hello
Struts2!) é feito para testar o funcionamento do framework.
Tecnologias utilizadas: Java, Eclipse, Tomcat, Struts2, JSP
Duração: 26:57
Mini-resumo: Nas duas primeiras aulas do mini-curso (partes 1, 2 e 3), instalamos a IDE Eclipse integrada com o servidor Web Tomcat e vimos como criar Servlets e JSPs para construção de aplicações Web dinâmicas. Nesta terceira aula, veremos o que são os frameworks MVC (frameworks Web ou Front Controller), quais as vantagens de se utilizá-los e instalaremos o framework Struts2.
Exemplos utilizados: Após a instalação do framework Struts2, um exemplo bem simples (Hello
Struts2!) é feito para testar o funcionamento do framework.
Tecnologias utilizadas: Java, Eclipse, Tomcat, Struts2, JSP

16 COMENTÁRIOS
Fernando Neves
Oi vitor, estou fazendo esse módulo e estou tendo problemas....
SEVERE: Exception starting filter struts2
java.lang.NoClassDefFoundError: Lcom/opensymphony/xwork2/util/logging/Logger;
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Unknown Source)
at java.lang.Class.getDeclaredFields(Unknown Source)
at org.apache.catalina.util.DefaultAnnotationProcessor.processAnnotations(DefaultAnnotationProcessor.java:134)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:259)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4363)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
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:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
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:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
No video vc fala que a versao do struts 2 q eu usar nao importaria....
tentei varias coisas....
o meu web.xml antes vinha
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Ai troquei o filtro pelo mesmo q vc usa....
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
meu struts.xml esta assim:
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="false" />
<package name="default" extends="struts-default">
<default-action-ref name="home"/>
<action name="home">
<result>/WEB-INF/pages/home.jsp</result>
</action>
</package>
</struts>
fiz tudo igual a vc no video... mas qnd inicio o tom cat e vou testar a pagina só dá 404
Poderia me ajudar para que eu possa dar continuidade no curso?
Obrigado.
SEVERE: Exception starting filter struts2
java.lang.NoClassDefFoundError: Lcom/opensymphony/xwork2/util/logging/Logger;
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Unknown Source)
at java.lang.Class.getDeclaredFields(Unknown Source)
at org.apache.catalina.util.DefaultAnnotationProcessor.processAnnotations(DefaultAnnotationProcessor.java:134)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:259)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4363)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
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:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
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:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
No video vc fala que a versao do struts 2 q eu usar nao importaria....
tentei varias coisas....
o meu web.xml antes vinha
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Ai troquei o filtro pelo mesmo q vc usa....
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
meu struts.xml esta assim:
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="false" />
<package name="default" extends="struts-default">
<default-action-ref name="home"/>
<action name="home">
<result>/WEB-INF/pages/home.jsp</result>
</action>
</package>
</struts>
fiz tudo igual a vc no video... mas qnd inicio o tom cat e vou testar a pagina só dá 404
Poderia me ajudar para que eu possa dar continuidade no curso?
Obrigado.
[há +1 ano] -
Responder
[autor]
Vitor Souza
Olá Fernando,
Me parece uma incompatibilidade de JARs. Eu falei no mini-curso que provavelmente as instruções funcionariam para qualquer versão futura do Struts2, mas me parece que eles mudaram bastante de uma versão à outra, e as instruções para versões mais recentes você provavelmente terá que olhar no manual do Struts2.
Tente pegar a mesma versão do Struts2 que eu usei para esta vídeo-aula e seguir as instruções exatamente como explicadas. Caso isso funcione pra você, a teoria da imcompatibilidade de versões estará correta. Caso não funcione, mande seu projeto Eclipse pra mim (sem os JARs) e eu posso tentar ver qual é o problema no meu tempo livre.
Boa sorte!
Vítor
Me parece uma incompatibilidade de JARs. Eu falei no mini-curso que provavelmente as instruções funcionariam para qualquer versão futura do Struts2, mas me parece que eles mudaram bastante de uma versão à outra, e as instruções para versões mais recentes você provavelmente terá que olhar no manual do Struts2.
Tente pegar a mesma versão do Struts2 que eu usei para esta vídeo-aula e seguir as instruções exatamente como explicadas. Caso isso funcione pra você, a teoria da imcompatibilidade de versões estará correta. Caso não funcione, mande seu projeto Eclipse pra mim (sem os JARs) e eu posso tentar ver qual é o problema no meu tempo livre.
Boa sorte!
Vítor
[há +1 ano] -
Responder
Diogo A. A. Cata Preta
É o seguinte, para que você nao tenha mais esse problemas você precisa add as seguintes dependencias.
commons-fileupload-1.2.1.jar
commons-logging-1.0.4.jar
freemarker-2.3.13.jar
ognl-2.6.11.jar
struts2-core-2.1.6.jar
xwork-2.1.2.jar
Grande Abraço
commons-fileupload-1.2.1.jar
commons-logging-1.0.4.jar
freemarker-2.3.13.jar
ognl-2.6.11.jar
struts2-core-2.1.6.jar
xwork-2.1.2.jar
Grande Abraço
[há +1 ano] -
Responder

Marcos Antonio Feijo Nagaki
Ola professor,
estou tentando fazer este exemplo, mas esta dando o seguinte erro:
no borwser da o erro:
HTTP Status 404 -
no eclipse da o erro:
20/09/2010 17:21:41 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:\Arquivos de programas\Java\jre6\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Arquivos de programas/Java/jre6/bin/client;C:/Arquivos de programas/Java/jre6/bin;C:/Arquivos de programas/Java/jre6/lib/i386;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32\wbem;C:\Arquivos de programas\Seagate Software\NOTES;C:\Arquivos de programas\Seagate Software\NOTES\DATA;C:\Arquivos de programas\Arquivos comuns\Lenovo;C:\Arquivos de programas\Lenovo\Client Security Solution;C:\Arquivos de programas\Microsoft SQL Server\80\Tools\BINN;C:\Arquivos de programas\Microsoft SQL Server\80\Tools\Binn\;C:\Arquivos de programas\Microsoft SQL Server\90\Tools\binn\;C:\Arquivos de programas\Microsoft SQL Server\90\DTS\Binn\;C:\Arquivos de programas\Microsoft SQL Server\90\Tools\Binn\VSShell\Common7\IDE\;C:\Arquivos de programas\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies\
20/09/2010 17:21:41 org.apache.tomcat.util.digester.SetPropertiesRule begin
AVISO: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property ''source'' to ''org.eclipse.jst.jee.server:Aula03'' did not find a matching property.
20/09/2010 17:21:41 org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
20/09/2010 17:21:41 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 372 ms
20/09/2010 17:21:41 org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
20/09/2010 17:21:41 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.29
20/09/2010 17:21:41 org.apache.catalina.core.StandardContext filterStart
GRAVE: Exception starting filter struts2
java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.FilterDispatcher
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:269)
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:4001)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4651)
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:445)
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)
20/09/2010 17:21:41 org.apache.catalina.core.StandardContext start
GRAVE: Error filterStart
20/09/2010 17:21:41 org.apache.catalina.core.StandardContext start
GRAVE: Context [/Aula03] startup failed due to previous errors
A única coisa diferente que fiz foi adicionar os jars do struts de forma diferente da video aula. Estou usando o eclipse helios e lá não tem a opção J2EE Module dependencies, dai pesquisei e vi que esta opção foi substituida por Deployment Assembly, mas não sei se fiz direito.
se este for o problema, por favor me diga como eu incluo os jars dentro desse projeto.
Grato,
MFN
[há +1 ano] -
Responder
[autor]
Vítor Estêvão Silva Souza
Olá Marcos,
Na terceira linha, onde na coluna Source tem o valor "/lib", o valor na coluna "Deploy Path" ao invés de "/" deveria ser "/WEB-INF/lib". Só não tenho certeza que enviando o diretório inteiro assim vai funcionar ou se precisaria fazer o mapeamento de biblioteca por biblioteca.
Esta página mostra como o "Deployment Assembly" substituiu o "Java EE Module Dependencies":
Bons estudos!
Vítor Souza
[há +1 ano] -
Responder

Gustavo M Silva
bom galera
o meu estava dando o mesmo ERRO : struts2java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
Quando o Tomcat faz o deploy da sua aplicação ele carrega o filtro do Struts2
COM ISSO O STRUTS DEPENDE DESTAS BIBLIOTECAS ABAIXO, MAS PRECISO SOBRE O ERRO ELE PRECISA MESMO
DA COMMONS-FILEUPLOAD xxx.JAR
OUTRO DETALHE, ESTAS LIB''''''''S TEM QUE ESTAR NA PASTA /WEB-INF/lib E NÃO COMO CITADO NA VÍDEO-AULA
EM UMA PASTA CRIADA COM O NOME lib no SRC DO SEU PROJETO
commons-fileupload-X.X.X.jar
commons-io-X.X.X.jar
commons-logging-X.X.X.jar
commons-logging-api.X.X.jar
freemarker-X.X.X.jar
ognl-X.X.X.jar
struts2-core-X.X.X.X.jar
xwork-core-X.X.X.jar
o meu estava dando o mesmo ERRO : struts2java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
Quando o Tomcat faz o deploy da sua aplicação ele carrega o filtro do Struts2
COM ISSO O STRUTS DEPENDE DESTAS BIBLIOTECAS ABAIXO, MAS PRECISO SOBRE O ERRO ELE PRECISA MESMO
DA COMMONS-FILEUPLOAD xxx.JAR
OUTRO DETALHE, ESTAS LIB''''''''S TEM QUE ESTAR NA PASTA /WEB-INF/lib E NÃO COMO CITADO NA VÍDEO-AULA
EM UMA PASTA CRIADA COM O NOME lib no SRC DO SEU PROJETO
commons-fileupload-X.X.X.jar
commons-io-X.X.X.jar
commons-logging-X.X.X.jar
commons-logging-api.X.X.jar
freemarker-X.X.X.jar
ognl-X.X.X.jar
struts2-core-X.X.X.X.jar
xwork-core-X.X.X.jar
[há +1 ano] -
Responder
[autor]
Vítor Estêvão Silva Souza
Olá Flávio,
Parece que o sistema da DevMedia não permite tags, então só aparece o conteúdo delas.
Dá uma olhada no meu Space (http://www.devmedia.com.br/vitorsouza) o meu endereço de e-mail e manda pra mim os arquivos e a versão do Struts que você está utilizando. Assim que eu tiver um tempo eu publico uma atualização desse assunto: como configurar uma primeira ação no Struts2.
O grande problema é que da versão utilizada durante a gravação da vídeo-aula até hoje o Struts2 e o Eclipse mudaram bastante. Daí as instruções não funcionam mais...
Abraço,
- Vítor
Parece que o sistema da DevMedia não permite tags, então só aparece o conteúdo delas.
Dá uma olhada no meu Space (http://www.devmedia.com.br/vitorsouza) o meu endereço de e-mail e manda pra mim os arquivos e a versão do Struts que você está utilizando. Assim que eu tiver um tempo eu publico uma atualização desse assunto: como configurar uma primeira ação no Struts2.
O grande problema é que da versão utilizada durante a gravação da vídeo-aula até hoje o Struts2 e o Eclipse mudaram bastante. Daí as instruções não funcionam mais...
Abraço,
- Vítor
[há +1 ano] -
Responder

Ciro Vargas
Olá,
estou fazendo a mesma aplicação, só que usando o netbeans e o glassfish como container, existe alguma diferença quanto ao web.xml e struts.xml?
o meu web.xml está assim:
struts2
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
struts2
/*
30
index.jsp
e o struts.xml está assim:
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
/WEB-INF/pages/home.jsp
porem ele nao redireciona para o home.action, alias mesmo que eu digite no navegador nao abre o home.action versao do struts 2.2.3
estou fazendo a mesma aplicação, só que usando o netbeans e o glassfish como container, existe alguma diferença quanto ao web.xml e struts.xml?
o meu web.xml está assim:
30
e o struts.xml está assim:
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
porem ele nao redireciona para o home.action, alias mesmo que eu digite no navegador nao abre o home.action versao do struts 2.2.3
[há +1 ano] -
Responder
[autor]
Vítor Estêvão Silva Souza
Não deveria ter diferença entre o Tomcat e o Glassfish tratando-se de uma aplicação Struts2.
Recentemente eu escrevi um post no meu blog atualizando as instruções para as versões mais recentes do Eclipse e do Struts2.
http://disi.unitn.it/~vitorsouza/pt/blog/updating-my-old-struts2-screencasts/
Para adaptá-lo ao NetBeans deve ser fácil, mas me avise se não conseguir. De repente posso fazer um outro post (assim que eu tiver um tempo, pois este mês está difícil) com as instruções exatas para o NetBeans.
Vítor
Recentemente eu escrevi um post no meu blog atualizando as instruções para as versões mais recentes do Eclipse e do Struts2.
http://disi.unitn.it/~vitorsouza/pt/blog/updating-my-old-struts2-screencasts/
Para adaptá-lo ao NetBeans deve ser fácil, mas me avise se não conseguir. De repente posso fazer um outro post (assim que eu tiver um tempo, pois este mês está difícil) com as instruções exatas para o NetBeans.
Vítor
[há +1 ano] -
Responder
Ciro Vargas
Obrigado vitor pela resposta rápida,
ele redireciona para o 'home.action' porem nao processa a pagina, o struts nao processa a requisição, creio eu que seja pelos xmls errados ou o local dos jar's do framework, enquanto não sai esse seu novo post eu vou tentando até lá, caso consiga postarei aqui
ele redireciona para o 'home.action' porem nao processa a pagina, o struts nao processa a requisição, creio eu que seja pelos xmls errados ou o local dos jar's do framework, enquanto não sai esse seu novo post eu vou tentando até lá, caso consiga postarei aqui
[há +1 ano] -
Responder

Daniel Cardoso
Olá. Eu uso a versão Indigo do Eclipse.
No preferences não tem nem a Java EE Module Dependencies nem a Web Deployment Assembly. E ai? O que fazer?
No preferences não tem nem a Java EE Module Dependencies nem a Web Deployment Assembly. E ai? O que fazer?
[há +1 mês] -
Responder
[autor]
Vítor Estêvão Silva Souza
Olá Daniel,
No Indigo, bem como no Helios, o item que deve ser selecionado na janela de propriedades é o "Deployment Assembly".
Como alternativa, você pode também copiar os JARs diretamente para WebContent/WEB-INF/lib. Porém depois é preciso adicionar alguns deles (os que são utilizados para desenvolver as classes Java) ao Build Path da aplicação (clique com o botão direito no JAR, Build Path > Add to Build Path).
Eu atualizei o conteúdo dessa aula 4 para a versão mais nova (na época) do Struts e do Eclipse, você viu? O link estava em um comentário anterior, mas mando novamente abaixo:
http://disi.unitn.it/~vitorsouza/pt/blog/updating-my-old-struts2-screencasts/
Bons estudos,
- Vítor Souza
No Indigo, bem como no Helios, o item que deve ser selecionado na janela de propriedades é o "Deployment Assembly".
Como alternativa, você pode também copiar os JARs diretamente para WebContent/WEB-INF/lib. Porém depois é preciso adicionar alguns deles (os que são utilizados para desenvolver as classes Java) ao Build Path da aplicação (clique com o botão direito no JAR, Build Path > Add to Build Path).
Eu atualizei o conteúdo dessa aula 4 para a versão mais nova (na época) do Struts e do Eclipse, você viu? O link estava em um comentário anterior, mas mando novamente abaixo:
http://disi.unitn.it/~vitorsouza/pt/blog/updating-my-old-struts2-screencasts/
Bons estudos,
- Vítor Souza
[há +1 mês] -
Responder
Daniel Cardoso
Olá, já vi. Eu vou usar o Helios prq acho que baixei errado o Indigo. Prq o que eu usava não tinha a opção.
[há +1 mês] -
Responder
Daniel Cardoso
Olá Vitor. Fiz o exemplo mas esta dando esse erro
18/10/2011 20:09:37 org.apache.catalina.core.StandardContext filterStart
GRAVE: Exception starting filter struts2
java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:198)
at org.apache.struts2.config.StrutsXmlConfigurationProvider.register(StrutsXmlConfigurationProvider.java:101)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:180)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:380)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:424)
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.initFilter(ApplicationFilterConfig.java:273)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:254)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:372)
at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:98)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4584)
at org.apache.catalina.core.StandardContext$2.call(StandardContext.java:5262)
at org.apache.catalina.core.StandardContext$2.call(StandardContext.java:5257)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang.StringUtils
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
... 20 more
18/10/2011 20:09:37 org.apache.catalina.core.StandardContext startInternal
GRAVE: Error filterStart
18/10/2011 20:09:37 org.apache.catalina.core.StandardContext startInternal
GRAVE: Context [/StrutsApp] startup failed due to previous errors
18/10/2011 20:09:37 org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
18/10/2011 20:09:37 org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
18/10/2011 20:09:37 org.apache.catalina.startup.Catalina start
INFO: Server startup in 1093 ms
18/10/2011 20:09:37 org.apache.catalina.core.StandardContext filterStart
GRAVE: Exception starting filter struts2
java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:198)
at org.apache.struts2.config.StrutsXmlConfigurationProvider.register(StrutsXmlConfigurationProvider.java:101)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:180)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:380)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:424)
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.initFilter(ApplicationFilterConfig.java:273)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:254)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:372)
at org.apache.catalina.core.ApplicationFilterConfig.
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4584)
at org.apache.catalina.core.StandardContext$2.call(StandardContext.java:5262)
at org.apache.catalina.core.StandardContext$2.call(StandardContext.java:5257)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang.StringUtils
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
... 20 more
18/10/2011 20:09:37 org.apache.catalina.core.StandardContext startInternal
GRAVE: Error filterStart
18/10/2011 20:09:37 org.apache.catalina.core.StandardContext startInternal
GRAVE: Context [/StrutsApp] startup failed due to previous errors
18/10/2011 20:09:37 org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
18/10/2011 20:09:37 org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
18/10/2011 20:09:37 org.apache.catalina.startup.Catalina start
INFO: Server startup in 1093 ms
[há +1 mês] -
Responder
[autor]
Vítor Estêvão Silva Souza
Olá Daniel,
Não sei porque, mas sua aplicação está exigindo também a biblioteca Commons Lang como dependência.
Procure o arquivo commons-lang-2.3.jar (o número da versão pode variar) dentro da pasta lib/ da distribuição do Struts2 e copie-o também para a sua aplicação Web no Eclipse, como fez com os demais.
Boa sorte,
- Vítor Souza
Não sei porque, mas sua aplicação está exigindo também a biblioteca Commons Lang como dependência.
Procure o arquivo commons-lang-2.3.jar (o número da versão pode variar) dentro da pasta lib/ da distribuição do Struts2 e copie-o também para a sua aplicação Web no Eclipse, como fez com os demais.
Boa sorte,
- Vítor Souza
[há +1 mês] -
Responder
Daniel Cardoso
Olá Vitor, problema resolvido!
Valeu.
Valeu.
[há +1 mês] -
Responder
Você está em:
canal Java
Publicidade
Este post faz parte de:
Curso(s):
Desenvolvimento de aplicações Java Web no Eclipse
Curso(s):
Vítor Estêvão Silva Souza
Space do autor
Graduação em Ciência da Computação e Mestrado em Informática com ênfase em Engenharia de Software na Universidade Federal do Espírito Santo (UFES), onde trabalhou também como professor substituto.
Space do autor

download

8
0
