Adicionar Contato no Dynamic Web Project (RESOLVIDO)

Boa Noite, estou fazendo o projeto web da apostila fj21 da caelum, tive alguns problemas e consegui resolver graças ao forum, mas me deparei com 1 problema que nem consigo entender…

No projeto Java as classes de conexão, de DAO, e de testes funcionam perfeitamente, ja verifiquei no banco de dados e o contato foi adicionado com sucesso sem erro, coloquei essas classes no projeto web e la elas não funcionam da seguinte maneira…

quando executo no browser e escrevo o nome e etc e clico em gravar, ele da esse maldito erro:

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error that prevented it from fulfilling this request.

exception

java.lang.NullPointerException
br.com.wacontactcenter.jdbc.dao.ContatoDAO.adiciona(ContatoDAO.java:25)
br.com.wacontactcenter.servlet.AdicionaFuncionario.service(AdicionaFuncionario.java:33)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.36 logs.

O que eu acho muito estranho e que o xml esta configurado corretamente e as classes quando executo a classe teste que adiciona um contato na mão la dentro do eclipse funciona perfeitamente mesmo dentro do projeto web,mas pelo browser nao funciona, sera que quando vamos no projeto web tem que configurar algo diferente?

Meu xml:

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>Intranet</display-name> <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> <servlet> <servlet-name>AdicionaFuncionario</servlet-name> <servlet-class> br.com.wacontactcenter.servlet.AdicionaFuncionario </servlet-class> </servlet> <servlet-mapping> <servlet-name>AdicionaFuncionario</servlet-name> <url-pattern>/adicionaFuncionario</url-pattern> </servlet-mapping> </web-app>

Minha Classe DAO:

[code]package br.com.wacontactcenter.jdbc.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import br.com.wacontactcenter.jdbc.modelo.Contato;
import br.com.wacontactcenter.jdbc.connect.Connect;

public class ContatoDAO {

private Connection connection;  

public ContatoDAO() {  
    this.connection = new Connect().getConexao();  
}  
  
 public void adiciona(Contato contato) {  
     String sql = "insert into usuarios_intranet " +  
             "(nome,departamento)" +  
             " values (?,?)";  
   
     try {  
         // prepared statement para inserção  
         PreparedStatement stmt = connection.prepareStatement(sql);  
   
         // seta os valores  
         stmt.setString(1,contato.getNome());  
         stmt.setString(2,contato.getDepartamento());    
           
         // executa  
         stmt.execute();  
         stmt.close();  
     } catch (SQLException e) {  
         throw new RuntimeException(e);  
     }  
 }  

}[/code]

Servlet AdicionaContato:

[code]package br.com.wacontactcenter.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Calendar;

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

import br.com.wacontactcenter.jdbc.dao.ContatoDAO;
import br.com.wacontactcenter.jdbc.modelo.Contato;

public class AdicionaFuncionario extends HttpServlet {
protected void service(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
// busca o writer
PrintWriter out = response.getWriter();

    // buscando os parâmetros no request
    String nome = request.getParameter("nome");
    String departamento = request.getParameter("departamento");
    
    // monta um objeto contato
    Contato contato = new Contato();
    contato.setNome(nome);
    contato.setDepartamento(departamento);

    // salva o contato
    ContatoDAO dao = new ContatoDAO();
    dao.adiciona(contato);
    
    // imprime o nome do contato que foi adicionado
    
    out.println("<html>");
    out.println("<body>");
    out.println("Funcionario " + contato.getNome() +
            " adicionado com sucesso");
    out.println("</body>");
    out.println("</html>");
}

}[/code]

Como sou inciante em java não estou conseguindo resolver esse problema, sera que alguem poderia me ajudar?

OBS: Desculpem os erros de português !!

como que tá o seu jsp?

n tenho nenhum jsp

e como vc tá fazendo pra executar essa requisição sem um webservice ou formulario?

PROBLEMA RESOLVIDO, O PROBLEMA ERA QUE NOS PROJETOS WEB TEM QUE ADICIONAR O .JAR DENTRO DA PASTA WEBCONTENTS/WEB-INF/LIB.

EU NÃO SABIA DISSO, NÃO ME LEMBRO DA APOSTILA ENSINAR ISSO, LI A RESPOSTA NUM TOPICO QUE VI SOLTO, OBRIGADO PELA AJUDA GALERA !!

valeuu… Resolvido meu problema…

por falta de atenção nossa esse detalhe passou despercebido… realmente existe uma citação na apostila!!

Obrigado pela ajuda companheiro!