25
Struts Framework para desenvolvimento web [email protected]

Struts Framework para desenvolvimento web [email protected]

Embed Size (px)

Citation preview

Page 1: Struts Framework para desenvolvimento web ma@marcoreis.net

StrutsFramework para desenvolvimento web

[email protected]

Page 2: Struts Framework para desenvolvimento web ma@marcoreis.net

Agenda• O que é• Por que usar• Arquitetura

– Model, View, Controller

Page 3: Struts Framework para desenvolvimento web ma@marcoreis.net

Framework

Page 4: Struts Framework para desenvolvimento web ma@marcoreis.net

Outros Frameworks

Page 5: Struts Framework para desenvolvimento web ma@marcoreis.net

Struts• Framework MVC• Usado para construir aplicações web

baseadas em servlets e JSP• Orientado a padrões• Inclui JSTL• Configurado via XML

Page 6: Struts Framework para desenvolvimento web ma@marcoreis.net

Quem faz o Struts

Page 7: Struts Framework para desenvolvimento web ma@marcoreis.net

Porque é open source

Page 8: Struts Framework para desenvolvimento web ma@marcoreis.net

Razões para você usá-lo• Maduro e estável• Flexível e extensível• Fácil de aprender (?!?!?!)• Comunidade mundial de usuários• Open source• Integração com JEE

Page 9: Struts Framework para desenvolvimento web ma@marcoreis.net

Servlet

Page 10: Struts Framework para desenvolvimento web ma@marcoreis.net

JSP

Page 11: Struts Framework para desenvolvimento web ma@marcoreis.net

JSP versus ASP

Page 12: Struts Framework para desenvolvimento web ma@marcoreis.net

Tags JSP

Page 13: Struts Framework para desenvolvimento web ma@marcoreis.net

JavaBeans

Page 14: Struts Framework para desenvolvimento web ma@marcoreis.net

Struts superficialmente

Page 15: Struts Framework para desenvolvimento web ma@marcoreis.net

Arquitetura• Um controlador (ActionServlet) central

gerencia o fluxo das solicitações e delega para o manipulador apropriado

• Esse manipulador pode usar os componentes de negócio

• Após o processamento, o controlador escolhe para qual página a aplicação irá, baseando-se numa lista de ações especificada num arquivo XML

Page 16: Struts Framework para desenvolvimento web ma@marcoreis.net

ActionServlet• Fornecido pelo Struts• Gerencia todas as requisições da aplicação• Responsável pelo fluxo de controle,

utilizando a listagem do arquivo de configuração

• É configurado apenas uma vez no web.xml

Page 17: Struts Framework para desenvolvimento web ma@marcoreis.net

ActionMapping

• Mapeamento das ações com seu fluxo, formulários e ações

• Exemplo:

<action path="/EfetuarLogin" name="usuarioForm“ type="com.alomundo.TelaDeLoginAction" attribute="usuario" validate="true" input="/TelaDeLogin.jsp">

<forward name="Sucesso" path="/PaginaPrincipal.jsp" /></action>

Page 18: Struts Framework para desenvolvimento web ma@marcoreis.net

struts-config• Contém três elementos importantes

importantes para descrever as ações da sua aplicação– <form-beans> definição de formulários– <action-mappings> definição das ações– <global-forwards> definição de

Page 19: Struts Framework para desenvolvimento web ma@marcoreis.net

ActionForm• Formulários da sua aplicação• Deve conter um atributo (com seu respectivo

getter e setter) para cada componente de sua tela

• É um javabean• Tem um mecanismo de validação padrão

Page 20: Struts Framework para desenvolvimento web ma@marcoreis.net

DynaActionForm• Tem as mesmas características do

ActionForm• É definido no struts-config• Não é uma classe!!!

Page 21: Struts Framework para desenvolvimento web ma@marcoreis.net

Action• Processa a requisição do cliente, chamando as

classes responsáveis pela lógica de negócio e efetuando o processamento

• Retorna o próximo destino, com base em todos os dados fornecidos

• Exemplo: o usuário informou todos os dados corretos, então o próximo destino será a tela principal, caso contrário, redireciona uma tela de erro

Page 22: Struts Framework para desenvolvimento web ma@marcoreis.net

Assinatura do método• Esse é o método disparado pelo controller

public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,

HttpServletResponse response) throws Exception;

Page 23: Struts Framework para desenvolvimento web ma@marcoreis.net

Lógica do negócio• Não faz parte diretamente do Struts, mas faz

todo sentido quando se leva em consideração uma modelagem de qualidade

• Você pode fazer todo o processamento dentro da sua Action, mas é interessante que se delegue para uma classe específica de regra de negócio, como as fachadas

Page 24: Struts Framework para desenvolvimento web ma@marcoreis.net

Struts-blank.war• Utilize-a como modelo para seu projeto• Struts tem muitas bibliotecas e arquivos de

configuração, dessa forma, é uma maneira de você não esquecer nada quando começar uma nova aplicação

Page 25: Struts Framework para desenvolvimento web ma@marcoreis.net

Dúvidas?