Inicio de servlets em tomcat

7 respostas
W

Amigos Java !
tenho instalado o Tomcat. veio a confirmação de que esta instalado corretamente, mas não tô conseguindo rodar um servlets nele !
vai minha configurações !
webppas
|-teste (neste diretorio coloquei o arquivo testando.html)
|-WEB-INF (neste coloquei web.xml)
|-classe (neste coloquei testando.class)

Mas qdo vou no browser e digito http://localhost/teste/testando.html vem meu arquivo html corretamente, mas qdo dou um pesso para este acionar o meu testando.clas não acontece nada ! Onde estou errando, estou utilizando a porta 80 ! seque os arquivos ! ============== testando.html=====
<!-arquivo = testando.html->
<HTML>
     <HEAD>
	<TITLE>
	    Servlet http get example
	</TITLE>
     </HEAD>
     <BODY>
	<FORM
	   ACTION="http://localhost:80/teste/testando"
	   METHOD="GET">
	   <P>CLICK COM O BOTÃO DO MOUSE PARA CHAMAR O SERVLET</P>
	   <INPUT TYPE="submit" VALUE="Chama Servlet"">
	</form>
      </BODY>
</HTML>
============= testando.class=======
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class testando extends HttpServlet{
	public void doGet(HttpServletRequest request, HttpServletResponse response)
		throws ServletException, IOException
		{
			PrintWriter output;
			response.setContentType("text/html");
			output = response.getWriter();
			StringBuffer buf = new StringBuffer();
			buf.append("<HTML><HEAD><TITLE>
");
			buf.append("Um simples servlet de resposta
");
			buf.append("</TITLE></HEAD><BODY>
");
			buf.append("<H1> BEN VINDO AO SERVLET !</H1>
");
			buf.append("<BODY></HTML>");
			output.println(buf.toString());
			output.close();
		}
}

7 Respostas

Bani

Normalmente a URL correta para chamar o servlet seria localhost:80/teste/servlet/testando

Mas verifique como está a parte de mapeamentos no deployment descriptor.

W

ja tentei !
http://localhost/teste/servlet/testando
http://localhost/teste/testando
meu arquivo server.xml(tomcat)
esta configurado da seguinte forma :

<Context path="/examples" docBase=“examples” debug=“0”
reloadable=“true” crossContext=“true”>
========= mudei para=========
<Context path="/teste" docBase=“webapps/teste” debug=“0”
reloadable=“true” crossContext=“true”>

e continua dando o mesmo resultado ! pq?

O que quer dizer mapeamentos no deployment descriptor.
sou novato !
Wilhanss!

Bani

Dê uma olhada neste tópico:
http://guj.com.br/forum/viewtopic.php?t=1134

A segunda mensagem provavelmente irá resolver seu problema.
Sobre mapeamento eu quis dizer a tag <servlet-mapping>

marciolx

“Bani”:
Normalmente a URL correta para chamar o servlet seria localhost:80/teste/servlet/testando

Mas verifique como está a parte de mapeamentos no deployment descriptor.

o default não é 8080?

danieldestro

Tente colocar os diretórios WEB-INF e classes dentro da pasta ‘teste’.

F Ó I - fui!!!

W

Amigos !
Infelizmente ainda não conseguir rodar meu servlets (tão esperado),
não quero passar minha responsabilidade a ninguem, mas já fussei de todo jeito nele e nada ainda !
se alguem tiver mais alguma dica agradeço !
A/C: Bani - fui no link q vc me passou e não deu certo ! mas agradeço.
http://guj.com.br/forum/viewtopic.php?t=1134

  1. Eu consigo encher arquivo html na minha pasta teste, mas não rodo os servlets…?

2)qual a configuração ideal para o meu web.xml na pasta WEB-INF ?

3)qual a mudança no arquivo server.xml?

4)quando vou no browser e digito http://localhost/teste/servlet/testando
para q serve este servlet entre o teste e testando

Valeu pessoal !
Mas não vou desistir, vou “rodar” esses servles !!!
Wilhans !

Bani

O servlet é justamente porque no arquivo de configuração deve estar com as seguintes linhas descomentadas

<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>

E aí ele sabe que se a pessoa digitar uma URL que seja /servlet/ alguma coisa é para ele chamar o servlet.

Criado 28 de agosto de 2003
Ultima resposta 29 de ago. de 2003
Respostas 7
Participantes 4