struts framework para desenvolvimento web [email protected]
TRANSCRIPT
StrutsFramework para desenvolvimento web
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?