aplicação simples não roda - Servlet

Olá Pessoal, tenho que recorrer aos especialistas…

o tomcat está rodando um servlet bem simples, quando eu executo pelo “Run As” no eclipse ele funciona normalmente, só que quando fecho o eclipse, importo pro tomcat (fora do eclipse, formato WAR), e executo uma página html (que irá chamar o servlet), ele aparece o erro “HTTP Status 500”.

html


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Login e Senha</title>
</head>
<body>
<form action = "TrabComPost" method="post">
<h2>Escolha uma música: </h2>
<p>
<input type="checkbox" name="musica" value = "ROCK"/>ROCK<br />
<input type="checkbox" name="musica" value = "POP" /> POP<br />
<input type="checkbox" name="musica" value = "DANCE" /> DANCE<br />
<input type="checkbox" name="musica" value = "MPB" />MPB <br />
<input type="checkbox" name="musica" value = "SERTANEJO" />Sertanejo <br />
</p>
<input type="submit" name="btEnviar" value = "Enviar" /> <br />
</form>
</body>
</html>

servlet

package meupacote;

import java.io.IOException;
import java.io.PrintWriter;

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


 public class TrabComPost extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
   static final long serialVersionUID = 1L;
   

	public void destroy() {
		super.destroy();
	}   	
 	
	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		String[] e = request.getParameterValues("musica");
		
		String html = "<html><head>" +
		"<title> musicas sendo puxadas pelo getparameter</title>" +
		"</head>" +
		"<body>" +
		"<h2> MUSICAS ESCOLHIDAS </h2>";
		
		for(int i=0; i < e.length; i++){
			html += "<strong>" + e[i] + "</strong> <br />" ;
		}
		
		html += "</body></html>";
		
		response.setContentType("text/html");
		PrintWriter writer = response.getWriter();
		writer.print(html);
		writer.close();
	}   	  	  
	
	public void init() throws ServletException {
		super.init();
	}   
}

web.xml

 <?xml version="1.0" encoding="UTF-8" ?> 
- <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <display-name>PrimeiroProjetoUsandoEclipse</display-name> 
- <servlet>
  <description /> 
  <display-name>Meu primeiro Servlet</display-name> 
  <servlet-name>TrabComPost</servlet-name> 
  <servlet-class>meupacote.TrabComPost</servlet-class> 
  </servlet>
- <servlet-mapping>
  <servlet-name>TrabComPost</servlet-name> 
  <url-pattern>/TrabComPost</url-pattern> 
  </servlet-mapping>
- <welcome-file-list>
  <welcome-file>index.html</welcome-file> 
  <welcome-file>index.htm</welcome-file> 
  <welcome-file>index.jsp</welcome-file> 
  <welcome-file>default.html</welcome-file> 
  <welcome-file>default.htm</welcome-file> 
  <welcome-file>default.jsp</welcome-file> 
  </welcome-file-list>
  </web-app>

POR QUE SERÁ QUE NÂO ESTÀ RODANDO???
AGUARDO VCS, OBRIGADO

No console do Tomcat geralmente aparece o erro que gera o erro http 500.
Dá uma olhada lá e posta o erro para gente ver.

Erro que aparece

A versão do compilador do java no eclipse é superior ao que roda o tomcat?
por exemplo o eclipse usar 1.5 e o tomcat roda no 1.4.

cara recriei sua aplicação aqui e ela está rodando normalmente, o problema provavelmente está quando vc está gerando o arquivo war eu nao gerei o war usei o myeclipse para gerar o deploy dentro do webapps do tomcat e rodou tudo normal, tens que da uma olhada que tua aplicação ta correta o problema é no gerar o war dela.

[quote=furutani]A versão do compilador do java no eclipse é superior ao que roda o tomcat?
por exemplo o eclipse usar 1.5 e o tomcat roda no 1.4.[/quote]

furutani como faço pra saber qual a versão do compilador, só que a versão o eclipse é Version: 3.3.2

Marcos eu gerei o war pelo eclipse, clicando no “Export” - > “WAR File”.

tem como vc fazer um passo a passo pra dizer como vc criou o WAR?
O que é o “myeclipse”??

Obrigado

EXISTE A NECESSIDADE DE EU CRIAR UM CONTEXTO???
se sim como o faço??

valeu gente

marcosharbs wrote:cara recriei sua aplicação aqui e ela está rodando normalmente, o problema provavelmente está quando vc está gerando o arquivo war eu nao gerei o war usei o myeclipse para gerar o deploy dentro do webapps do tomcat e rodou tudo normal, tens que da uma olhada que tua aplicação ta correta o problema é no gerar o war dela.

Marcos eu gerei o war pelo eclipse, clicando no “Export” - > “WAR File”.

tem como vc fazer um passo a passo pra dizer como vc criou o WAR?
O que é o “myeclipse”??

Obrigado


furutani wrote:A versão do compilador do java no eclipse é superior ao que roda o tomcat?
por exemplo o eclipse usar 1.5 e o tomcat roda no 1.4.

furutani como faço pra saber qual a versão do compilador, só que a versão o eclipse é Version: 3.3.2

myeclipse é um programa que lhe da alguma facilidades por exemplo ele gera o deploy para vc ja no diretorio webapps do tomcat então ele configura corretamente a estrutura da aplicação e os arquivos necessarios, na verdade num lembro se ja gerei war, maioria das aplicacoes eu faço o deploy para baixo do diretorio webapps, o myeclipse tb lhe dá varias outras funcionalidades, porém ele é pago é necessário de uma licença para podeer usá-lo, mas vc pode usá-lo por 30 dias de graça a versão trial.

GENTE NÂO CONSIGO—
HELP ME

cria a seguinte estrutura em baixo do diretorio webapps do tomcat:

crie uma pasta com o nome do seu projeto, dentro dessa pasta ponha sua página html e crie uma pasta chamada WEB-INF, dentro dessa pasta ponha o arquivo web.xml e crie mais duas pastas com os nomes lib e classes, dentro da pasta libs coloque todas as libs necessárias pelo seu projeto(no seu caso nao vai precisar de nenhuma) e na pasta classes coloque suas classes compiladas ja os .class (seu servlet no caso), respeitando a estrutura de packages.

ai starte o tomcat e acesse sua aplicação ex.: http://localhost:8080/NomeDoSeuProjeto(da pasta que vc criou abaixo do diretorio webapps)

abraço

Então marcos, já fiz tudo isso, ou seja eu consigo visualizar a index.html, porém no meu action quando vou chamar o servlet acontece aquele erro que eu postei no começo do fórum!!!

pelo que andei pesquisando acho que preciso criar um “contexto” dentro do “server.xml”, vc acha que pode ser isso?

Se sim! tem como vc me escrever um passo a passo, da criação desses contextos??

Vc acha q o problema deve ser o que?

abraço

abaixo vou lhe passar o arquivo ja estruturado

descompacte esse arquivo dentro da pasta webapps do tomcat ai estarte o tomcat e acesse essa url
http://localhost:8080/Servlet --> isso se vc estiver usando a porta 8080 se nao mude para a porta q vc esta usando e entao sua aplicacao estara rodando.

num tem nada a ver com o server.xml qual a versao do tomcat tais ausando? e tais compilando em qual versao do java?

versão do java: jre1.6.0_07
versao do tomcat: Apache Tomcat/5.0.25

irei testar o seu exemplo

marcos

em que lugar do fórum que eu vou pra enviar um arquivo qualquer pra vc???

MARCOSSSS

funcionou aqui!!!
o que será que deve ter sido???

vc compilou em que versão ?
me diz o passo a passo.

Abraço :smiley: :smiley: :smiley: :smiley: :smiley:

opa rodo então =D
poi se to tenho tomcat 5.5 instalado e compilei na versao 5 do java (jdk1.5), provavelmente vc estava compilando numa versao do java que o tomcat nao suportava se vc baixar a ultima versao do tomcat deve funcionar e ai criei aquela estrutura ali abaixo do diretotio webapps.

para enviar um arquivo qdo vc for criar a mensagem logo abaixo tem dois botoes (options e attachments), para anexar um arquivo ao post use o attachments.