Sejam bem vindos, esta é a décima sétima aula de Programação Web em Java, para saber mais sobre o curso, começe em Curso de Programação Web em Java - CPWJ
Depois que vimos uma aplicação funcionando, vamos agora detalhar cada parte do processo. Nosso estudo de caso será o sistema de busca, porém iremos incrementá-lo significativamente.
Esta aula está sendo postada com atraso, devido a problemas que tive para publicar o código java no Wordpress. Depois de várias tentativas, decidi colocar os arquivos *.java e os *.xml em um diretório do servidor para que você possam baixar.
Comecemos estudando a camada Model, ou modelo: O objetivo desta camada é definir as entidades envolvidas e as regras de negócio do programa. Em orientação a objeto, não nos preocupamos inicialmente com a interface do programa, mas sim de um modelo de representação das entidades que fazem parte do projeto. Uma abordagem pedagógica para atacar o problema é escrever de início um lista de requisitos do sistema, discutindo o que ele precisará ter:
Esta será a lista de requisitos que usaremos no nosso exemplo. Para construir o modelo devemos olhar esta lista e identificar as entidades necessárias. Uma abordagem é olhar os substantivos. Estes serão entidades candidatas:
usuário, palavra chave, lista de sites, site, lista de palavras chaves, administrador, sistema de busca, cadastro Esta é uma lista preliminar, já eliminando repetições. O passo seguinte é separar o que é atributo, do que é classe, ficando somente as classes:
Depois disso iremos definir quais atributos são importantes para estas classes funcionarem de acordo com os requisitos.
Implementamos então as classes de modo que sejam manipuláveis pelo Hibernate. Este framework é responsável pela persistência, isso é, pelo armazenamento dos objetos criados na memória, para o banco de dados relacional. As regras para que as classes sejam manipuláveis pelo Hibernate são os seguintes:
No nosso exemplo teremos uma nova classe Usuario:
Observe no código que criei uma propriedade “sites” com um HashSet. Esta propriedade irá auxiliar durante a manutenção dos sites que um usuário possui.
private Set sites = new HashSet();
E criamos o arquivo Usuario.hbm.xml na pasta sbusca. Este arquivo indica ao Hibernate o funcionamento da persistência da classe Usuário criada:
Além disso devemos incluir ao arquivo hibernate.cfg.xml:
<mapping resource=”sbusca/Usuario.hbm.xml”> </mapping>
Após todas estas codificações teremos duas entidades: Usuário e Sites. Além delas vamos definir uma classe chamada MotorBusca, que fará a lógica mais importante do sistema, isto é, a busca em si. Não é nada complicado e seria possível fazer o código diretamente nos Actions do Struts, mas vamos abusar um pouco de orientação a objeto. Olhando este exemplo simples quem sabe em um trabalho mais complexo você não se intimide. A classe deverá ter: MotorBusca:
E o código da classe ficará:
Já definimos nesta aula um modelo quase completo para o nosso sistema. Deixei para depois somente o Cadastro de Sites, pois para implementá-lo será necessário falarmos de um CRUD, também conhecida como tela de Cadastro. Iremos ter uma aula somente sobre isso, quando voltaremos para tornar completo o modelo.
Para que você possa verificar se a busca está funcionando, criei uma classe simples de teste:
Por hoje é só.
Dúvidas? vá para o fórum.
Tecnoclasta ©2007-2025.Arquivos
| Índice | Arquivo |
| Contato |
Deixe um Comentário