Struts 2 sem XML: Hello World com Anotações – Tutorial Completo

Foto do autor

By luis


Criação de um Aplicativo Hello World no Struts 2 Utilizando Anotações e sem o Arquivo struts.xml

Introdução

O Struts 2 destaca-se como um framework open-source de alto desempenho para o desenvolvimento de aplicações web em Java, simplificando a criação de sistemas empresariais. Adotando o padrão arquitetural Model-View-Controller (MVC), ele proporciona recursos robustos para o gerenciamento de requisições, manipulação de dados e exibição de respostas. Este artigo tem como objetivo demonstrar a construção de um aplicativo Hello World básico com Struts 2, empregando anotações e dispensando o tradicional arquivo struts.xml.

Preparando o Ambiente de Desenvolvimento

Antes de iniciar, certifique-se de que os seguintes pré-requisitos estejam instalados e configurados em seu sistema:

– Java Development Kit (JDK) versão 1.8 ou superior
– Apache Maven versão 3.0 ou superior
– Um servidor web, como o Apache Tomcat ou o Jetty

Construindo o Projeto Maven

Para gerar um novo projeto Maven, execute o comando abaixo:

mvn archetype:generate -DgroupId=com.example -DartifactId=struts2-helloworld -DarchetypeArtifactId=maven-archetype-webapp

Este comando irá gerar a estrutura básica do projeto, incluindo os arquivos pom.xml e web.xml.

Adicionando a Dependência do Struts 2

No arquivo pom.xml, inclua a seguinte dependência:

    
<dependency>
    <groupId>org.apache.struts</groupId>
    <artifactId>struts2-core</artifactId>
    <version>2.5.35</version>
</dependency>
    
  

Criando a Action

Dentro do diretório src/main/java do seu projeto, crie uma classe chamada HelloWorldAction.java com o seguinte conteúdo:

      
import com.opensymphony.xwork2.Action;

public class HelloWorldAction implements Action {

    @Override
    public String execute() {
        return SUCCESS;
    }
}
      
    

Configurando o Mapeamento de Ações

Tradicionalmente, o Struts 2 utilizava o arquivo struts.xml para associar ações a URLs. Entretanto, com o uso de anotações, podemos eliminar a necessidade deste arquivo.

Adicione as seguintes anotações à classe HelloWorldAction:

      
@Namespace("/")
@Action("hello-world")
public class HelloWorldAction implements Action {

    // ...
}
      
    

Isso mapeará a ação HelloWorldAction para a URL /hello-world.

Criando a Página JSP

Crie uma página JSP no diretório src/main/webapp/WEB-INF/jsp, nomeada hello-world.jsp:

      
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
    <body>
        <h1>Hello World!</h1>
    </body>
</html>
      
    

Testando a Aplicação

Para verificar o funcionamento, implante o arquivo WAR em seu servidor web e acesse a URL /hello-world. A página deverá exibir a mensagem “Hello World!”.

Benefícios do Uso de Anotações

A adoção de anotações em substituição ao arquivo struts.xml oferece as seguintes vantagens:

Manutenção Simplificada: As anotações são mais claras e concisas que o XML, facilitando a leitura e manutenção do código.
Complexidade Reduzida: A eliminação do arquivo struts.xml remove uma possível fonte de complexidade e erros de configuração.
Integração com IDEs: A maioria dos ambientes de desenvolvimento (IDEs) oferecem suporte a anotações, agilizando o trabalho dos desenvolvedores.

Conclusão

Neste artigo, demonstramos a criação de um aplicativo Hello World básico utilizando o Struts 2, empregando anotações e dispensando o arquivo struts.xml. O uso de anotações simplifica a configuração e manutenção do aplicativo, tornando-se uma opção interessante para o desenvolvimento de aplicações web.

Perguntas Frequentes

1. Por que usar o Struts 2 em detrimento de outros frameworks web Java?
– O Struts 2 oferece um conjunto abrangente de recursos para o desenvolvimento de aplicações web, incluindo suporte para ações, interceptores e composição de resultados.

2. Quais as vantagens de usar anotações em vez do arquivo struts.xml?
– As anotações são mais claras, concisas e fáceis de manter, reduzindo a complexidade e os erros de configuração.

3. É possível utilizar anotações e o arquivo struts.xml simultaneamente?
– Sim, é possível, mas não é recomendado. Misturar anotações e XML pode causar conflitos e confusão.

4. Como realizar a depuração de aplicações Struts 2?
– O console do navegador é um bom ponto de partida para a depuração. Além disso, você pode usar o sistema de logging do Struts 2 ou ferramentas de depuração Java padrão.

5. Quais são alguns recursos avançados do Struts 2?
– Interceptores para o tratamento de requisições e respostas, suporte a múltiplos idiomas e internacionalização, e integração com outros frameworks, como Spring e Hibernate.

6. Onde posso obter mais informações sobre o Struts 2?
Site oficial do Struts 2
Documentação do Struts 2
Fórum do Struts 2

7. O Struts 2 ainda é relevante em 2023?
– Sim, o Struts 2 continua relevante e utilizado em muitas aplicações empresariais. No entanto, novos frameworks, como o Spring MVC e JAX-RS, podem ser mais adequados para novos projetos.

8. O Struts 2 será substituído?
– Atualmente, não há planos para substituir o Struts 2. Ele permanece um framework estável e confiável para aplicações web Java legadas.