Estou iniciando em J2EE, pos gostaria de sabe porque quando eu compilo pelo prompt minha servlet, ela da erro como se não tive-se encontrando o pacote da servlet.jar
Não é uma boa idéia utilizar o prompt de comando para compilar aplicações web. Elas sempre vão depender de bibliotecas de terceiros e seu comando de compilação ficará muito grande. Utilize uma IDE como o Eclipse
Acredito que vc tenha em sua máquina apenas o jse instalado para que a sua aplicação funcione vc terá que adicionar no path da sua aplicação o pacote javax.servlet mas para evitar esse tipo que coisa aconselho vc a usar alguma ide para criar seus projetos jee eu uso o eclipse 3.1 com o jboss ide que é um plugin que vem com tudo que vc precisa para construir uma aplicação web
http://docs.jboss.com/jbosside/install/build/en/html/installation.html
Bravox
O eclipse eu ja utilizo mas como to tentando roda minha serlet no tomcat e ele me aponta essa mensagem de erro status 500. Gostaria de verifica sabe se minha variavel de amibiente ta configurada certo ou se este erro ta aparecendo por outro motivo.
Como está o seu arquivo web.xml ?
Bravox
Bravox a minha servlet coloquei dentro desse diretorio: C:\tomcat-5\webapps\teste10\WEB-INF\classes
e o meu arquivo web.xml deixei ele assim:
<?xml version="1.0" encoding="ISO-8859-1" ?>
Exemplo10
classes.Exemplo10
<servlet-mapping>
<servlet-name>Exemplo10</servlet-name>
<url-pattern>/Exemplo10</url-pattern>
</servlet-mapping>
Sera que o erro esta na sua configuração?
Sua classe está dentro de um pacote chamado classes?
classes.Exemplo10
se sua classe se chama Exemplo10 ai vc tem que arrumar o web.xml
Exemplo10
Bravox
Classes não é um pacote, simplesmente é o local onde os códigos java compilados são armazenados.
O nome que deve estar na tag <servlet-class> é o nome completo da classe.
Se sua classe não possui pacote (default package), o que não é aconselhável, você deve fazer como o Bravox , falou, caso contrário deverá colocar com o pacote, assim:
<servlet-class>pacote.exemplo.Exemplo10</servlet-class>
Só uma duvida :
Fazendo com vc sitou no diretório classe terei que ter a mesma estrutura de diretório do pacote ?
exemplo:
classes/pacote/exemplo/Exemplo10
Bravox
Exatamente! Afinal, quando criamos pacotes é isso que acontece.
Hummmmmmm !!! ai sim !!
Bravox
Estive testando das duas maneiras, mas ficou mais claro deixando a classe sem o pacote (default package).
Aquele erro parece q foi corrigido, agora surgiu um novo erro.
Coloca o codigo ai do seu Servlet !!
Bravox
Bravox é essa o codigo.
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 Exemplo10 extends HttpServlet {
private void enviarFormulario(HttpServletResponse resp, boolean mensagemErro) throws ServletException, IOException{
resp.setContentType("text/html");
PrintWriter out = resp.getWriter();
out.println("<HTML>");
out.println("<HEAD>");
out.println("<TTLE>Login</TITLE>");
out.println("</HEAD>");
out.println("<BODY>");
if(mensagemErro)
out.println("Login falhou, tente novamente.<BR>");
out.println("<BR>");
out.println("<BR> Digite seu nome de usuario e senha.");
out.println("<BR> <Form Method = Post>");
out.println("<BR> Usuario: <Input Type=Submit Name=usuario>");
out.println("<BR> <Input Type=Submit Value=Submit>");
out.println("</FORM>");
out.println("<BODY>");
out.println("</HTML>");
}
public void doGET(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
enviarFormulario (resp, false);
}
public void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException{
String usuario = req.getParameter("usuario");
String senha = req.getParameter("senha");
if(usuario != null && senha != null && usuario.equals("demian") && senha.equals("123456")){
resp.sendRedirect("Boas Vindas"); }
else
enviarFormulario(resp, true);
}
}
Bravox muito obrigado deu certo. Realmente o erro tava na hora que tava criando minha classe. Eu tava criando ela dentro de um pacote mas sem declara ela com a palavra package e carrengando para o tomcat. E isso era a causa do erro.
Cara peguei o seu codigo compilei fiz a alteração no web.xml e criei os diretórios no tomcat rodou na boa pega o arquivo ai e coloca no tomcat e usa a seguinte url
Beleza então !!!
Bravox