Erro Servlet + CSS + include

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:

  1. O projeto é para uma Biblioteca Fictícia;

  2. 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;

  3. O código carrega um arquivo CSS e um JavaScript com as configurações que serão utilizadas. TUDO ESTA FUNCIONANDO.

  4. 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.

  5. 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.

  6. 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]

  1. 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]

  1. O Código da PesquisaSimples, acho desnecessário colocar, mas segue a mesma idéia do Menu.

  2. 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"

  1. Gostaria de idéias, idéias, idéias… Se alguém puder ajudar, agradeço;.

  2. Ah! Desculpe o tamanho do post. Qualquer dúvida, é só chamar.

Obrigado

Berg
Cajazeiras-Paraíba

Olá,

essa é fácil… :lol:

public class Menu {

Menu deve extender de HttpServlet.

public Menu extends HttpServlet {

Abraços! :smiley:

Pô, Cara, Valeu mesmo.
Coisa besta…
Fazer o q né… sou principiante mesmo, eu sei.

Valeu
Deus abençoe

Nem encana… :stuck_out_tongue: