Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Artigo Java Magazine 74 - WebApps com Struts² – Parte 1
Acompanhe o desenvolvimento de uma aplicação completa com o framework Struts2 e descubra todas as facilidades que ele traz ao desenvolvimento para a web
Java Magazine 74
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da Java Magazine 74
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da Java Magazine 74
WebApps com Struts2 – Parte 1
De que se trata o artigo:
Do Struts2, um framework que facilita o desenvolvimento de aplicações web ao aplicar o padrão MVC à arquitetura da aplicação, substituindo Servlets por classes de ação, deixando às páginas JSP apenas lógica de apresentação e provendo uma série de facilidades para tarefas comuns em WebApps, como conversão de tipos, validação, internacionalização, etc.
Para que serve:
Serve para aumentar a produtividade das equipes de desenvolvimento web, propondo, ao mesmo tempo, uma organização maior dos artefatos de código a partir da separação das responsabilidades de apresentação, controle e negócio e da existência de diversas funcionalidades prontas, comumente utilizadas em aplicações deste tipo.
Em que situação o tema é útil:
Quando devemos construir aplicações web de médio a grande porte e o tempo investido no aprendizado do framework é justificado por uma maior produtividade no desenvolvimento e na manutenção.
Aplicações Web com Struts2:
O Struts2 é um dos frameworks web mais conhecidos e utilizados atualmente. Ele provê uma série de facilidades para a construção de aplicações web, melhorando a produtividade da equipe e diminuindo custos de manutenção devido a uma melhor organização do código. Neste artigo, mostramos como criar a aplicação mais simples possível com o Struts2, o "Hello, World!" (Listagens 1 a 4), em seguida preparamos esta mesma aplicação para o desenvolvimento de um exemplo simples, mas com utilidade real, o Bookshelf (Listagens 5 e 6), dando a ele um leiaute profissional (Listagens 7 a 9 e Figura 1). Com a WebApp preparada, começamos o desenvolvimento da sua primeira funcionalidade, o cadastro do administrador do sistema (Listagens 10 a 17 e Figura 2) e melhoramos esta mesma funcionalidade, pouco a pouco, mostrando as facilidades oferecidas pelo Struts2, como: abordagem dirigida ao modelo (Listagens 18 e 19), uso de interceptadores e definição de múltiplos resultados (Listagens 20 e 21), validação do formulário (Listagens 22 e 23 e Figura 3) e internacionalização das mensagens (Listagens 24 a 31). Em futuros artigos sobre este mesmo tema, continuaremos o desenvolvimento do Bookshelf e mostraremos outras funções do framework Struts2.
A World Wide Web, ou simplesmente Web, nasceu no início da década de 1990. Em 1993, surge o padrão Common Gateway Interface (CGI), como uma forma de, ao invés de mostrar uma página HTML estática, executar um programa e exibir seu resultado (por exemplo, uma página HTML gerada dinamicamente).
Desde então, as tecnologias para desenvolvimento de aplicações web (WebApps) dinâmicas continuaram a evoluir rapidamente. Na plataforma Java, depois do surgimento das tecnologias Servlet e JSP, a arquitetura MVC (Model-View-Controller) foi usada como base para a criação do que foi chamado “Model 2” (segundo modelo) para a arquitetura de aplicações web. Este novo modelo foi tão bem aceito que logo dezenas de frameworks foram criados para o desenvolvimento de WebApps usando esta arquitetura.
"
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVP
Conheça na prática um dos mais populares frameworks MVC
Acompanhe o
desenvolvimento de uma aplicação completa com o framework Struts2 e
descubra todas as facilidades que ele traz ao desenvolvimento para a web
De que se trata o artigo:
Do Struts2, um framework que facilita o desenvolvimento de aplicações web ao aplicar o padrão MVC à arquitetura da aplicação, substituindo Servlets por classes de ação, deixando às páginas JSP apenas lógica de apresentação e provendo uma série de facilidades para tarefas comuns em WebApps, como conversão de tipos, validação, internacionalização, etc.
Para que serve:
Serve para aumentar a produtividade das equipes de desenvolvimento web, propondo, ao mesmo tempo, uma organização maior dos artefatos de código a partir da separação das responsabilidades de apresentação, controle e negócio e da existência de diversas funcionalidades prontas, comumente utilizadas em aplicações deste tipo.
Em que situação o tema é útil:
Quando devemos construir aplicações web de médio a grande porte e o tempo investido no aprendizado do framework é justificado por uma maior produtividade no desenvolvimento e na manutenção.
Aplicações Web com Struts2:
O Struts2 é um dos frameworks web mais conhecidos e utilizados atualmente. Ele provê uma série de facilidades para a construção de aplicações web, melhorando a produtividade da equipe e diminuindo custos de manutenção devido a uma melhor organização do código. Neste artigo, mostramos como criar a aplicação mais simples possível com o Struts2, o "Hello, World!" (Listagens 1 a 4), em seguida preparamos esta mesma aplicação para o desenvolvimento de um exemplo simples, mas com utilidade real, o Bookshelf (Listagens 5 e 6), dando a ele um leiaute profissional (Listagens 7 a 9 e Figura 1). Com a WebApp preparada, começamos o desenvolvimento da sua primeira funcionalidade, o cadastro do administrador do sistema (Listagens 10 a 17 e Figura 2) e melhoramos esta mesma funcionalidade, pouco a pouco, mostrando as facilidades oferecidas pelo Struts2, como: abordagem dirigida ao modelo (Listagens 18 e 19), uso de interceptadores e definição de múltiplos resultados (Listagens 20 e 21), validação do formulário (Listagens 22 e 23 e Figura 3) e internacionalização das mensagens (Listagens 24 a 31). Em futuros artigos sobre este mesmo tema, continuaremos o desenvolvimento do Bookshelf e mostraremos outras funções do framework Struts2.
A World Wide Web, ou simplesmente Web, nasceu no início da década de 1990. Em 1993, surge o padrão Common Gateway Interface (CGI), como uma forma de, ao invés de mostrar uma página HTML estática, executar um programa e exibir seu resultado (por exemplo, uma página HTML gerada dinamicamente).
Desde então, as tecnologias para desenvolvimento de aplicações web (WebApps) dinâmicas continuaram a evoluir rapidamente. Na plataforma Java, depois do surgimento das tecnologias Servlet e JSP, a arquitetura MVC (Model-View-Controller) foi usada como base para a criação do que foi chamado “Model 2” (segundo modelo) para a arquitetura de aplicações web. Este novo modelo foi tão bem aceito que logo dezenas de frameworks foram criados para o desenvolvimento de WebApps usando esta arquitetura.
"
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais!

4 COMENTÁRIOS
Victor Matuk
Tive alguns erros ao executar o Hello World do Struts 2
03/06/2011 09:41:42 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:/Program Files/Java/jre6/lib/i386;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Dell\DW WLAN Card\Driver;c:\Program Files\WIDCOMM\Bluetooth Software\;C:\Program Files\Common Files\Roxio Shared\DLLShared\;C:\Program Files\Common Files\Roxio Shared\10.0\DLLShared\;C:\xampplite\php;C:\Program Files\QuickTime\QTSystem\;C:\Users\Bruno\Documents\Victor\Pessoal\Programas\eclipse;
03/06/2011 09:41:42 org.apache.tomcat.util.digester.SetPropertiesRule begin
AVISO: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:Bookshelf' did not find a matching property.
03/06/2011 09:41:42 org.apache.coyote.AbstractProtocolHandler init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
03/06/2011 09:41:42 org.apache.coyote.AbstractProtocolHandler init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
03/06/2011 09:41:42 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 450 ms
03/06/2011 09:41:42 org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
03/06/2011 09:41:42 org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.14
03/06/2011 09:41:44 org.apache.coyote.AbstractProtocolHandler start
INFO: Starting ProtocolHandler ["http-bio-8080"]
03/06/2011 09:41:44 org.apache.coyote.AbstractProtocolHandler start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
03/06/2011 09:41:44 org.apache.catalina.startup.Catalina start
INFO: Server startup in 1666 ms
03/06/2011 09:41:44 org.apache.jasper.compiler.TldLocationsCache tldScanJar
INFO: No TLD files were found in [jndi:/localhost/Bookshelf/WEB-INF/lib/freemarker-2.3.16.jar]. Consider adding the JAR to to the tomcat.util.scan.DefaultJarScanner.jarsToSkip in CATALINA_BASE/catalina.properties
03/06/2011 09:41:44 org.apache.jasper.compiler.TldLocationsCache tldScanJar
INFO: No TLD files were found in [jndi:/localhost/Bookshelf/WEB-INF/lib/asm-commons-3.1.jar]. Consider adding the JAR to to the tomcat.util.scan.DefaultJarScanner.jarsToSkip in CATALINA_BASE/catalina.properties
03/06/2011 09:41:44 org.apache.jasper.compiler.TldLocationsCache tldScanJar
INFO: No TLD files were found in [jndi:/localhost/Bookshelf/WEB-INF/lib/asm-tree-3.1.jar]. Consider adding the JAR to to the tomcat.util.scan.DefaultJarScanner.jarsToSkip in CATALINA_BASE/catalina.properties
03/06/2011 09:41:44 org.apache.jasper.compiler.TldLocationsCache tldScanJar
INFO: No TLD files were found in [jndi:/localhost/Bookshelf/WEB-INF/lib/ognl-3.0.1.jar]. Consider adding the JAR to to the tomcat.util.scan.DefaultJarScanner.jarsToSkip in CATALINA_BASE/catalina.properties
03/06/2011 09:41:44 org.apache.jasper.compiler.TldLocationsCache tldScanJar
INFO: No TLD files were found in [jndi:/localhost/Bookshelf/WEB-INF/lib/commons-lang-2.5.jar]. Consider adding the JAR to to the tomcat.util.scan.DefaultJarScanner.jarsToSkip in CATALINA_BASE/catalina.properties
03/06/2011 09:41:44 org.apache.jasper.compiler.TldLocationsCache tldScanJar
INFO: No TLD files were found in [jndi:/localhost/Bookshelf/WEB-INF/lib/asm-3.1.jar]. Consider adding the JAR to to the tomcat.util.scan.DefaultJarScanner.jarsToSkip in CATALINA_BASE/catalina.properties
03/06/2011 09:41:44 org.apache.jasper.compiler.TldLocationsCache tldScanJar
INFO: No TLD files were found in [jndi:/localhost/Bookshelf/WEB-INF/lib/javassist-3.11.0.GA.jar]. Consider adding the JAR to to the tomcat.util.scan.DefaultJarScanner.jarsToSkip in CATALINA_BASE/catalina.properties
03/06/2011 09:41:45 org.apache.jasper.compiler.TldLocationsCache tldScanJar
INFO: No TLD files were found in [jndi:/localhost/Bookshelf/WEB-INF/lib/xwork-core-2.2.3.jar]. Consider adding the JAR to to the tomcat.util.scan.DefaultJarScanner.jarsToSkip in CATALINA_BASE/catalina.properties
03/06/2011 09:41:45 org.apache.jasper.compiler.TldLocationsCache tldScanJar
INFO: No TLD files were found in [file:/C:/Program%20Files/Java/jre6/lib/ext/sunmscapi.jar]. Consider adding the JAR to to the tomcat.util.scan.DefaultJarScanner.jarsToSkip in CATALINA_BASE/catalina.properties
03/06/2011 09:41:45 org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: Servlet.service() for servlet [jsp] in context with path [/Bookshelf] threw exception [An exception occurred processing JSP page /hello.jsp at line 9
6:
7:
8:
9:
10:
11:
