Problema com Servlet

8 respostas
C

Pessoal, boa noite!!!

Não consigo rodar meu Servlet de jeito nenhum.

Criei a seguinte classe no diretorio FirstServlet/src/

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class exemploServlet extends HttpServlet { 

    public void doGet(HttpServletRequest request, HttpServletResponse response) 
    					throws ServletException, IOException{
    	//definição do content type da resposta
        response.setContentType("text/html");

        //instanciando o Writer e enviando a resposta
        PrintWriter out = response.getWriter();
	    out.println("<HTML>");
        out.println("<HEAD><TITLE> Teste de servlet </TITLE></HEAD>");
        out.println("<BODY>Exemplo de um servlet que gera conteúdo HTML</BODY>");
        out.println("</HTML>");
        out.close();
    }
}

Criei também o seguinte web.xml dentro de FirstServlet/WEB-INF/

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>

	<servlet>
	   	<servlet-name>servlet</servlet-name>
	   	<servlet-class>exemplo.exemploServlet</servlet-class>
		<load-on-startup>0</load-on-startup>
	</servlet>
		
	<servlet-mapping>
		<servlet-name>servlet</servlet-name>
		<url-pattern>/exemplo.exemploServlet</url-pattern>
	</servlet-mapping>
	
</web-app>

E chamei da seguinte forma no browser:

http://localhost:8080/FirstServlet/exemploServlet

Está dando o erro: The requested resource (Servlet servlet is not available) is not available.

Porque este erro, o que estou fazendo de errado?

OBS: Fiz este projetinho usando Eclipse.

Grato

Cristiano

8 Respostas

E

opa beleza?

bom sei que a pergunta vai ser um pouco redundante
mas, apenas para confirmar…

o seu projeto está no diretorio \webapps
dentro do seu diretorio do tomcat ?

:roll:

tu chegou a usar algum tutorial como base de apoio
enquanto você fez o servlet? :razz:

PJ - Tutorial de Servlets - Introdutório
GUJ - Introdução ao Tomcat e Servlets

:wink:

C

Opa!

Meu projeto está dentro de D:\Cristiano\JAVA\Projetos\workspace.

Tenho que colocar ele dentro de \webapps?

O Eclipse quando você cria um novo projeto(Tomcat Project) ele não já configura automaticamente os caminhos certos?

Grato!

Cristiano

E

bom a princípio era para o eclipse atualizar
o contexto do tomcat para executar a sua aplicação…

mas se isso sempre funciona, isso não posso afirmar :razz:

tu usa algum plugin para o tomcat? tu verificou as configurações dele
no eclipse?

você pode testar a tua aplicação diretamente no webapp
colocando ela lá para testar e confirmar se realmente está funcionando…
se funcionar então deve ser algum problema de configuração,
ou alguma outra possibilidade que fez com que sua app não
executa-se diretamente pelo eclipse

:roll:

C

Help me!!!

Vou colocar tudo que eu fiz para configurar o Tomcat no Eclipse:

Primeiro instalei o Eclipse no seguinte diretório C:\.

Depois eu instalei o Tomcat(apache-tomcat-5.5.17.exe) no diretório C:\Arquivos de programas.

Depois instalei os plugins do Tomcat(aquele que aparece os 3 gatos no Eclipse) dentro da pasta plugins do Eclipse.

Em seguida rodei o Eclipse. Configurei o Tomcat:
Windown/Preferences. E em Tomcat configurei:
- Tomcat version: Version 5.x
- Tomcat Home: C:\Arquivos de programas\Apache Software Foundation\Tomcat 5.5
- Contest declaretion mode: Server.xml
- Configuration file: C:\Arquivos de programas\Apache Software Foundation\Tomcat 5.5\conf\server.xml

Criei um novo projeto da seguinte forma:
File/New/Project/Tomcat Project. O nome do projeto que eu coloquei foi TesteServlet.

Criei uma pasta dentro de TesteServlet/
- src. Dentro desta pasta eu coloquei minha classe HelloServlet.java. Eis a classe:

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws IOException, ServletException {
        
        // vamos definir o tipo de conteudo 
        // que será devolvido pelo response
        response.setContentType("text/html");

        // pegamos o PrintWriter do response, através 
        // do qual escreveremos o conteudo da pagina
        PrintWriter out = response.getWriter();

        // Agora vamos escrever o conteudo da pagina
        out.println("<HTML>");
        out.println("<BODY>");
        out.println("<H1>Hello World!</h1>");
        out.println("</body>");
        out.println("</html>");
    }
}

E dentro de TesteServlet/WEB-INF eu criei web.xml com o seguinte conteúdo:

<<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">

web-app>

	<servlet>
	   	<servlet-name>Servlet</servlet-name>
	   	<servlet-class>HelloServlet</servlet-class>
	</servlet>
	
	<servlet-mapping>
		<servlet-name>Servlet</servlet-name>
		<url-pattern>/HelloServlet</url-pattern>
	</servlet-mapping>
	
</web-app>

Pronto!!!
Aí eu startei o Tomcat e testei o servodor: http://localhost:8080/
Funcionou perfeitamente.

Em seguida eu tentei rodar o servlet criado anteriormente:

http://localhost:8080/TesteServlet/Servlet/HelloServlet.

Aí não rodou. :sad: Deu o seguinte erro:

HTTP Status 404 - /TesteServlet/Servlet/HelloServlet

--------------------------------------------------------------------------------

type Status report

message /TesteServlet/servlet/HelloServlet

description The requested resource (/TesteServlet/servlet/HelloServlet) is not available.


--------------------------------------------------------------------------------

Apache Tomcat/5.5.17

Isso foi todos os passos que u fiz para tentar rodar o servlet.

O que eu esqueci ou não soube fazer para executar o servlet?

Alguém pode me ajudar?

Grato!

Cristiano

M

Cristiano,

Vejo que você ainda é novato e tudo mais, bem é como eu digo para quem está começando a trabalhar comigo, e principalmente aqueles que sabem muito pouco de programação, use uma ferramenta apenas depois de conhecer os mecanismos… sugiro usar o velho e desprovido editor de texto padrão e o velhor e medonho prompt. Com estes tutoriais indicados aí você irá começar bem e fazendo na mão irá entender como funciona os servlets.

:okok:

C

Ok!!! :wink:

Mas alguém pode me dizer onde está o erro nos procedimentos que eu fiz?

Obrigado!

Cristiano

S

Olá …

eu sei que minha pergunta pode soar meio tosca … mas nessas horas apelamos para tudo, né?!?
Entra no TomCat manager e verifica as listas de aplicações que estão no TomCat … sua aplicação /FirstServlet apareceu??
Senão você cria um war e dá um deploy nele !!

Abraços,

C

Ok, Spirulita!!!

Quando eu chegar em casa à noite eu verifico esta questão.

Muito obrigado…

Cristiano

Criado 28 de maio de 2006
Ultima resposta 30 de mai. de 2006
Respostas 8
Participantes 4