Você está na página 1de 7

08/11/2011

00-Struts Bsico

Struts Bsico

Struts um arcabouo (framework) para desenvolvimento de aplicaes Web em Java Disponibiliza uma camada de controle robusta baseada em tecnologias conhecidas Foco principal no Controller do MVC Encoraja o desenvolvimento de aplicaes no Modelo 2

08/11/2011

Struts Bsico

Utiliza um componente prprio para o Controller Possui integrao com outras tecnologias para suporte ao Model e ao View:

Model: JavaBeans e classes utilitrias View: TagLibs para utilizao nas pginas JSP

Utiliza arquivos de configurao XML para juntar todos os componentes O nome uma analogia s caractersticas do Struts que facilitam a estruturao de uma aplicao web

Struts Bsico - Por qu?

Por que usar o Struts? Diversas tecnologias para representar o Model (JavaBeans, EJB, JDBC) Diversas tecnologias para representar o View em aplicaes web (JSP, Velocity, JSF) E o Controller?

08/11/2011

Struts Bsico - Por qu?


O Struts funciona como um controlador central entre as regras de negcio e a interface com o usurio Vantagens:

Separao entre cdigo de apresentao e regras de negcio Voc pode reaproveitar partes da regra de negcio em diferentes fluxos Um lugar central para controlar a interao entre as camadas

Struts Bsico - Por qu?

Outras funcionalidades:

Internacionalizao: suporte atravs de ResourceBundles e TagLibs Gerenciamento de erros: mensagens de erro geradas nas regras de negcio podem ser exibidas para o usurio Validao de campos: suporte validao dos dados de entrada de um Form

08/11/2011

Struts Bsico - Viso Geral

Fluxo Bsico de Controle

Struts Bsico - Viso Geral

ActionServlet

Responsvel pelo controle do fluxo de navegao Esse fluxo definido no arquivo de configurao (strutsconfig.xml) Fluxo pode ser alterado sem recompilar a aplicao

Action

Classe de controle responsvel por:


Acessar a camada de negcio Construir a resposta para a requisio Controle e tratamento de erros Redireciona o fluxo de execuo para uma pgina JSP (ou outra Action)

08/11/2011

Struts Bsico - Viso Geral

ActionForms

So JavaBeans Coletam informaes de formulrios para os objetos Action Podem ser utilizados para preencher formulrios automaticamente
Responsveis apenas pela apresentao dos resultados Tipicamente devem ter muito pouco cdigo Java (devem usar as taglibs do Struts)

Pginas JSP

Struts Bsico - Viso Geral

ActionMapping

Informa ao ActionServlet quais Action, ActionForm e ActionForwards devem ser utilizados para cada URI Definidos no arquivo de configurao (struts-config.xml)
Associa um nome lgico para um encaminhamento (URI para um JSP ou outra Action) Definidos no arquivo de configurao (struts-config.xml) Geralmente uma requisio encaminhada primeiramente para uma Action e depois para um JSP

ActionForward

10

08/11/2011

Struts Bsico - Viso Geral

Fluxo de uma requisio:


1.

2. 3.

4.

5.

O servidor recebe uma requisio cuja URL corresponde a um Servlet (ActionServlet) O container transfere o controle para o ActionServlet O ActionServlet encontra o ActionMapping correspondente URL requisitada O ActionMapping especifica qual classe Action deve ser utilizada e o ActionForm associado O ActionForm populado com os dados de formulrio da requisio (feito automaticamente pelo Struts Introspeco no JavaBean)

11

Struts Bsico - Viso Geral


6. 7.

8.

9.

O controle transferido para Action correspondente (atravs de uma chamada do mtodo execute()) A Action utiliza os dados do ActionForm e acessa a camada de negcio (Model) para gerar uma resposta para a requisio Uma vez gerada a resposta, a Action a armazena em algum contexto do continer (tipicamente request ou session) para acesso pela pgina JSP A Action retorna um ActionForward para o ActionServlet indicando a pgina JSP (ou outro recurso) que exibir a resposta

12

08/11/2011

Struts Bsico - Viso Geral


10.

A pgina JSP constri o resultado com informaes obtidas dos contextos utilizados (request ou session) ou do ActionForm A pgina JSP encaminha o resultado para o continer O continer encaminha a resposta para o cliente que iniciou a requisio

11. 12.

13

Você também pode gostar