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();
}
}
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
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.
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.
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??
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.
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.