TOMCAT X JAVA (Não consigo executar programa em servlet)

2 respostas
W

Estou com dificuldades pra rodar executar esse programa:


import <a href="http://java.io">java.io</a>.<em>;

import javax.servlet.</em>;

import javax.servlet.http.*;

public class AloMundoServ extends HttpServlet

{

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws IOException, ServletException

{

String alo = Al&ocirc; Mundo!”;

PrintWriter out = response.getWriter();
out.println("&lt;html&gt;");
    out.println("&lt;body&gt;&lt;h1&gt;" + alo + "&lt;/h1&gt;&lt;/body&gt;");
    out.println("&lt;/html&gt;");
} // doGet

} // class AloMundoServ

Ele apresenta essa mensagem:

“java.lang.NoSuchMethodError: main”

Eu sei que falta o método main, mas como faço pra compilá-lo usando tomcat? Pois ele é um servlet…

As variáveis do sistema estão assim:

CATALINA_HOME=C:\Tomcat 4.1

CLASSPATH=C:\Tomcat 4.1\common\lib\servlet.jar;

JAVA_HOME=C:\j2sdk1.4.2_03

PATH=C:\j2sdk1.4.2_03\bin;

Sendo que o caminho para as pastas está correto.
Outros programas que tem o main rodam legal…

Me ajudem por favor!!! :sad:

2 Respostas

D

Olá WillianRCS,

Está ocorrendo este problema porque você está tentando rodar o servlet usando java AloMundoServ, não é?

Pois então, após compilado o servlet, ele precisa ser colocado no tomcat, e acessado via browser.

Faça o seguinte procedimento:

  • Dentro de WebApps, crie uma pasta chamada servlet
  • Dentro da pasta servlet, crie uma pasta chamada WEB-INF (toda aplicação web precisa de uma pasta assim)
  • Dentro da WEB-INF, crie uma pasta chamada classes, e dentro dela coloque a sua classe AloMundoServ

Mas, só falta uma coisa: definir o arquivo web.xml, que fica dentro da WEB-INF. Toda aplicação web precisa de um web.xml. Segue abaixo o conteúdo do arquivo, necessário para rodar este servlet:

&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;
&lt;web-app xmlns="http&#58;//java.sun.com/xml/ns/j2ee"
    xmlns&#58;xsi="http&#58;//www.w3.org/2001/XMLSchema-instance"
    xsi&#58;schemaLocation="http&#58;//java.sun.com/xml/ns/j2ee
        http&#58;//java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version="2.4"&gt;

    &lt;servlet&gt;
      &lt;servlet-name&gt;Servlet&lt;/servlet-name&gt;
      &lt;servlet-class&gt;AloMundoServ&lt;/servlet-class&gt;
    &lt;/servlet&gt;
    
    &lt;servlet-mapping&gt;
      &lt;servlet-name&gt;Servlet&lt;/servlet-name&gt;
      &lt;url-pattern&gt;/&lt;/url-pattern&gt;
    &lt;/servlet-mapping&gt;
&lt;/web-app&gt;

Depois, basta rodar o tomcat e chamar: http://localhost:8080/servlet

Aqui em casa funcionou, e eu estou usando o tomcat 5.5.9. Talvez, pelo fato de seu tomcat ser mais antigo, o web.xml pode ter alguns pequenos detalhes diferentes.

Um abraço, espero ter ajudado

W

Obrigado pelas dicas!!!

Ainda vou testá-las, pois eu não sabia que tinha ainda que criar essas pasta. Você poderia me passar os links pra eu baixar o Java e o TomCat atualizados?

Fico muito agradecido!!!

Criado 30 de abril de 2005
Ultima resposta 2 de mai. de 2005
Respostas 2
Participantes 2