SlideShare ist ein Scribd-Unternehmen logo
1 von 17
STRUTS

FAT – Faculdade Alagoana de Tecnologia
ADS – Análise e Desenvolvimento de Sistemas
Programação WEB II – 5º período
Roberth Pinheiro
STRUTS


Bruna Maia
Nelson Sales
Pedro Mascarenhas
Agenda

 Introdução
 Instalação
 Componentes
 Funcionamento
 Código Fonte
 Por que utilizar?
 Referências
Introdução

 Framework Estrutural
 Open-Source
 Craig McClanahan
 Apache Foundation
 MVC
Struts

 Introdução
 Instalação
 Componentes
 Funcionamento
 Código Fonte
 Por que utilizar?
 Referências
Instalação

1. http://struts.apache.org
2. Descompactar
3. Copiar o arquivo.WAR para o Tom Cat
4. Efetuar o deploy do arquivo
Struts

 Introdução
 Instalação
 Componentes
 Funcionamento
 Código Fonte
 Por que utilizar?
 Referências
Componentes
       web.xml
          Define onde as requisições devem chegar
       struts-config.xml
          Determina o que acontecerá com as requisições
       ActionServlet
          Principal componente do Controller
       Action
          Ações que serão executadas a cada requisição
       ActionForward
          Tipo de objeto retornado pela Action
       JSP
          Muda conforme o retorno do tipo de ActionForward
       ActionForm(beans)
          Responsáveis pela validação dos dados no formulário
       Custom Tags
          Dispensa o uso de código Java dentro das páginas JSP
Struts

 Introdução
 Instalação
 Componentes
 Funcionamento
 Código Fonte
 Por que utilizar?
 Referências
Funcionamento    ActionServlet                Baseado no struts-                                                         Com base no fluxo de
                                                                                     Após a validação dos
                                                            config.xml o                                                                aplicação, o
                             carrega as               ActionServlet identifica
                                                                                    dados, caso esteja tudo
                                                                                                                                   ActionServlet chama
                         configurações do                                            OK, o controller passa
                                                       qual ActionForm irá                                                        uma Action que delega a
                                                                                     para o próximo passo
                         struts-config.xml                validar os dados                                                        requisição para o Model




          Usuário solicita
           uma URL no
                                                                                                                                                O Model executa algum
             browser                                                                                                                               processo e popula
                                                                                                                                                alguns objetos que serão
                                                                                                                                                   utilizados no View




Retorno da solicitação




                                                                                                          Após análise do
                                                                 Baseado no                            resultado será definido
                            Montagem do html com            mapeamento da Action,                       qual o mapa adotado
                            os objetos setados como          o Controller faz um                      para o fluxo da aplicação
                                    atributos                 forward para o JSP
                                                             apresentar os dados
Struts

 Introdução
 Instalação
 Componentes
 Funcionamento
 Código Fonte
 Por que utilizar?
 Referências
Código Fonte
 LoginForm.java
Dentro do método validate, que verifica se o nome de usuário e senha seja
digitada. Se não o erro correspondente é apresentada ao usuario.
As mensagens de erro são configurados no quivo ApplicationResource.properties.

public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
ActionErrors errors = new ActionErrors();
if (userName == null || userName.length() < 1) {
errors.add("userName", newActionMessage("error.userName.required"))
;
}
if (password == null || password.length() < 1) {
errors.add("password", newActionMessage("error.password.required"))
;
}
return errors;
}
Código Fonte
 LoginAction.java
O método de execução contém a lógica de negócios da aplicação. Aqui se o nome
de usuário e senha é a mesma então encaminha o usuário para a página de
sucesso ,caso contrário, a página de fracasso seja exibida.
public class LoginAction extends org.apache.struts.action.Action
{

private final static String SUCCESS = "success";
private final static String FAILURE = "failure";

public ActionForward execute(ActionMapping mapping, ActionForm
form, HttpServletRequest request, HttpServletResponse
response) throwsException {
LoginForm loginForm = (LoginForm) form;
if (loginForm.getUserName().equals(loginForm.getPassword())) {
return mapping.findForward(SUCCESS);
} else {
return mapping.findForward(FAILURE);
}
}
}
Struts

 Introdução
 Instalação
 Componentes
 Funcionamento
 Código Fonte
 Por que utilizar?
 Referências
Porque utilizar?

 Melhor performance em aplicações WEB
 Reuso de código
 Agilidade no desenvolvimento
 Compatível com design patterns
 Leve (5 libs e 5 packages)
 Open-Source
 Camadas de aplicação bem definidas e
  separadas
 Apache Foundation
Struts

 Introdução
 Instalação
 Componentes
 Funcionamento
 Código Fonte
 Por que utilizar?
 Referências
Referências
http://struts.apache.org/ (Página Oficial do projeto)
http://employees.oneonta.edu/higgindm/internet%20programming/struts.html
http://infoblogs.com.br/view.action?contentId=218038
http://www.linhadecodigo.com.br/artigo/1045/java-struts-na-pratica-de-ponta-a-ponta.aspx
http://codigobom.com/tutoriais/java/struts/struts.html

Weitere ähnliche Inhalte

Ähnlich wie Framework Struts

Jsf – Java Sever Faces
Jsf – Java Sever FacesJsf – Java Sever Faces
Jsf – Java Sever Facesbielgott
 
Apresentação jsf 2.0
Apresentação jsf 2.0Apresentação jsf 2.0
Apresentação jsf 2.0Paulo Neto
 
2005 0 X Stn Ti Jaime Correia (Amostra)
2005 0 X   Stn   Ti   Jaime Correia (Amostra)2005 0 X   Stn   Ti   Jaime Correia (Amostra)
2005 0 X Stn Ti Jaime Correia (Amostra)Walter Cunha
 
ASP.NET Core 2.1 #dotnetconf
ASP.NET Core 2.1 #dotnetconfASP.NET Core 2.1 #dotnetconf
ASP.NET Core 2.1 #dotnetconfRodrigo Kono
 
Knockout JS - Uma framework para aplicações web
Knockout JS - Uma framework para aplicações webKnockout JS - Uma framework para aplicações web
Knockout JS - Uma framework para aplicações webMario Andrade
 
Introdução ao AWS Elastic Beanstalk - Webinar
Introdução ao AWS Elastic Beanstalk - WebinarIntrodução ao AWS Elastic Beanstalk - Webinar
Introdução ao AWS Elastic Beanstalk - WebinarAmazon Web Services LATAM
 
TechDay - Sistemas WEB em Java - Rogério N. Jr.
TechDay - Sistemas WEB em Java - Rogério N. Jr.TechDay - Sistemas WEB em Java - Rogério N. Jr.
TechDay - Sistemas WEB em Java - Rogério N. Jr.Rogério Napoleão Jr.
 
Como escolher o Framework Java para web?
Como escolher o Framework Java para web?Como escolher o Framework Java para web?
Como escolher o Framework Java para web?Anderson Araújo
 
Implementando MVC com AJAX
Implementando MVC com AJAXImplementando MVC com AJAX
Implementando MVC com AJAXcejug
 
Java Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsJava Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsEduardo Mendes
 
Desenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-endDesenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-endGiovanny Valente
 
Spring + Tapestry Um novo paradigma de desenvolvimento web
Spring + Tapestry Um novo paradigma de desenvolvimento webSpring + Tapestry Um novo paradigma de desenvolvimento web
Spring + Tapestry Um novo paradigma de desenvolvimento webelliando dias
 
AngularJS Components - Semana da Informática 2016
AngularJS Components - Semana da Informática 2016AngularJS Components - Semana da Informática 2016
AngularJS Components - Semana da Informática 2016Diego Melo
 
Dicas para migrar sua aplicação ASP.NET para ASP.NET Core 2.x
Dicas para migrar sua aplicação ASP.NET para ASP.NET Core 2.xDicas para migrar sua aplicação ASP.NET para ASP.NET Core 2.x
Dicas para migrar sua aplicação ASP.NET para ASP.NET Core 2.xRodrigo Kono
 
Apresentação ítalo 17.09.21
Apresentação ítalo 17.09.21Apresentação ítalo 17.09.21
Apresentação ítalo 17.09.21Ítalo Bruno
 

Ähnlich wie Framework Struts (20)

Tutorial struts
Tutorial strutsTutorial struts
Tutorial struts
 
Jsf – Java Sever Faces
Jsf – Java Sever FacesJsf – Java Sever Faces
Jsf – Java Sever Faces
 
Apresentação jsf 2.0
Apresentação jsf 2.0Apresentação jsf 2.0
Apresentação jsf 2.0
 
Fundamentos jsf
Fundamentos jsfFundamentos jsf
Fundamentos jsf
 
Jsf
JsfJsf
Jsf
 
2005 0 X Stn Ti Jaime Correia (Amostra)
2005 0 X   Stn   Ti   Jaime Correia (Amostra)2005 0 X   Stn   Ti   Jaime Correia (Amostra)
2005 0 X Stn Ti Jaime Correia (Amostra)
 
ASP.NET Core 2.1 #dotnetconf
ASP.NET Core 2.1 #dotnetconfASP.NET Core 2.1 #dotnetconf
ASP.NET Core 2.1 #dotnetconf
 
Knockout JS - Uma framework para aplicações web
Knockout JS - Uma framework para aplicações webKnockout JS - Uma framework para aplicações web
Knockout JS - Uma framework para aplicações web
 
Introdução ao AWS Elastic Beanstalk - Webinar
Introdução ao AWS Elastic Beanstalk - WebinarIntrodução ao AWS Elastic Beanstalk - Webinar
Introdução ao AWS Elastic Beanstalk - Webinar
 
TechDay - Sistemas WEB em Java - Rogério N. Jr.
TechDay - Sistemas WEB em Java - Rogério N. Jr.TechDay - Sistemas WEB em Java - Rogério N. Jr.
TechDay - Sistemas WEB em Java - Rogério N. Jr.
 
Como escolher o Framework Java para web?
Como escolher o Framework Java para web?Como escolher o Framework Java para web?
Como escolher o Framework Java para web?
 
Implementando MVC com AJAX
Implementando MVC com AJAXImplementando MVC com AJAX
Implementando MVC com AJAX
 
Java Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsJava Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e Servlets
 
Resumo SCEA
Resumo SCEAResumo SCEA
Resumo SCEA
 
Desenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-endDesenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-end
 
Spring + Tapestry Um novo paradigma de desenvolvimento web
Spring + Tapestry Um novo paradigma de desenvolvimento webSpring + Tapestry Um novo paradigma de desenvolvimento web
Spring + Tapestry Um novo paradigma de desenvolvimento web
 
AngularJS Components - Semana da Informática 2016
AngularJS Components - Semana da Informática 2016AngularJS Components - Semana da Informática 2016
AngularJS Components - Semana da Informática 2016
 
Cactus xp
Cactus xpCactus xp
Cactus xp
 
Dicas para migrar sua aplicação ASP.NET para ASP.NET Core 2.x
Dicas para migrar sua aplicação ASP.NET para ASP.NET Core 2.xDicas para migrar sua aplicação ASP.NET para ASP.NET Core 2.x
Dicas para migrar sua aplicação ASP.NET para ASP.NET Core 2.x
 
Apresentação ítalo 17.09.21
Apresentação ítalo 17.09.21Apresentação ítalo 17.09.21
Apresentação ítalo 17.09.21
 

Framework Struts

  • 1. STRUTS FAT – Faculdade Alagoana de Tecnologia ADS – Análise e Desenvolvimento de Sistemas Programação WEB II – 5º período Roberth Pinheiro
  • 3. Agenda  Introdução  Instalação  Componentes  Funcionamento  Código Fonte  Por que utilizar?  Referências
  • 4. Introdução  Framework Estrutural  Open-Source  Craig McClanahan  Apache Foundation  MVC
  • 5. Struts  Introdução  Instalação  Componentes  Funcionamento  Código Fonte  Por que utilizar?  Referências
  • 6. Instalação 1. http://struts.apache.org 2. Descompactar 3. Copiar o arquivo.WAR para o Tom Cat 4. Efetuar o deploy do arquivo
  • 7. Struts  Introdução  Instalação  Componentes  Funcionamento  Código Fonte  Por que utilizar?  Referências
  • 8. Componentes  web.xml  Define onde as requisições devem chegar  struts-config.xml  Determina o que acontecerá com as requisições  ActionServlet  Principal componente do Controller  Action  Ações que serão executadas a cada requisição  ActionForward  Tipo de objeto retornado pela Action  JSP  Muda conforme o retorno do tipo de ActionForward  ActionForm(beans)  Responsáveis pela validação dos dados no formulário  Custom Tags  Dispensa o uso de código Java dentro das páginas JSP
  • 9. Struts  Introdução  Instalação  Componentes  Funcionamento  Código Fonte  Por que utilizar?  Referências
  • 10. Funcionamento ActionServlet Baseado no struts- Com base no fluxo de Após a validação dos config.xml o aplicação, o carrega as ActionServlet identifica dados, caso esteja tudo ActionServlet chama configurações do OK, o controller passa qual ActionForm irá uma Action que delega a para o próximo passo struts-config.xml validar os dados requisição para o Model Usuário solicita uma URL no O Model executa algum browser processo e popula alguns objetos que serão utilizados no View Retorno da solicitação Após análise do Baseado no resultado será definido Montagem do html com mapeamento da Action, qual o mapa adotado os objetos setados como o Controller faz um para o fluxo da aplicação atributos forward para o JSP apresentar os dados
  • 11. Struts  Introdução  Instalação  Componentes  Funcionamento  Código Fonte  Por que utilizar?  Referências
  • 12. Código Fonte LoginForm.java Dentro do método validate, que verifica se o nome de usuário e senha seja digitada. Se não o erro correspondente é apresentada ao usuario. As mensagens de erro são configurados no quivo ApplicationResource.properties. public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) { ActionErrors errors = new ActionErrors(); if (userName == null || userName.length() < 1) { errors.add("userName", newActionMessage("error.userName.required")) ; } if (password == null || password.length() < 1) { errors.add("password", newActionMessage("error.password.required")) ; } return errors; }
  • 13. Código Fonte LoginAction.java O método de execução contém a lógica de negócios da aplicação. Aqui se o nome de usuário e senha é a mesma então encaminha o usuário para a página de sucesso ,caso contrário, a página de fracasso seja exibida. public class LoginAction extends org.apache.struts.action.Action { private final static String SUCCESS = "success"; private final static String FAILURE = "failure"; public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throwsException { LoginForm loginForm = (LoginForm) form; if (loginForm.getUserName().equals(loginForm.getPassword())) { return mapping.findForward(SUCCESS); } else { return mapping.findForward(FAILURE); } } }
  • 14. Struts  Introdução  Instalação  Componentes  Funcionamento  Código Fonte  Por que utilizar?  Referências
  • 15. Porque utilizar?  Melhor performance em aplicações WEB  Reuso de código  Agilidade no desenvolvimento  Compatível com design patterns  Leve (5 libs e 5 packages)  Open-Source  Camadas de aplicação bem definidas e separadas  Apache Foundation
  • 16. Struts  Introdução  Instalação  Componentes  Funcionamento  Código Fonte  Por que utilizar?  Referências
  • 17. Referências http://struts.apache.org/ (Página Oficial do projeto) http://employees.oneonta.edu/higgindm/internet%20programming/struts.html http://infoblogs.com.br/view.action?contentId=218038 http://www.linhadecodigo.com.br/artigo/1045/java-struts-na-pratica-de-ponta-a-ponta.aspx http://codigobom.com/tutoriais/java/struts/struts.html