Erro Servlet + CSS + include

3 respostas
berg.pb

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;

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

3) 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.

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

5) Abaixo os códigos da pesquisa:

//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{}
    }
}

6) O código do servlet Menu

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("");
    
   }    
}

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

8) 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"

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

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

Obrigado

Berg
Cajazeiras-Paraíba

3 Respostas

TangZero

Olá,

essa é fácil… :lol:

public class Menu {

Menu deve extender de HttpServlet.

public Menu extends HttpServlet {

Abraços! :smiley:

berg.pb

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

Valeu
Deus abençoe

TangZero

Nem encana… :stuck_out_tongue:

Criado 21 de maio de 2008
Ultima resposta 22 de mai. de 2008
Respostas 3
Participantes 2