Ajuda iniciando em JSP e SERVLET

4 respostas
J

Galera to aprendendo JSP e SERVLET, sendo que estou tendo algumas dificuldades e gostaria de pedir a ajuda de vcs.

Minha estrutura está assim:
|build
| |classes
| | |servlet
| | | |HelloWorld.class
|src
| |servlet
| | |HelloWorld.java
|web
| |META-INF
| | |MANIFEST.MF
| |WEB-INF
| | |lib
| | |web.xml
| |index.jsp

Os códigos estão descritos abaixo:

HelloWorld.java
package servlet;

import java.awt.print.Printable;
import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class HelloWorld extends HttpServlet {
	public void doGet(HttpServletRequest request, HttpServletResponse response)throws IOException, ServletException{
		response.setContentType("txt/html");
		PrintWriter out = response.getWriter();
		out.println("<html>");
		out.println("<body>");
		out.println("<h1>Hello World!!!!</h1>");
		out.println("</body>");
		out.println("</html>");
	}
}
web.xml
<?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>  
 	<display-name>Olá Mundo em Servlet!</display-name>  
   	<description></description>  
    
   	<servlet>  
   		<servlet-name>HelloWorld</servlet-name>  
   		<servlet-class>HelloWorld</servlet-class>  
   	</servlet>  
    
   	<servlet-mapping>  
	   <servlet-name>HelloWorld</servlet-name> 
	   <url-pattern>HelloWorld</url-pattern> 
   	</servlet-mapping>  
</web-app>

Quando chamo o servlet pela url (http://localhost:8080/TestWeb/HelloWorld) da erro, que está abaixo:
HTTP Status 404 - /TestWeb/HelloWorld.acotel

type Status report

message /TestWeb/HelloWorld.acotel

description The requested resource (/TestWeb/HelloWorld.acotel) is not available.
Apache Tomcat/5.5.23

Desde já agradeço a ajuda.

4 Respostas

M

altere o mapping para:

<servlet-mapping>  
      <servlet-name>HelloWorld</servlet-name> 
      <url-pattern>/*.do</url-pattern> 
     </servlet-mapping>

e no navegador tente:

http://localhost:8080/TestWeb/HelloWorld.do

Agora deve funcionar. Se vc alterar a extensão .do para outra extensão , não esqueça de alterar tb no endereço digitado no navegador.

J

Valeu cara vou tentar e te falo a resposta.
Vou aproveitar a oportunidade para perguntar como se configura o tomcat, porque tem vezes q funciona e tem vezes que não consigo colocar para rodar legal.

Sempre quando crio um projeto eu vou na pasta tomcat_home\conf\Catalina\localhost
e crio um arquivo .xml com o nome do projeto e coloco o seguinte código:

<?xml version="1.0" encoding="iso-8859-1"?>

<Context path="/nomeProjeto" docBase="dir_projeto/web"
 reloadable="true" crossContext="true" debug="3">
	<Logger className="org.apache.catalina.logger.FileLogger"
	 prefix="localhost_dev_log." suffix=".txt" timestamp="true"
	 verbosity="4" />
</Context>

Todo este procedimento esta certo para fazer rodar o projeto no Tomcat?
E só consigo rodar o projeto através do manager do tomcat, por que isso acontece?

M

Para nao precisar criar esse arquivo xml,vc pode criar um arquivo *.war ou colocar a aplicação direto no diretorio webapps do tomcat.Lembre-se que para colocar a aplicação no webapps ela deve conter a seguinte estrutura de diretorios:

minhaaplicacao
             |
             |__WEB-INF
                      |
                      |__web.xml
                      |
                      |__classes
J

Cara tentei criar desta maneira como vc falou e não consegui.
O estranho que ontem, do modo como falei anteriormente estava funcionando e agora parou de funcionar. O tomcat é 5.5 e tá rodando normalmente, saberia o que pode tá dando errado?

Criado 26 de abril de 2007
Ultima resposta 26 de abr. de 2007
Respostas 4
Participantes 2