DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Java Magazine ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Video: 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

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.



Endrigo Caracciolo Gurgel
As aulas deste curso mal começou, porem nao tenho duvida nenhuma que o conteudo será da melhor qualidade assim como apresentado pelas demasi series do autor.
Parabens mais uma vez.
Estava muito ancioso por um curso de struts apresentado pelo Diego.
Esperava struts 1, porem veio struts 2 sem problema.
 
Parabens equipe devmedia,.
Acertou em cheio tb.
Espero que a serie venha acompanhada da classica desenvolvendo uma aplicação completa.
 
[há +1 ano] - Responder

 

Jardel Gugel
Buenas Dyego,

tem como disponibilizar os arquivos xml de configuração ou a aplicação inteira??
[há +1 ano] - Responder

 

[autor] Dyego Souza Do Carmo
<?xml version="1.0" encoding="UTF-8" ?>
<!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>

[há +1 ano] - Responder
 

Yanina Estrada Botelho

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.

O Log é:
----------------------------
01/02/2011 00:04:19 org.apache.catalina.core.ApplicationContext log
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
---------------------------
[há +1 ano] - Responder

 

[autor] Dyego Souza Do Carmo
Oi !

Faltou a biblioteca javaassist.jar , só adicionar no path e re-fazer o deploy :)
[há +1 ano] - Responder
 

Flavio P. Soares
Fala Diego, preciso de sua ajuda,
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.(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(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
[há +1 mês] - Responder

 

[autor] Dyego Souza Do Carmo
Estranho , esta parecendo que voce ainda tem varias versoes desta lib dentro do seu deploy , tentou dar um "Clean AND Build All" ?

Quais libs ele está jogando dentro do arquivo da aplicacao ?
[há +1 mês] - Responder
 



Publicidade
Curso Online
Este post faz parte de:

Curso(s):
  •  Desvendando o Struts 2

    Formações:
  •  Formação Java web Developer
  • Autor
    Dyego Souza Do Carmo

    Engenheiro da Computação e evangelista da tecnologia Java , a mais de 15 anos especialista no sistema operacional linux. Programador Java a 8 anos sendo especialista em desenvolvimento de aplicações Java EE utilizando objetos distribuidos e Swing. Consultoria em Dúvidas - Http://www.forHelp.Us


    Space do autor
    Estatísticas
    Favorito:
    Comentários:
    Feedback:
    Utilidade:
    2   0
    [Fechar]

    Você precisa estar logado para dar um feedback.

    Clique aqui para efetuar o login
    [Fechar]


    Este post está fechado. Saiba mais sobre a assinatura MVP!
    web-03
    DevMedia  |  Anuncie  |  Fale conosco
    Hospedagem web por Porta 80 Web Hosting
    2012 - Todos os Direitos Reservados a web-03