Ajuda SERVLET

Estou tentando fazer o exercício (10.31) da apostila FJ-21 da Caelum, a primeira parte é mais visual é simples(É o primeiro código), a segunda parte ele teria que adicionar o contato, mas ao invés disso ele da esse erro:

type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: java.sql.SQLException: Access denied for user ‘root’@‘localhost’ (using password: NO)
br.com.caelum.servlet.AdicionaContatoServlet.service(AdicionaContatoServlet.java:34)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

root cause

java.sql.SQLException: Access denied for user ‘root’@‘localhost’ (using password: NO)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.13 logs.


<html>
<body>
Digite seus dados e pressione o botao:

	&lt;form action="testa-adiciona" method="POST"&gt;
		Nome:		&lt;input type="text" name="nome" /&gt;<br/>
		E-mail:			&lt;input type="text" name="email" /&gt;<br/>
		Endereco:	&lt;input type="text" name="endereco" /&gt;<br/>
		
		&lt;input type="submit" value="Enviar" /&gt;
	&lt;/form&gt;
&lt;/body&gt;

</html>

public class AdicionaContatoServlet extends HttpServlet {
protected void service(HttpServletRequest resquest,
HttpServletResponse response) throws ServletException, IOException {

	Contato contato = new Contato();

	String nome = resquest.getParameter("nome");
	String endereco = resquest.getParameter("endereco");
	String email = resquest.getParameter("email");

	contato.setNome(nome);
	contato.setEndereco(endereco);
	contato.setEmail(email);

	try {
		ContatoDAO dao = new ContatoDAO();
		dao.adiciona(contato);
	} catch (SQLException e) {
		throw new ServletException(e);
	}

	PrintWriter writer = response.getWriter();
	writer.println("&lt;html&gt;");
	writer.println("Contato Adicionado!");
	writer.println("&lt;/html&gt;");
}

}

cara acredito que o problema seu seja de acesso ao banco de dados, verifique ip, user e senha…