Sejam bem vindos, esta e a decima sexta aula de Programacao Web em Java.Na ultima aula comecamos a construir o sistema de busca. Configuramos o Hibernate para uso com o Netbeans. Esta primeira aplicacao e para verem tudo funcionando junto. Depois irei destrinchar com detalhes cada parte do processo.Decima Sexta Aula: Sistema de busca ultima parte: Jsp e StrutsCamada ModelHoje vamos terminar o sistema comecando com a camada Model. A camada Model representa as entidades logicas que precisamos para construir nossa aplicacao. Para o funcionamento correto teremos a classe Sites, representando os sites armazenados no sistema, (isso ja esta pronto) e teremos tambem a classe MaquinaDeBusca.A classe MaquinaDeBusca fara o trabalho pesado permitindo buscar uma lista de Sites de acordo com a palavra chave. Na verdade a classe de teste da ultima aula tem tudo que precisamos: A funcao List buscaSites(String keyword) realiza a busca dos itens com palavra chave igual ao parametro e devolve uma lista com os objetos que atendem a busca.Camada ViewA segunda camada que iremos trabalhar e a camada View. Vamos comecar criando uma pagina JSP que apresenta um formulario para o preenchimento do usuario. Escolha File/New File no menu do Netbeans. Na janela New File selecione categoria Web tipo de arquivo JSP e clique em Next. Chame a pagina de busca e clique em Finish.Para o formulario faremos algo bem simples:<%@page contentType="text/html" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Sistema de Busca</title></head><body> <form action="buscar.do"> <input name="buscar"/> <input type="submit" value="Buscar"/> </form></body></html>Veja que o formulario chama a acao buscar.do. O que sera esta acao definiremos pelo framework Struts. Ja vamos chegar la. Vamos tambem criar um pagina chamada resultado.jsp que permitira ver a lista de Sites encontrados. Para funcionar vamos supor que temos uma variavel de requisicao com o resultado da busca:<%@page contentType="text/html" pageEncoding="UTF-8"%><%@taglib uri="http://struts.apache.org/tags-html" prefix="html"%><%@taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%><%@taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Sistema de Busca</title></head><body> <form action="buscar.do"> <input name="buscar"/> <input type="submit" value="Buscar"/> </form> <logic:empty name="sites" > <h5>Nenhum Item Encontrado</h5> </logic:empty> <logic:notEmpty name="sites"> <table border='1'> <tr> <th>Nome</th> <th>Descricao</th> <th>Url</th> <th>Palavras Chave</th> </tr> <logic:iterate name="sites" id="site"> <tr> <td>${site.nome}</td> <td>${site.descricao}</td> <td>${site.url}</td> <td>${site.keyword}</td> </tr> </logic:iterate> </table> </logic:notEmpty></body></html>Os tags logic:empty e logic:iterate sao bastante auto explicativos. Sao parte da biblioteca de componentes do Struts. Veja as linhas apos o @page.Camada ControlAgora so falta juntar todas as pecas. Quem faz isso e a camada Control. E esta camada e implementada pelo framework Struts. Nos temos apenas que definir o que acontecera em cada acao possivel do usuario.A unica acao deste sistema que o usuario podera executar e clicar em buscar no formulario de busca. Entao vamos gerar um Acao Struts para tratar este evento.Escolha novamente File/New File no menu do Netbeans e na janela New File escolha categoria Struts, tipo de arquivo Struts Actions. Clique em Next e digite o nome do Action como buscarAction, o package como sbusca e o action Path para /buscar. Clique em Next e desligue a opcao Use ActionForm Bean. Clique em Finish.Modifique a funcao Execute para determinar o que acontecera ao clicar o botao Buscar:public ActionForward