Soluções        Serviços          Atendimento       Governo        Consultoria T.I      Treinamento

Software

Struts é um framework de desenvolvimento da camada controladora, numa estrutura seguindo o padrão Model 2 (uma variante do MVC oficializada pela Sun), de aplicações web (principalmente) construído em Java para ser utilizado em um container web em um servidor J2EE[1].

Este framework foi originalmente desenvolvido por Craig McClanahan e doado para a Apache Software Foundation em 2002, onde continua sendo desenvolvido segundo o padrão desta fundação.

Índice

  • 1 Objetivos e visão geral
  • 2 Principais problemas e soluções
  • 3 Componentes
  • 4 Referências
  • 5 Ligações externas

Objetivos e visão geral

Em um aplicativo de web padrão Java EE, o cliente normalmente envia informações ao servidor através de um formulário da web. Em seguida, a informação ou é entregue a um Java Servlet que a processa, interage com um banco de dados e produz uma resposta formatada em HTML, ou é entregue a um JavaServer Page (JSP) que mixa código HTML e Java para obter o mesmo resultado. Ambas as abordagens são consideradas inadequadas para grandes projetos porque eles misturam a lógica do aplicativo com apresentação e dificultam a manutenção.

O objetivo do Struts é separar o model (modelo - lógica de aplicativo que interage com um banco de dados) do view (visualização - páginas HTML apresentadas para o cliente) e do controller (controlador - instância que transmite informações entre a exibição e o modelo). Struts fornece o controlador/controller (um servlet conhecido como ActionServlet) e facilita a escrita de moldes padronizados para a camada de visualização/view (normalmente em JSP, mas XML/XSLT e Velocity também são suportados). O programador de aplicativo da web é responsável por escrever o código do modelo/model, e por criar um arquivo de configuração centralizador (struts-config.XML) que une modelo, visualização e controlador.

Solicitações do cliente são enviadas para o controller em forma de Actions (ações) definidas no arquivo de configuração. O controller, ao receber uma solicitação, chama a classe Action correspondente e esta interage com o código do model específico. O código do model retorna um "ActionForward", uma cadeia de caracteres que informa ao controller qual página de resultado deve ser enviada para o cliente.  As informações são passadas entre model e view em forma de JavaBeans especial. Uma poderosa biblioteca personalizada de palavras-chave (tags - medatada) permite ler e gravar o conteúdo (beans) da camada de apresentação sem a necessidade de qualquer código Java embutido.

Struts é categorizado como uma estrutura de aplicativo web baseada em solicitação.

Struts também oferece suporte a internacionalização e inclui um mecanismo de moldes chamado "Tiles", que permite que a camada de apresentação seja composta de cabeçalho, rodapé e componentes de conteúdo independentes .

Principais problemas e soluções

  • Facilita a população de beans (Action Forms)
  • Simplifica o uso de servlets, necessitando apenas a criação de classes Action
  • Com suas tags dispensa o uso de scriptlets em 98% dos casos.

Componentes

  • ActionForm
  • ActionForward
  • ActionMapping
  • ActionServlet
  • DynaActionForm

Referências

  1. ↑ * (em inglês) Apache Software Foundation

Ligações externas

  • (em inglês) Projeto Struts
  • (em português) Desmitificando o Framework Jakarta Struts
  • (em português) Jakarta Struts
Obtida de "http://pt.wikipedia.org/w/index.php?title=Apache_Struts&oldid=26074218"

MAIS INFORMAÇÕES DO SETOR DE SOFTWARE

Linguagem de programação

Uma linguagem de programação é um método padronizado para expressar instruções para um compu [ ... ]


Licitação

Licitação é o procedimento administrativo para contratação de serviços ou aquisição de pro [ ... ]


Blog corporativo

Blogs Corporativos podem ser traduzidos em: uso de blogs dentro do cotidiano das empresas. O Blog  [ ... ]


Business Intelligence - Inteligência empresarial

Inteligência empresarial (em inglês Business Intelligence), refere-se ao processo de coleta, orga [ ... ]


C++

article thumbnail

Origem: Wikipédia, a enciclopédia livre. C++
Programa Olá Mundo, escrito em C++. [ ... ]


Eclipse

article thumbnail


Eclipse é um IDE desenvolvido em Java, seguindo o modelo open source de desenvolvimento de softw [ ... ]


Marketing de relacionamento

Marketing Composto Marketing | Marketing mix | Produto | Preço | Promoção | Comun [ ... ]


Trac

Trac é uma simples ferramenta, open source e de interface web para controle de mudanças em pro [ ... ]


Sistemas de CRM

Os sistemas de CRM.. são aplicativos de informação desenvolvidos com o objetivo de auxiliar na ge [ ... ]


Governança em T.I (Governança corporativa)

Governança corporativa (português brasileiro) ou governo das sociedades ou das empresas (portuguê [ ... ]


Nanotecnologia

article thumbnail

Imagem de um circuito integrado ampliada 2400 vezes A nanotecnologia (algumas vezes chamada [ ... ]


Indústria de software

A Indústria de Software é o conjunto dos negócios que envolvem o desenvolvimento, a manutençã [ ... ]


Web design

article thumbnail

Exemplo de um layout simples. O web design pode ser visto como uma extensão da prática  [ ... ]


CRM - Customer relationship management

Customer Relationship Management (CRM) é uma expressão em inglês que pode ser traduzida para a l [ ... ]


Teoria de sistemas

A teoria de sistemas estuda, de modo interdisciplinar, a organização abstrata de fenômenos, indep [ ... ]


Orientação a objetos

A orientação a objetos é um paradigma de análise, projeto e programação de sistemas de softwar [ ... ]


Tecnologia educacional

article thumbnail

A Wikipédia possui o portal:
Portal de educação As Tecnologias educacionais são [ ... ]


Novas tecnologias de informação e comunicação

Comunicação Novas tecnologias de informação e comunicação Tipos Social • M [ ... ]


Software educativo

article thumbnail

Software educativo é um software cujo principal propósito é o ensino ou o auto-aprendizado.[1]  [ ... ]


Sistema Integrado de Aprendizagem de Produtos e Serviços

Sistema Integrado de Aprendizagem de Produtos e Serviços - Sinapse (acrônimo) é o nome de uma met [ ... ]


Inteligência organizacional

Inteligência Organizacional é a capacidade coletiva disponível em uma organização para identifi [ ... ]


Segurança da informação

article thumbnail

A Wikipédia possui o portal:
Portal das tecnologias de informação A segurança da  [ ... ]


Seis Sigma

article thumbnail

Símbolo comumente usado do Seis Sigma
Seis Sigma ou Six Sigma (em inglês) é um conjunto [ ... ]


Comércio eletrônico

Comércio eletrônico (português brasileiro) ou comércio electrónico (português europeu) ou e-co [ ... ]


Lotus Notes

article thumbnail

Lotus Tipo Corporação privada Indústria Software Produtos Ver lista com [ ... ]


BackTrack

article thumbnail

Backtrack

Backtrack 5 Desenvolvedor Max Moser, Mati Aharoni, Martin J. Muench  [ ... ]


Gerenciamento de serviços de TI

O gerenciamento de serviços de TI tem por objetivo prover um serviço de TI com qualidade e alinh [ ... ]


PDA - Personal digital assistant

article thumbnail


PalmOne LifeDrive Personal digital assistants (PDAs ou handhelds), assistente pessoal di [ ... ]


Sistema de informação contábil

O sistema de informação contábil é um dos componentes do sistema de informação gerencial (SIG, [ ... ]


web desktop

article thumbnail

Tela do eyeOS 0.9 Um webtop, web desktop, desktop online ou OS online (OS é a sigla para [ ... ]


E-mail marketing

E-mail marketing é a utilização do e-mail como ferramenta de marketing direto, respeitando norma [ ... ]


Prototipação

Prototipação é uma abordagem baseada numa visão evolutiva do desenvolvimento de software, afe [ ... ]


Model-view-controller (MVC)

article thumbnail


Um diagrama simples exemplificando a relação entre Model, View e Controller. As linhas sól [ ... ]


Larry Page

article thumbnail

Lawrence Edward Page Larry Page Nascimento 26 de Março de 1973 (38 anos) [ ... ]


Gestão estratégica de empresas

Gestão estratégica de empresas (em língua inglesa: strategic enterprise management — SEM) é um [ ... ]


Teoria da informação

article thumbnail

A Teoria da informação ou Teoria matemática da comunicação é um ramo da teoria da probabilidad [ ... ]


Firewall

article thumbnail

Firewall separando redes LAN e WAN A Wikipédia possui o portal:
Portal das tecno [ ... ]


Plone

article thumbnail

Plone

Screenshot da instalação padrão Desenvolvedor Alan Runyan, Alexander L [ ... ]


PHP

article thumbnail

PHP Paradigma procedural, reflexão, orientação a objetos, funcional Surg [ ... ]


Qualidade de software

A qualidade de software é uma área de conhecimento da engenharia de software que objetiva garant [ ... ]


Sistema de informação de gestão

Sistema de informação de gestão ou sistema de informações gerenciais (SIG; do inglês, manageme [ ... ]


Análise de requisitos de software

Análise de requerimento de software Origem: Wikipédia, a enciclopédia livre. Na engenharia de [ ... ]


Arquitetura de software

A arquitetura de software de um sistema consiste na definição dos componentes de software, suas  [ ... ]


Smartphone

article thumbnail

Galaxy Nexus, exemplo de Smartphone. Nokia Communicator 9000, 9110, 9210, 9500  [ ... ]


Gerenciamento de nível de serviços

Gerenciamento de nível de serviços é uma disciplina de gestão responsável pelo processo gerenci [ ... ]


Processo de desenvolvimento de software

Um processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas, c [ ... ]


IBM Rational Unified Process

O RUP, abreviação de Rational Unified Process (ou Processo Unificado Racional), é um processo pro [ ... ]


Modelo Balbúrdia

No início da computação, poucos programadores seguiam algum tipo de metodologia baseando-se, em [ ... ]


Ferramenta CASE

Ferramentas CASE (do inglês Computer-Aided Software Engineering) é uma classificação que abran [ ... ]


Java

article thumbnail

Java
Duke, o mascote do Java Paradigma Orientação a objetos, estruturada, impe [ ... ]


Artigos Relacionados

Pluriverso - Inteligência em Tecnologia

Pluriverso - Inteligência em Tecnologia


Ed.Centro Sul, 2°Andar, SCIA, Qd. 14, Conj. 07, Lt 1, S. Ind.
CEP: 71.250-135, Brasília-DF.  
Como Chegar
| Atendimento  


+55 (61) 4141.5555

Serviços

Desenvolvimento de Software
Oursourcing de T.I
Consultoria em Tecnologia
Licitação com o Governo

Produtos

ERP, CRM, Colaboração
Cloud Computing

Soluções
Soluções em Outsourcing de Tecnologia
Integração de Software
Avaliação de nível tecnológico
Cálculo de custos de T.I
Softwares customizados


Porque escolher a Pluriverso

Blog Corporativo
Blog do Software

Conheça a Pluriverso
quem somos
verticais de atuação
portifólio
casos de sucesso

Atendimento
contatos
sala de imprensa
como chegar
Trabalhe conosco

desenvolvimento de software