Erro ao acessar Servlet

7 respostas
J

Pessoal,

O que estou usando:
- TomCat 4.1;
- Java2;
- Eclipse;
- Windows XP Home.

Estou recebendo a seguinte mensagem de erro quando tento acessar uma página java, através de uma página html:

type Status report

message Servlet Empresa is currently unavailable

description The requested service (Servlet Empresa is currently unavailable) is not currently available.

O ruim é que essa não é a primeira aplicação que faço.

Se alguém puder me ajudar, agradeço.

{{ HTML }} 
<form action='..\Empresa' method='post'>
{{ WEB.XML }} 
<web-app> 
   <!--***UA 03 Declaracao de servlet e mapeamento--> 
   <servlet> 
      <servlet-name> 
         Empresa 
      </servlet-name> 
      <servlet-class> 
         cliente.Empresa 
      </servlet-class> 
   </servlet> 
    
   <servlet-mapping> 
      <servlet-name> 
         Empresa 
      </servlet-name> 
      <url-pattern> 
         /Empresa 
      </url-pattern> 
   </servlet-mapping> 
</web-app>
{{ java }} 
package cliente; 

import java.io.IOException; 
import java.io.PrintWriter; 
import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 


/** 
 * @author JCVelasco 
 */ 

public class Empresa extends HttpServlet 
{ 
   public String   nome; 
   public int      cnpjCpf; 
   public int      iEstIdent; 
   public String   tipoCliente; 
   public String   eMail; 
   public String   url; 
   public String   tipoCadastro; 
   public String   status; 
   public String   enderecoComercial; 
   public String   enderecoEntrega; 
   public String   telefoneComercial; 
   public String   telefoneFax; 

   public void doPost( HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException 
   { 
      String numero    = request.getParameter( "nomeEmpresa" ); 

         response.setContentType( "text/html" ); 
         PrintWriter out = response.getWriter(); 

         out.println("<html>"); 
         out.println("<head>"); 
         out.println("<title>WEB Project * Projeto WEB (JAVA) << CADASTRO >>"); 
         out.println("</title>"); 
         out.println("</head>"); 
         out.println("<h1>"); 
         out.println("<b>Cadastro de Empresas"); 
         out.println("</b>"); 
         out.println("</h1>"); 
//         out.println("<h2>" + numero ); 
         out.println("<br>"); 
         out.println("<br>\r\n\r\n"); 
         out.println("<a href=\"./html/empresa.html\">Cadastrar Empresa"); 
         out.println("</a> "); 
         out.println("<p>\r\n\r\n"); 
         out.println("</body>\r\n"); 
         out.println("</html>"); 
   } 

   public Empresa( String empresa ,String enderecoCom ,String enderecoEnt , 
         int cnpj ,int iest ,String email ,String site ,String telefone , 
         String fax ,String tipocli ,String tipcad ,String situacao ) 
   { 
      setNome(empresa); 
}

7 Respostas

M

tente definir sua action assim: action="/Empresa"

J

Matheus,

Primeiramente, quero agadecer a sua resposta e te informar que, infelizmente, minha estrutura de diretórios não permite que seja assim. Veja:

C:\WEBProject

C:\WEBProject\html

empresa.html (esse html que mencionei)

C:\WEBProject\jsp

C:\WEBProject\WEB-INF

web.xml

C:\WEBProject\WEB-INF\classes\Cliente

Empresa.class (o java que mencionei)

Obrigado,

José Márcio

M

“jmarcio_velasco”:
Matheus,

Primeiramente, quero agadecer a sua resposta e te informar que, infelizmente, minha estrutura de diretórios não permite que seja assim.

pq não? se a url pattern do teu servlet esta em /, pq não chamar de /? tu tentou?

J

Matheus,

Tentei, sim ! acontece que o diretório que o html está (C:\WEBProject\html\ ) é diferente do diretório do java (C:\WEBProject\WEB-INF\classes\Cliente) ocasionando a mensagem “The page cannot be found”), pois ele vai procurar em “http://jmarciofv:8081/Empresa”, sendo o correto “http://jmarciofv:8081/WEBProject/Empresa”. E quando ele procura nesta url mencionada ele apresenta a mensagem de erro “Servlet Empresa is currently unavailable”.

Como disse antes, não estou entendendo o que não está correto, uma vez que um outro projeto que fiz anteriormente (no curso) está funcionando.

Obrigado,

José Márcio

M

No action do form tenta o seguinte:

action="<%=request.getContextPath()%>/Empresa"

J

Matheus,

Me desculpe, mas eu sou muito burro ou estúpido (quem sabe os dois ?). É que eu coloquei outros métodos estranhos a um Servlet na mesma classe. Já tirei e já funcionou.

Obrigado pela sua ajuda e pela sua atenção. Se precisar de mim para alguma coisa é só gritar.

Um abraço,

José Márcio

M

preciso de uma BMW Z3 heahehaehuae :lol:

Criado 31 de maio de 2005
Ultima resposta 1 de jun. de 2005
Respostas 7
Participantes 3