[RESOLVIDO] Erro 404 (not found) no Servlet

3 respostas
rock-skull

Olá.

Seguinte, eu tô seguindo a apostila fj21 da caelum.Eu baixei o tomcat 7 e instalei e também o celipse helios para JavaEE. Configurei o tomcat direitinho dentro do Eclipse.

Criei um novo projeto Dynamic Web Project.

criei um index.html no diretório WebContent.

criei o seguinte servelt: com.agenda.OiMundo.Java

package com.agenda;

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 OiMundo extends HttpServlet {
	@Override
	protected void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		PrintWriter out = response.getWriter();
		
		// escreve o texto
		out.println("<html>");
		out.println("<body>");
		out.println("Oi mundo!");
		out.println("</body>");
		out.println("</html>");
	}
}

E o web.xml está da seguinte forma:

<?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>agenda</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>
		<display-name>OiMundo</display-name>
		<servlet-name>OiMundo</servlet-name>
		<servlet-class>com.agenda.OiMundo</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>OiMundo</servlet-name>
		<url-pattern>/oi</url-pattern>
	</servlet-mapping>
</web-app>

Meu diretório:

Se eu acessar http://localhost:8080/agenda, eu consigo visualizar a página index.html

Mas acessando, o http://localhost:8080/agenda/oi eu pego esse erro.

Tentei algumas coisas propostas em outros posts, mas não consegui fazer nada.

Se alguém puder ajudar, meu agradecimentos.

UPDATE!!

Eu não sei exatamento como ou porque. Mas eu criei um novo servlet, do mesmo jeito mesmos arquivos, mesmo xml, tudo. E dessa vez funcionou!

3 Respostas

furutani

Verifica se no console do tomcat não aparece nenhuma mensagem de erro. Por algum motivo a aplicação não subiu.

rock-skull

Eu lhei isso. Ele não dá nenhum erro, no máximo um warning.

Fiz um teste que tinham postado no outro post também, de dar aluns println no servlet, mas não ‘printa’ nada.

rock-skull

Atualizando:

Resposta do Console quando inicio o Tomcat 7 no Eclipse:

Apr 15, 2011 11:45:51 AM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-6-sun-1.6.0.24/jre/lib/i386/server:/usr/lib/jvm/java-6-sun-1.6.0.24/jre/lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.24/jre/../lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.24/jre/lib/i386/client:/usr/lib/jvm/java-6-sun-1.6.0.24/jre/lib/i386::/usr/java/packages/lib/i386:/lib:/usr/lib
Apr 15, 2011 11:45:52 AM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:agenda' did not find a matching property.
Apr 15, 2011 11:45:52 AM org.apache.coyote.AbstractProtocolHandler init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Apr 15, 2011 11:45:52 AM org.apache.coyote.AbstractProtocolHandler init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Apr 15, 2011 11:45:52 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1864 ms
Apr 15, 2011 11:45:52 AM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Apr 15, 2011 11:45:52 AM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.12
Apr 15, 2011 11:45:55 AM org.apache.catalina.util.SessionIdGenerator createSecureRandom
INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [2,711] milliseconds.
Apr 15, 2011 11:45:55 AM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor manager.xml from /usr/local/apache-tomcat-7.0.12/conf/Catalina/localhost
Apr 15, 2011 11:45:55 AM org.apache.catalina.startup.HostConfig deployDescriptor
WARNING: A docBase /usr/local/apache-tomcat-7.0.12/webapps/manager inside the host appBase has been specified, and will be ignored
Apr 15, 2011 11:45:56 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory examples
Apr 15, 2011 11:45:56 AM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
Apr 15, 2011 11:45:56 AM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()
Apr 15, 2011 11:45:56 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory host-manager
Apr 15, 2011 11:45:56 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory docs
Apr 15, 2011 11:45:56 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory ROOT
Apr 15, 2011 11:45:56 AM org.apache.coyote.AbstractProtocolHandler start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Apr 15, 2011 11:45:56 AM org.apache.coyote.AbstractProtocolHandler start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Apr 15, 2011 11:45:56 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 4437 ms
Criado 14 de abril de 2011
Ultima resposta 15 de abr. de 2011
Respostas 3
Participantes 2