Artigo WebMobile 16 - Desenvolvendo aplicações com o Struts 2

Nessa edição exploraremos com mais detalhes as principais features da nova versão, incluindo: Ajax, Annotations, Debugging, Tunning, etc.

Esse artigo faz parte da revista WebMobile edição 16. Clique aqui para ler todos os artigos desta edição

Clique aqui para ler a revista em PDF

Desenvolvendo aplicações com o Struts 2
Conheça na prática algumas das novas funcionalidades para construir aplicações web

 

No primeiro artigo sobre o Struts 2 exploramos todos os conceitos fundamentais para que seja possível iniciar o desenvolvimento de aplicações web utilizando a nova versão do Struts. Foi apresentado também um histórico completo sobre o framework e um guia para a migração de aplicações construídas com o Struts 1.x para o Struts 2. Nessa edição exploraremos com mais detalhes as principais features da nova versão, incluindo: Ajax, Annotations, Debugging, Tunning, etc.

Para demonstrar todas as features já mencionadas, criaremos uma aplicação de exemplo que utilizará todos os conceitos chave do framework. O sistema consiste em um cadastro de ferramentas, carros, clientes e fornecedores para uma oficina. As aplicações são apenas CRUDs que serão responsáveis por criar, recuperar, atualizar e excluir informações da base de dados. A parte referente à persistência será implementada utilizando o Hibernate, um framework Java para mapeamento objeto-relacional. Utilizaremos ainda o suporte ao Hibernate e o suporte à injeção de dependências do Spring Framework. Esses dois frameworks serão utilizados simultaneamente para que seja possível demonstrar toda a flexibilidade do Struts 2 em relação à integração com os mais variados frameworks disponíveis.

Para codificar as classes e JSPs do sistema, você pode utilizar o IDE (em português, ambiente de desenvolvimento integrado) de sua preferência. O sistema de exemplo foi construído usando o Eclipse Europa, a nova versão do IDE mais famoso para desenvolvimento Java. Para o desenvolvimento web, foi utilizado o plugin WTP (Web Tools Plataform). Consulte a seção Links para obter outras informações sobre o Eclipse e seus Plugins.

Iniciando o desenvolvimento

O primeiro artigo sobre o Struts 2, publicado na edição 15 da revista WebMobile, contém mais informações sobre a instalação e configuração do Struts 2. Utilize-o para consultar tais informações. Neste artigo, partiremos do principio de que o Struts já está instalado e configurado.

A Figura 1 mostra detalhadamente como é a estrutura e como estão organizados os arquivos de configuração do projeto.

 

Figura 1. Estrutura organizacional do projeto.

 

Para iniciarmos o desenvolvimento do sistema, tomaremos como exemplo a aplicação que mantém os clientes da oficina. Criaremos essa aplicação, destacando os pontos onde podem ser introduzidas algumas das principais features do Struts 2. Ao final do desenvolvimento da aplicação, veremos dois tópicos importantes: Debugging e Tuning, para que seja possível realizar configurações de otimização da aplicação.

O primeiro passo a ser tomado é codificar a action que atuará como controller. A Listagem 1 mostra a action ClienteAction.

 

Listagem 1. Action responsável por manter os clientes

public class ClienteAction extends BaseAction {

 

private Cliente cliente;

private ClienteDAO clienteDAO;

private List<Cliente> listClientes;

private List<Cliente> listClientesSearch;

 

public String save() throws Exception {

clienteDAO.save(cliente);

addActionMessage(getText("save.success"));

return SUCCESS;

}

 

public String update() throws Exception {

clienteDAO.update(cliente);

addActionMessage(getText("update.success"));

return SUCCESS;

}

 

public String delete() throws Exception {

clienteDAO.delete(cliente);

addActionMessage(getText("delete.success"));

return SUCCESS;

}

 

public String findAll() throws Exception {

listClientes = clienteDAO.findAll(cliente, Cliente.class);

return SUCCESS;" [...] continue lendo...

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados