Escolar Documentos
Profissional Documentos
Cultura Documentos
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
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
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
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
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
08/11/2011
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
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
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
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
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