Tutorial do Struts 2 - Solução única para iniciantes



Este artigo no Tutorial do Struts 2 ajudará você a começar com a estrutura do Struts 2 para desenvolver aplicativos da Web J2EE junto com a demonstração de código.

Se você está procurando um que pode ajudá-lo a desenvolver aplicativos da Web JEE de forma rápida e eficiente, o Struts 2 é a solução perfeita para você. Struts 2 é uma estrutura de código aberto muito usada no mercado. Por meio deste Tutorial do Struts 2, irei ajudá-lo a começar a usá-lo junto com as implementações práticas.

Abaixo estão os tópicos que irei discutir neste tutorial do Struts:





O que é Struts?

Em termos leigos, Struts é um baseado em estrutura de código aberto que ajuda no desenvolvimento de aplicativos da web em J2EE. istoestende o e promove o modelo, visão, controlador ( MVC ) arquitetura.Isso torna os aplicativos da web desenvolvidos em tecnologias padrão comoJSP, JavaBeans e XML, mais fáceis de manter, extensíveis e flexíveis.

O Struts Framework foi inicialmente desenvolvido por Craig McClanahan e entregue à Apache Foundation em maio de 2000. Gradualmente, ele captura a posição de um projeto Apache de nível superior em 2005 e, posteriormente, em fevereiro de 2007, foi substituído por Struts 2 .



O Struts Framework foi amplamente baseado no MVC (Model-View-Controller) paradigma de design. Seu principal objetivo era separar o modelo da visão e do controlador no aplicativo para reduzir a dependência e promover a separação de preocupações (SoC). Em outras palavras, ajudou a separar a lógica do aplicativo que se comunica principalmente com o banco de dadosde por meio do qual o usuário interage com a aplicação e a instância que auxilia na canalização de informações entre Model e View.

Características do Struts 2

  1. Formulários e ações baseados em POJO :As classes de ação no Struts são tratadas como o controlador no aplicativo. Eles são responsáveis ​​por responder a uma ação do usuário, executar a lógica de negócios e retornar um resultado com a visualização que deve ser renderizada. Ela também atua como classe de modelo.
  2. Tags e personalização aprimoradas: Vários tipos de tags foram introduzidos no Struts 2, como tags de IU, tags de controle, tags de dados, etc., que auxiliam no desenvolvimento de aplicativos.
  3. Funcionalidade AJAX: O Struts 2 oferece suporte à tecnologia ajax, que normalmente é usada para gerar uma solicitação assíncrona. Isso melhora o desempenho do aplicativo, enviando apenas os dados de campo necessários para o servidor.
  4. Integração fácil: Ele fornece integração fácil com outras estruturas da Web, como , DWR, SiteMesh e Tiles.
  5. Configurações mínimas: Ao usar o aplicativo Struts 2, não há configurações de sobrecarga necessárias. Ele funciona com configurações mínimas em que a maioria das configurações assume os valores padrão, a menos que haja algum desvio.
  6. Integrar tecnologias de visualização: Com o Struts2, você pode se integrar facilmente com várias tecnologias de visualização, como XSLT, JSP, Freemarker, velocidade, etc.
  7. Tema e modelos: O Struts 2 oferece suporte a 3 tipos de temas:
    1. Xhtml
    2. Simples
    3. Css_xhtml

Aqui, XHTML é o tema padrão do Struts 2 e é usado principalmente para aparência e comportamento comuns.

Agora que você sabe o que é Struts e seus vários recursos, vamos prosseguir com este artigo do Tutorial do Struts e aprender sobre sua arquitetura.



Arquitetura

Arquitetura do Struts - Tutorial do Struts 2 - EdurekaComo você pode ver no diagrama acima, Struts usa alto nível Arquitetura MVC . Aqui, o filtro de servlet de despacho Struts2 é usado para implementar o Controlador enquanto as ações são usadas para implementar o Modelo e a Visualização é implementada combinando tipos de resultados e resultados. Nessa arquitetura, o thread comum, a vinculação e a integração com outros componentes são ativados pela pilha de valor e OGNL. Além disso, as configurações das aplicações web junto com ações, interceptores, resultados, etc também ajudam na canalização de muitas informações.

Agora, deixe-me explicar o fluxo de trabalho completo durante o ciclo de vida de uma solicitação gerada pelo usuário. A seguir, listei o fluxo de trabalho passo a passo para sua melhor compreensão de como o Struts funciona:

  • Ele começa com a solicitação do usuário que é enviada ao servidor para solicitar algum recurso.
  • Essa solicitação é então processada pelo Filter Dispatcher para determinar a Ação apropriada.
  • Além disso, as funcionalidades do interceptor configuradas adequadamente são aplicadas à solicitação, como validação, upload de arquivo, etc.
  • Uma vez que a Ação selecionada é decidida e executada com base na operação solicitada.
  • Nesse caso, qualquer pós-processamento necessário, interceptores configurados são chamados.
  • No final, o resultado é fornecido pela visualização e é retornado ao usuário.

Espero que isso limpe o fluxo de trabalho em um aplicativo Struts. Vamos agora ver tudo o que você precisa em seu sistema para começar a usar o Struts na próxima seção deste tutorial do Struts 2

Configuração de ambiente

Abaixo, listei as necessidades básicas para começar a usar o Struts 2:

  • Java
    Caso você não tenha o Java instalado em seu sistema, você pode consultar o Instalação Java artigo.
  • Tomcat
    Se você não tem o Tomcat em seu sistema, pode visitar Aqui para download gratuito.
  • IDE (de preferência Eclipse)
    Finalmente, você precisa do seu IDE Eclipse para desenvolvimento de aplicativos.

Uma vez feito isso, você está pronto para molhar os pés com o Struts. Na próxima seção deste tutorial do Struts 2, darei um breve resumo dos conceitos fundamentais do Struts 2.

Conceitos fundamentais

1. Configurações

Em qualquer aplicativo struts, existem dois arquivos de configuração principais:

  1. arquivo struts.xml: Este arquivo contém as informações sobre oconfiguração que são modificados como ações. Ele é usado principalmente para substituir as configurações padrão em um aplicativo. Esse arquivo geralmente é criado no diretório WEB-INF / classes em qualquer projeto Struts.
  2. Arquivo struts.properties: Este arquivo fornece um mecanismo que pode alterar o comportamento da estrutura. Desde umframework faz uso de uma série de propriedades que você pode alterar de acordo com sua necessidade.

2. Ações

Ações ou classes de ação são os conceitos principais em qualquer aplicativo Struts 2, pois atuam como o controlador no padrão MVC. Em outras palavras, as classes Action contêm a lógica de negócios que ajuda no processamento dos dados. Fora isso, a classe de ação também é responsável porresponder a uma solicitação do usuário, executando a lógica de negócios. Também ajuda a estrutura a determinar e retornar um resultado com base no arquivo de configuração (struts.xml), de volta para o usuário para renderizar a página Visualizar.

As classes de ações Stuts2 não são singleton por natureza, ou seja, uma instância dessa classe será criada com cada solicitação. Portanto, eles não precisam ser thread-safe e são simples e independentes. Isso torna o teste dessas classes muito mais fácil.

Um arquivo de ação pode ser criado de três maneiras, que são as seguintes:

  • Classe de ação simples
    Qualquer classe Java concreta pode ser usada como uma classe de ação do Struts 2, mas o único requisito é que a classe deve conter um método execute () com o tipo de retorno String. Abaixo está o código para criar uma classe de ação simples:
pacote com.edureka.struts2.action public class DemoAction {public String execute () {return 'Bem-vindo!' }}
  • Implementando interface de ação
    Uma classe Struts 2 Action também pode ser criada implementando a interface com.opensymphony.xwork2.Action. Ele contém um único método, ou seja, execute (), que deve ser implementado pela classe de implementação. Ao implementar esta interface, você pode fazer uso de várias constantes como SUCCESS, ERROR, NONE, INPUT e LOGIN que podem ser usadas para as páginas de resultados.
    O código abaixo mostra um exemplo do mesmo:
pacote com.edureka.struts2.action import com.opensymphony.xwork2.Action public class DemoAction implementa Action {public String execute () {return SUCCESS}}
  • Extensão da classe ActionSupport

As classes de ação no Struts 2 geralmente estendem a classe Action Support, que é a implementação padrão da interface Action. Ele fornece várias funcionalidades imperativas para o desenvolvimento de aplicativos web, como validação de dados, mensagem de nível de ação, mensagem de erro de nível de ação, mensagem de erro de nível de campo e pacote de recursos de leitura, etc.

Abaixo está a implementação do mesmo:

pacote com.edureka.struts2.action import com.opensymphony.xwork2.ActionSupport public class DemoAction estende ActionSupport {@Override public String execute () throws Exception {return SUCCESS}}

3. Interceptadores

O interceptor atua como um dos principais pilares da estrutura do Struts 2. Não é nada além de um objetoque é invocado durante o pré-processamento e pós-processamento de uma solicitação.Ele ajuda a controlar e manter a transição suave do ciclo de solicitação e resposta.

A principal vantagem de usar interceptores é que ele pode ser conectado. O que quero dizer é, caso você não tenha mais qualquer uso de uma preocupação específica, comovalidação, tratamento de exceção, registro, etc., você pode removê-lo facilmente do aplicativo sem ter que reimplantá-lo. Para isso, tudo que você precisa fazer é excluir a entrada do arquivo struts.xml.

O framework Struts2 fornece um conjunto abrangente de interceptores predefinidos e pilhas de interceptores comuns que listei na tabela abaixo:

Interceptor Descrição
apelido Isso permite que os parâmetros tenham aliases de nomes diferentes nas solicitações do usuário
caixa de seleção Isso ajuda no gerenciamento de caixas de seleção, adicionando um valor de parâmetro false para as caixas de seleção que não foram marcadas
conversionError Isso coloca as informações de erro de conversão de Strings em tipos de parâmetro dentro dos erros de campo da ação
createSession Isso cria implicitamente uma sessão HTTP no caso de não existir uma
depuração Isso fornece várias telas de depuração para o desenvolvedor
execAndWait Isso transfere o usuário para uma página de espera intermediária quando a ação está sendo executada em segundo plano
exceção Isso mapeia as exceções que são lançadas da ação em direção a um resultado
fileUpload Isso facilita o upload de arquivos no Struts 2
i18n Isso ajuda a manter o controle da localidade especificada durante a sessão de um usuário
Histórico Isso fornece um registro simples para o usuário, gerando a saída como o nome da ação que está sendo executada
params Isso ajuda a definir os parâmetros de solicitação na ação
preparar Isso é usado para realizar o trabalho de pré-processamento
perfil Isso permite informações de perfil simples para ações de registro.
escopo Isso armazena e recupera o estado da ação durante a sessão do usuário ou escopo do aplicativo
ServletConfig Isso permite a ação de acessar várias informações baseadas em servlet
cronômetro Isso fornece informações de perfil simples
símbolo Isso ajuda a verificar a ação de um token válido, a fim de evitar envios de formulários duplicados
validação Isso fornece suporte de validação para várias ações

4. Pilha de valores

ValueStackem Struts2 é a área de armazenamento onde todos os dados do aplicativo são armazenados para processar uma solicitação. Esses dados são mantidos dentro doActionContextobjetos que fazem uso doThreadLocalpara recuperar os valores específicos para qualquer thread de solicitação de cliente específico.

5. OGNL

OGNL significa Object-Graph Navigation Language. É uma linguagem de expressão poderosa muito parecida com JSP e é usada principalmente para oreferência e manipulação de dados presentes no ValueStack. Além disso, também auxilia na transferência e conversão do tipo de dados.

Semelhante ao JSP, OGNL contém um objeto raiz dentro do contexto do aplicativo. Portanto, você pode fornecer a referência do objeto padrão usando a notação de marcação que, neste caso, é denotada pelo símbolo de libra. A estrutura do Struts 2 implementa OGNL criando um mapa ActionContext. Abaixo, listei os componentes do mapa ActionContext:

  • Inscrição
  • Sessão
  • Pilha de valores
  • Solicitação
  • Parâmetros
  • Atributos

Com isso, você já conhece os fundamentos do Struts 2. Na próxima seção deste artigo do Struts 2, vamos pular diretamente para o código e implementar tudo o que você aprendeu até agora.

variável de instância no exemplo java

Demonstração do tutorial do Struts 2

Aqui estarei criando um aplicativo simples onde você precisa inserir seu nome e o aplicativo irá recebê-lo. Abaixo está a captura de tela da estrutura completa do projeto:

Como você pode ver, neste projeto estaremos criando 5 arquivos que são:

  1. HelloWorld.java
  2. index.jsp
  3. welcome.jsp
  4. web.xml
  5. struts.xml

Observação: antes de iniciar este projeto, certifique-se de já ter o Tomcat instalado em seu sistema.

ETAPA I: Em seu Eclipse, acesse Arquivo> Novo> Projeto da Web dinâmico. Digite o nome do projeto e clique em Novo tempo de execução.

ETAPA II: Aqui você precisa selecionar a versão do Apache Tomcat que baixou em seu sistema e clicar em Avançar.

ETAPA III: Em seguida, clique em Navegar e navegue até o diretório onde as dependências do Tomcat foram salvas. Feito isso, clique em Concluir e prossiga com a Criação do Projeto.

ETAPA IV: Vamos agora adicionar os arquivos jar do Struts que serão necessários para a execução bem-sucedida deste projeto. Você pode baixar os JARs de Aqui . Quando estiver pronto com os arquivos JAR, copie os JARs e cole-os em WebContent> WEB-INF> lib.

ETAPA V: Agora que estamos prontos com todas as configurações, vamos configurar os arquivos de código, começando com HelloWorld.java. Para isso, clique com o botão direito do mouse no projeto> Novo> Classe. Preencha o pacote e o nome da classe e clique em Concluir.

ETAPA VI: Digite o código abaixo no HelloWorld.java Arquivo.

pacote com.edureka public class HelloWorld {private String name public String getName () {return name} public void setName (String name) {this.name = name} public String execute () {return 'success'}}

ETAPA VII: Em seguida, crie um novo index.jsp arquivo em WebContent e digite o código abaixo:

 

ETAPA VIII: Agora, novamente crie um novo welcome.jsp arquivo em WebContent e digite o código abaixo:

Bem-vinda:

ETAPA IX: Agora vá para WebContent> WEB-INF e digite o código abaixo no web.xml Arquivo.

Struts2Demo index.html struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareandExecuteFilter struts2 / *

ETAPA X: Finalmente, em Recursos Java> src, crie struts.xml Arquivo

welcome.jsp

ETAPA XI: Agora vá para o index.jsp página e clique com o botão direito nela. Selecione Executar no servidor para executar o aplicativo.

Isso nos leva ao final deste artigo no Tutorial do Struts 2. Se você quiser saber mais sobre Java, consulte nosso .

Agora que você entendeu o que é um tutorial do Struts 2, confira o pela Edureka, uma empresa de aprendizagem online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados por todo o mundo. O curso de certificação e treinamento Java J2EE e SOA da Edureka é projetado para estudantes e profissionais que desejam ser um desenvolvedor Java. O curso foi elaborado para dar a você uma vantagem inicial na programação Java e treiná-lo para os conceitos básicos e avançados de Java, juntamente com várias estruturas Java como Hibernate e Spring.

Tem alguma questão para nós? Mencione isso na seção de comentários deste artigo “Tutorial do Struts 2” e entraremos em contato com você o mais breve possível.