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
Erro de compilação
17 Respostas
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
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
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

