Problema com Servlet

Pessoal, boa noite!!!

Não consigo rodar meu Servlet de jeito nenhum.

Criei a seguinte classe no diretorio FirstServlet/src/

[code]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();
}

}[/code]

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

[code]<?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>

&lt;servlet&gt;
   	&lt;servlet-name&gt;servlet&lt;/servlet-name&gt;
   	&lt;servlet-class&gt;exemplo.exemploServlet&lt;/servlet-class&gt;
	&lt;load-on-startup&gt;0&lt;/load-on-startup&gt;
&lt;/servlet&gt;
	
&lt;servlet-mapping&gt;
	&lt;servlet-name&gt;servlet&lt;/servlet-name&gt;
	&lt;url-pattern&gt;/exemplo.exemploServlet&lt;/url-pattern&gt;
&lt;/servlet-mapping&gt;

</web-app>[/code]

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

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:

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

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:

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:

[code]import java.io.;
import javax.servlet.
;
import javax.servlet.http.*;

public class HelloServlet extends HttpServlet {

public void doGet&#40;HttpServletRequest request, HttpServletResponse response&#41;
throws IOException, ServletException &#123;
    
    // vamos definir o tipo de conteudo 
    // que será devolvido pelo response
    response.setContentType&#40;&quot;text/html&quot;&#41;;

    // pegamos o PrintWriter do response, através 
    // do qual escreveremos o conteudo da pagina
    PrintWriter out = response.getWriter&#40;&#41;;

    // Agora vamos escrever o conteudo da pagina
    out.println&#40;&quot;&lt;HTML&gt;&quot;&#41;;
    out.println&#40;&quot;&lt;BODY&gt;&quot;&#41;;
    out.println&#40;&quot;&lt;H1&gt;Hello World!&lt;/h1&gt;&quot;&#41;;
    out.println&#40;&quot;&lt;/body&gt;&quot;&#41;;
    out.println&#40;&quot;&lt;/html&gt;&quot;&#41;;
&#125;

}[/code]

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

[code]<<?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>

&lt;servlet&gt;
   	&lt;servlet-name&gt;Servlet&lt;/servlet-name&gt;
   	&lt;servlet-class&gt;HelloServlet&lt;/servlet-class&gt;
&lt;/servlet&gt;

&lt;servlet-mapping&gt;
	&lt;servlet-name&gt;Servlet&lt;/servlet-name&gt;
	&lt;url-pattern&gt;/HelloServlet&lt;/url-pattern&gt;
&lt;/servlet-mapping&gt;

</web-app>[/code]

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:

[code]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[/code]

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

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:

Ok!!! :wink:

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

Obrigado!

Cristiano

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,

Ok, Spirulita!!!

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

Muito obrigado…

Cristiano