Boa Tarde Galera!
Bom, to começando agora a mexer com Servlets, achei um tutorial e fiz o exemplo q eles deram…criei uma classe chamada HelloServlet. Ai iniciei o Tomcat, criei uma pasta chamada HelloServeltApp e dentro dela criei uma pasta chamada WEB-INF onde coloquei o arquivo web.xml e outra pasta chamada classes, onde coloquei meu arquivo .class.
Abri o browser e digitei: http://localhost:8080/HelloServletApp/HelloServlet
Porém, deu-se o seguinte erro:
HTTP Status 404 - /HelloServletApp/HelloServlet
type Status report
message /HelloServletApp/HelloServlet
description The requested resource (/HelloServletApp/HelloServlet) is not available.
Apache Tomcat/4.1.30
ALGUÉM PODERIA ME AJUDAR, POR FAVOR!!!
ANTECIPO MEUS AGRADECIMENTOS!
<!-- Define um padrão de url através do qual a HelloServlet será acessada. No caso qualquer url
do tipo “http://localhost:8080/HelloServletApp/QualquerCoisa.teste” faz com que a nossa
HelloServlet seja chamada–>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
*.teste
</servlet-mapping>
Sim, minhas pastas estão dentro do diretorio webapps do tomcat. O caminho esta correto:
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>pacote.HelloServlet</servlet-class>
</servlet>
esta tudo certo…mas to com uma dúvida, eu compilei o arquivo HelloServlet.java em outra máq. dps só passei o arq. .class p minha máquina…isso interfere em alguma coisa?
Segue o código do meu HelloServlet.java:
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 conteúdo
// que sera desenvolvido pelo response
response.setContentType(“text/html”);
PrintWriter out=response.getWriter();
//Agora vamos escrever o conteúdo da pagina
out.println("<HTML>");
out.println("<BODY>");
out.println("<H1>Hello World! </H1>");
out.println("</BODY>");
out.println("</HTML>");
}
Pelo que percebi seu classe não está dentro de nenhum pacote. Experimente colocar a sua classe dentro de um pacote, por exemplo:
package teste;
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 conteúdo
// que sera desenvolvido pelo response
response.setContentType("text/html");
PrintWriter out=response.getWriter();
//Agora vamos escrever o conteúdo da pagina
out.println("<HTML>");
out.println("");
out.println("<H1>Hello World! </H1>");
out.println("");
out.println("</HTML>");
}
}
Ai vc declara sua Servlet no arquivo web.xml desta maneira:
Elizabeth, você precisa alterar o arquivo server.xml que fica na pasta Apache Tomcatconf
Acrescente a linha <Context path="/HelloServletApp" docBase=“HelloServletApp” debug=“0” privileged=“true”/> neste arquivo perto das outras deste tipo.