Opa gente.
Esta é a minha primeira postagem no fórum, mas não há um dia que eu não dê uma olhada por aqui.
Sou iniciante em Java e estou estudando agora Servlets e JSP na faculdade.
Estou precisando de uma ajuda para resolver um problema.
Indo por partes:
-
O projeto é para uma Biblioteca Fictícia;
-
Fiz primeiramente o meu projeto escrevendo tudo o que cada servlets iria mostrar dentro de cada servlet, o que deixou cada uma delas com uma escrita de código imensa;
-
O código carrega um arquivo CSS e um JavaScript com as configurações que serão utilizadas. TUDO ESTA FUNCIONANDO.
-
Prém, para enxugar o código e fazer reuso das classes e servlets, utilizei o Include para dividir as responsabilidades entre os servlets, facilitando a manutenção.
-
Porém, qdo tento utilizar a página, o include não me devolve o que deveria, deixando o espaço reservado para ele vazio.
-
Abaixo os códigos da pesquisa:
[code]//Classe de Pesquisa: a 1ª que é chamada;
import java.io.;
import javax.servlet.;
import javax.servlet.http.;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.;
public class Pesquisa extends HttpServlet{
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try{
//CÓDIGO HTML
//html 1: definir o tipo de resposta
response.setContentType("text/html");
//html 2: definir a variável que adicionara a resposta o codigo html
PrintWriter saida = response.getWriter();
//html 3: imprimir cabeçalho, importando o codigo CSS e o codigo JavaScript
saida.println("<html><head><title>Pesquisa de Livros</title>");
saida.println("");
saida.println("<style type=\"text/css\">");
saida.println("@import url(\"default/config.css\");");
saida.println("</style>");
saida.println("");
saida.println("<script language=\"javascript\" src=\"default/codeJava.js\">");
saida.println("</script>");
saida.println("</head>");
saida.println("");
//html 4: corpo da página
saida.println("<body>");
//html 5: topo da página
saida.println("<div id=\"topo\"><img src=\"images/topo.jpg\" alt=\"topoPagina\" width=\"999\" height=\"192\"/></div>");
//html 6: menu
//encapsula o reqest.dispatcher para enviar o include.
RequestDispatcher dispatcherMenu = request.getRequestDispatcher("Menu");
//envia a responsabilidade de criar o menu para a servlet 'Menu', enviando o request e o response como parâmetro
dispatcherMenu.include(request, response);
//o mesmo que o anterior, porém, enviando para o servlet 'PesquisaSimples'
RequestDispatcher dispatcherPesquisa = request.getRequestDispatcher("PesquisaSimples");
dispatcherPesquisa.include(request, response);
//fim do html
saida.println("</div></body></html>");
}
catch(Exception excecao){
excecao.printStackTrace();
}
finally{}
}
}[/code]
- O código do servlet Menu
[code]import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Menu {
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter saida = response.getWriter();
saida.println("<style type=\"text/css\">");
saida.println("@import url(\"default/config.css\");");
saida.println("</style>");
saida.println("<div id=\"menu\">");
saida.println("<table width=\"129\" border=\"0\" bgcolor=\"#767676\">");
saida.println("<tr><td class=\"style13\"> <div align=\"left\">MENU PRINCIPAL</td></tr>");
saida.println("<tr><td class=\"menuOff\" onmouseover=\"className='menuOn'\" onmouseout=\"className='menuOff'\"><a href=\"index.htm\" target=\"_top\">Pesquisar</a></td></tr>");
saida.println("<tr><td class=\"menuOff\" onmouseover=\"className='menuOn'\" onmouseout=\"className='menuOff'\"><a href=\"login.htm\" target=\"_top\">Login</a></td></tr>");
saida.println("</table></div>");
saida.println("");
}
}[/code]
-
O Código da PesquisaSimples, acho desnecessário colocar, mas segue a mesma idéia do Menu.
-
Um erro interessante acontece: qdo acesso a página e ela me retorna o vazio, somente com o Topo da Página, que é estático, e tento refazer a consulta, me retorna o seguinte erro:
"HTTP Status 503 - Servlet Menu is currently unavailable
type Status report
message Servlet Menu is currently unavailable
description The requested service (Servlet Menu is currently unavailable) is not currently available.
Apache Tomcat/6.0.16"
-
Gostaria de idéias, idéias, idéias… Se alguém puder ajudar, agradeço;.
-
Ah! Desculpe o tamanho do post. Qualquer dúvida, é só chamar.
Obrigado
Berg
Cajazeiras-Paraíba