Este é um post disponível para assinantes MVPVideo: Desvendando o Struts 2 - Aula 1 - Introdução
Mostramos nesta sequência de vídeo aulas como trabalhar com ele, desvendando cada recurso e aproveitando de maneira direta este maravilhoso recurso.
Tempo: 14:03 min
Mini-Resumo: Nesta sequência de víeo aulas abordaremos o assunto Struts 2. O mais famoso framework web utilizando a tecnologia java resurge das cinzas com o código Struts2. A união entre o Struts 1 com o framework XWork 2 tem como resultado um novo framework maduro e com o melhor dos dois mundos, este é o Struts 2. Mostramos nesta sequência de vídeo aulas como trabalhar com ele, desvendando cada recurso e aproveitando de maneira direta este maravilhoso recurso.
Tecnologias Utilizadas: Struts 2.1, Netbeans 6.7, Apache Tomcat
Exemplos contruídos: Detalhamos o download inicial, instalação e configuração de um projeto utilizando Struts2. Mostramos também uma aplicação de exemplo fazendo integração com o Spring para criação de beans. Mostramos passo a passo a criação do struts.xml e como fazer para realizar o deploy em outras máquinas.
Palavras chave: struts struts2 web java action framework tomcat netbeans

7 COMENTÁRIOS

tem como disponibilizar os arquivos xml de configuração ou a aplicação inteira??
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<constant name="struts.devMode" value="true" />
<include file="struts-default.xml"/>
<package name="default" extends="struts-default">
<!-- Login Actions -->
<action class="br.com.completestrusts2.controllers.LoginController" name="doLoginController">
<result>/login.jsp</result>
<result name="input">/login.jsp</result>
<result name="success">/main.jsp</result>
<result name="error">/login.jsp</result>
</action>
<!-- Users Actions -->
<action class="br.com.completestrusts2.controllers.UsersController" method="executeListUsers" name="doListUsers">
<result>/users.jsp</result>
</action>
<action class="br.com.completestrusts2.controllers.UsersController" method="executeAddNewUser" name="doAddNewUser">
<result name="success">/users.jsp</result>
</action>
<action class="br.com.completestrusts2.controllers.UsersController" method="executeStartUpdateUser" name="doStartUpdateUser">
<result name="success">/edituser.jsp</result>
</action>
<action class="br.com.completestrusts2.controllers.UsersController" method="executeFinishUpdateUser" name="doFinishUpdateUser">
<result name="success">/users.jsp</result>
</action>
<action class="br.com.completestrusts2.controllers.UsersController" method="executeRemoveUser" name="doRemoveUser">
<result name="success">/users.jsp</result>
</action>
<!-- Products Actions -->
<action class="br.com.completestrusts2.controllers.ProductsController" method="executeDoListProducts" name="doListProducts">
<result>/products.jsp</result>
</action>
<action class="br.com.completestrusts2.controllers.ProductsController" method="executeAddNewProduct" name="doAddNewProduct">
<result>/products.jsp</result>
</action>
<action class="br.com.completestrusts2.controllers.ProductsController" method="executeDoStartEditProduct" name="doStartEditProduct">
<result>/editproduct.jsp</result>
</action>
<action class="br.com.completestrusts2.controllers.ProductsController" method="executeDoFinishUpdateProduct" name="doFinishUpdateProduct">
<result>/products.jsp</result>
</action>
<action class="br.com.completestrusts2.controllers.ProductsController" method="executeDoRemoveProduct" name="doRemoveProduct">
<result>/products.jsp</result>
</action>
<!-- Fiscal Actions -->
<action class="br.com.completestrusts2.controllers.FiscalsController" method="executeDoListFiscals" name="doListFiscals">
<result>fiscals.jsp</result>
</action>
<action class="br.com.completestrusts2.controllers.FiscalsController" method="executeDoAddFiscal" name="doAddFiscal">
<result>itensfiscal.jsp</result>
</action>
<action class="br.com.completestrusts2.controllers.FiscalsController" method="executeDoAddFiscalItem" name="doAddNewFiscalItem">
<result name="input">itensfiscal.jsp</result>
<result>itensfiscal.jsp</result>
</action>
<action class="br.com.completestrusts2.controllers.FiscalsController" method="executeDoFinishAddFiscal" name="doFinishAddFiscal">
<result>fiscals.jsp</result>
</action>
</package>
</struts>

Prezado Diego, boa noite, adoro suas aulas!!!, mas me da uma ajuda, uma luz, esta dando um erro e ja tentei de tudo e nada.
INFO: Initializing Spring root WebApplicationContext
01/02/2011 00:04:24 org.apache.catalina.core.StandardContext filterStart
GRAVE: Exception starting filter struts2
java.lang.reflect.InvocationTargetException - Class: com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector
File: ContainerImpl.java
Method: inject
Line: 295 - com/opensymphony/xwork2/inject/ContainerImpl.java:295:-1
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:428)
at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:190)
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.<init>(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.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:521)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1359)
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:597)
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1500)
at org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:849)
at org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:351)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:199)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:558)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:295)
at com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.construct(ContainerImpl.java:431)
at com.opensymphony.xwork2.inject.ContainerBuilder$5.create(ContainerBuilder.java:207)
at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:51)
at com.opensymphony.xwork2.inject.ContainerBuilder$3.create(ContainerBuilder.java:93)
at com.opensymphony.xwork2.inject.ContainerBuilder$7.call(ContainerBuilder.java:487)
at com.opensymphony.xwork2.inject.ContainerBuilder$7.call(ContainerBuilder.java:484)
at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:574)
at com.opensymphony.xwork2.inject.ContainerBuilder.create(ContainerBuilder.java:484)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.createBootstrapContainer(DefaultConfiguration.java:252)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:193)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:371)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:415)
... 40 more
Caused by: java.lang.reflect.InvocationTargetException
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:597)
at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:293)
... 53 more
Caused by: java.lang.ExceptionInInitializerError
at com.opensymphony.xwork2.ognl.OgnlValueStackFactory.setContainer(OgnlValueStackFactory.java:85)
... 58 more
Caused by: java.lang.IllegalArgumentException: Javassist library is missing in classpath! Please add missed dependency!
at ognl.OgnlRuntime.<clinit>(OgnlRuntime.java:165)
... 59 more
Caused by: java.lang.ClassNotFoundException: javassist.ClassPool
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1516)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1361)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at ognl.OgnlRuntime.<clinit>(OgnlRuntime.java:162)
... 59 more
01/02/2011 00:04:24 org.apache.catalina.core.ApplicationContext log
INFO: Closing Spring root WebApplicationContext
Faltou a biblioteca javaassist.jar , só adicionar no path e re-fazer o deploy :)

retirei as bibliotecas osgi mas continua danto este erro, o que pode ser:
21/02/2012 20:38:01 org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
21/02/2012 20:38:01 org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()
21/02/2012 20:38:02 org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache', 'org.apache.jasper.compiler.TldLocationsCache@19ec4ed')
21/02/2012 20:38:04 org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
21/02/2012 20:38:07 org.apache.catalina.core.StandardContext filterStart
GRAVE: Exception starting filter struts2
Class: org.apache.struts2.osgi.OsgiConfigurationProvider
File: OsgiConfigurationProvider.java
Method: init
Line: 70 - org/apache/struts2/osgi/OsgiConfigurationProvider.java:70:-1
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:431)
at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:190)
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(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.NullPointerException
at org.apache.struts2.osgi.OsgiConfigurationProvider.init(OsgiConfigurationProvider.java:70)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:203)
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)
... 13 more
21/02/2012 20:38:07 org.apache.catalina.core.ApplicationContext log
INFO: Closing Spring root WebApplicationContext
Quais libs ele está jogando dentro do arquivo da aplicacao ?
Curso(s):
Formações:
Space do autor

download

2
0
