Servlets e xml

Estou iniciando em servlets e estou tendo uma dificuldade para iniciar minha aplicação, criei a class de servlets e a compilei e criei o arquivo xml pra permitir que o servidor tomcat rode a minha aplicação, mas toda hora da erro e não consigo execultar meu “ola mundo”, se alguem poder verificar meus códigos e indicar o erro eu agradeço.

package servlets;
  import java.io.*;
  import java.servlet;
  import java.servlet.http.*;
  
  public class Hello extends HttpServet
  {
    public void doGet(HttpServletRequest requisicao,
	   HttpServletResponse resposta)
	       throws ServletException, IOException
		   {
		   PrintWriter out;
		   resposta.setContentType("text/html");
		   out = resposta.getWriter();
		   
		   out.println(" <html>");
		   out.println(" <head>");
		   out.println(" <title>JSP - Alo mundo!</html>");
		   out.println(" </head>");
		   out.println(" <body>");
		   out.println(" <h2>Primeira página em servlet.</h2>");
		   out.println(" </body>");
		   out.println(" </html>");
		   }
		   }
 <?xml version="1.0" encoding="ISO-8859-1"?>
   
   <web-app>
   <servlet>
     <servlet-name>PrimeiroServelet</servlet-name>
	 <servlet-class>servlets.Hello</servlet-name>
   </servlet>
   
   <servlet-mapping>
     <servlet-name>PrimeiroServelet</servlet-name>
	 <url-pattern>/hello</url-pattern>
   </servlet-mapping>
   
   </web-app>

Agradeço des de já quem poder me ajudar.

A princípio seu código está correto, qual é exatamente o erro que acontece ?

Oi goodboop, coloque ou explique o erro que ocorre, fica mais fácil de obter ajuda.

Abraço.

Certeza que a classe extendia é HttpServet e não HttpServlet?

você escreveu

  public class Hello extends HttpServet 

ao invés de extender HttpServet tente extender HttpServlet

no htlm quando você abre o <title> logo depois da escrita você ao invés de fechar o title você fecha o htlm “</html>” com isso a escrita não aparece na página, ao invés de fechar html feche o o title </title> e feche o htm por último

ao invés disso

 out.println(" &lt;title&gt;JSP - Alo mundo!&lt;/html&gt;"); 

faça isso

 out.println(" &lt;title&gt;JSP - Alo mundo!&lt;/title&gt;"); 

reveja essa alterações e vê se funciona

Corrigi os trechos de código que vc indicou mas o erro persite, estou achando que fiz a extrutura de diretorios de forma errada.

minha estrutura ficol assim,

webapps/serv2/servlets
webapps/serv2/WEB-INF/classes

dentro de WEB-INF coloquei o arquivo web.xml e o arquivo Hello.class ficou
na pasta classes.
Mas na hora de chamar o arquivo no navegador digito “localhost:8080/serv2/WEB-INF/classe/Hello.class” tbm já coloquei “ocalhost:8080/serv2/classe/Hello.class”
sem o WEV-INF pra testa
mas da o segunte erro:

" HTTP Status 404 -

type Status report

message

description The requested resource () is not available.
Apache Tomcat/6.0.35 "

O problema é a sua requisição.

Você cria o mapeamento da servlet exatamente para ter um acesso mais amigável para a mesma.
Tente chamar pelo nome que você configurou em /hello

localhost:8080/serv2/hello

É deve ser a requisição mesmo tente fazer o que o nosso amigo crisaltmann disse.

Você deve está tendo um pouco de dificuldade para entender o funcionamento dos mapeamentos e estrutura das pastas, e o xml é justamente para ensinar para o container o que o navegador pode acessar por exemplo para acessar sua sevlet tente

http://localhost:8080/“aqui você digita o nome do seu projeto”/hello

no seu caso acho que ficaria http://localhost:8080/serv2/hello

vou tentar explicar por partes

http://localhost:8080/” aqui é endereço onde o container está instalado no caso o tomcat onde localhost é um endereço recursivo que aponta para a própia máquinae :8080 é porta por onde ele responde as requisições

“serv2” nome do seu DynamicWebProject

“hello” nome configurado no xml

vê se funciona qualquer dúvidas estaremos por aqui

vlw gente pela esplicação, agora peguei essa logica de diretorios melhos, acho que o problema esta nisso pos continua dando esta menssagem toda vez:
" HTTP Status 404 -

type Status report

message

description The requested resource () is not available. "

vou tentando aki, quando conseguir eu aviso vcs.

Quando eu coloco o caminho completo para o arquivo servlets ele encontra o arquivo e meda a opção de salvar o arquivo com o gerenciador de dawnloads, mas penssei que ele deveria abrir pelo navegador.

Obs: Eu não usei o apelido dado no arquivo xml eu chamei ele pelo nome da classe mesmo.

[quote=goodboop]Quando eu coloco o caminho completo para o arquivo servlets ele encontra o arquivo e meda a opção de salvar o arquivo com o gerenciador de dawnloads, mas penssei que ele deveria abrir pelo navegador.

Obs: Eu não usei o apelido dado no arquivo xml eu chamei ele pelo nome da classe mesmo.[/quote]

Se você mapeou seu servlet, logicamente tem que usar o nome informado no mapeamento, senão nem tem porque mapear, não?

:roll:

Tenta acessar assim: http://localhost:8080/“aqui o nome do seu projeto(igualzinho, sem CaseSensitive)”/“aqui o nome que você deu no mapeamento”

Assim não vai ter erro!

:wink:

[quote=goodboop]Quando eu coloco o caminho completo para o arquivo servlets ele encontra o arquivo e meda a opção de salvar o arquivo com o gerenciador de dawnloads, mas penssei que ele deveria abrir pelo navegador.

Obs: Eu não usei o apelido dado no arquivo xml eu chamei ele pelo nome da classe mesmo.[/quote]

Se você mapeou seu servlet, logicamente tem que usar o nome informado no mapeamento, senão nem tem porque mapear, não?

:roll:

Tenta acessar assim: http://localhost:8080/“aqui o nome do seu projeto(igualzinho, sem CaseSensitive)”/“aqui o nome que você deu no mapeamento”

Assim não vai ter erro!

:wink: