Aplicação não fuciona com Tomcat

8 respostas
rmello

Olá pessoal,

Estou começando com JEE e fiz uma aplicação simples, o famoso Ola Mundo no eclipse.

Ele funcionava mas resolvi instalar o Netbaens para uns testes e depois re removi o Netbaens o programinha parou de funcionar.

Inicialmente verifique e descobri que o Netbeans tinha adionado um fitro no web.xml que fica no projeto servers do tomcat.

removi o filtro mas quando tento executar a aplicação aparece o seguinte erro:

[b]HTTP Status 404 - /olaMundoJee/


type Status report

message /olaMundoJee/

description The requested resource (/olaMundoJee/) is not available.


Apache Tomcat/7.0.26

Não sei mais onde pode estar o erro segue os fontes:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>olaMundoJee</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  
    <servlet>
     <servlet-name>olamundo</servlet-name>
     <servlet-class>br.com.rmello.teste.OlaMundo</servlet-class>
   </servlet>
  
 
   <servlet-mapping>
     <servlet-name>olamundo</servlet-name>
     <url-pattern>/olaMundo</url-pattern>
   </servlet-mapping>
  
  
</web-app>
package br.com.rmello.teste;

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;

public class OlaMundo extends HttpServlet {
	 @Override
	    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
	        response.setContentType("text/html");
	        // Obtencao do canal para envio de dados para o cliente
	        PrintWriter out = response.getWriter();
	        out.println("<html>");
	        out.println("<head><title>Ola Mundo Servlet</title></head>");
	        out.println("<body>");
	        out.println("Ola Mundo - requisicao recebida via GET");
	        out.println("<br/>Data atual: " + new java.util.Date());
	        out.println("</body>");
	        out.println("</html>");
	        // Vai imprimir na console tomcat
	        System.out.println("Catalogo Produtos: requisicao via GET");
	    }

	    @Override
	    public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
	        response.setContentType("text/html");
	        // Obtencao do canal de comunicacao de envio de dados para o cliente
	        PrintWriter out = response.getWriter();
	        out.println("<html>");
	        out.println("<head><title>Ola Mundo Servlet</title></head>");
	        out.println("<body>");
	        out.println("Ola Mundo - requisicao recebida via POST");
	        out.println("<br/>Data atual: " + new java.util.Date());
	        out.println("</body>");
	        out.println("</html>");
	        // Vai imprimir na console do tomcat
	        System.out.println("Catalogo Produtos: requisicao via POST");
	    }	

}
<html>
    <head>
        <title>Ola Mundo - Academia do Java</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    </head>

    <body>
        Neste primeiro laboratorio iremos fazer requisicoes para um servlet OlaMundo<br />
        <form method ="get" action="olaMundo">
            <input type="submit" value="Acessar Servlet" />
        </form>
    </body>
</html>

Obrigado.

8 Respostas

Hebert_Coelho

Tente chamar por http://localhost:8080/OlaMundo/olaMundo

O primeiro OlaMundo é o nome do seu projeto e o segundo o servlet q vc criou.

B

Tente ver o context do seu projecto no tomcat.

Right click no seu projecto -> Properties
no menu a esquerda clique em tomcat

depois, do lado direito adicione o context /olaMundoJee
Nota: Nao escolha a opcao server do context.

Tente isso. Qualquer duvida posta ai.

Valeu!

rmello

Foi na propriedade do projeto, mas não tenho a opção Tomcat para verificar o context.

Veja a tela abaixo.


B

Cara, vc nao tem o tomcat configurado no eclipse.

Faça o seguinte:

  1. Window -> Preferences
  2. Server (do lado direito como na imagem) -> Runtime Environments, e adiciona o tomcat (basta escolher a versao do seu tomcat).
  3. Ainda na mesma janela, selecione o tomcat na lista da mesma tela e clique em editar. Ai voce indica o path da pasta onde esta o tomcat e pronto.

Depois adicione o tomcat ao seu projecto (post anterior) and Fly.


rmello

Oi amigo,

eu tenho o Tomcat configurado no Eclipse, veja imagem abaixo.

Eu não localizei foi item tomcat nos passos que voce passou anteriormente (Click boão direito no projeto -> Properties e no me a esquerda em tomcat).

Será que fiz algo errado para acessar esse item tomcat do projeto para verificar o context?


rmello

Meu amigo consegui descobrir o problema…

e para variar como todo iniciante era uma besteira, coloquei meu index.htm na raiz do projeto não na pasta WebContent.

Feito isso todo funcionou.

Valeu pela força!

Abs.

B

OK. Eh errando que se aprende. Don’t worry.

Acredito que eu tenho esse opção do tomcat porque coloquei o plugin do tomcat para o eclipse na pasta lib do eclipse.

Como pude ver, vc já tem o tomcat no eclipse.

Valeu!

rmello

Eu que agradeço.

Valeu!

Criado 5 de julho de 2012
Ultima resposta 10 de jul. de 2012
Respostas 8
Participantes 3