Struts Framework para desenvolvimento web ma@marcoreis.net.

Post on 17-Apr-2015

111 views 0 download

Transcript of Struts Framework para desenvolvimento web ma@marcoreis.net.

StrutsFramework para desenvolvimento web

ma@marcoreis.net

Agenda• O que é• Por que usar• Arquitetura

– Model, View, Controller

Framework

Outros Frameworks

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

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

Quem faz o Struts

Porque é open source

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

Servlet

JSP

JSP versus ASP

Tags JSP

JavaBeans

Struts superficialmente

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

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

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>

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

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

DynaActionForm• Tem as mesmas características do

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

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

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

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

HttpServletResponse response) throws Exception;

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

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

Dúvidas?