Variavel de Conexão na Servlet

Em Qual parte da minha Servlet essa linha chamando a conexao
Connection con = ConnectionFactory.getConnection();

Coloquei dentro do public void init() throws ServletException{
super.init();
try {

Mais quando eu chamo ela dento do :
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

com a linha ContatoDAO dao = new ContatoDAO(con);

Ele não acha a variavel “con

Se você declarar con como uma variável local ao método, outros métodos não terão acesso a ela.

CUIDADO, pois Servlets não são thread-safe. Você não pode compartilhar um recurso como a conexão com o BD num Servlet.

Entendi coloquei a conexao no DAO

ficou assim minha servlet:

try {

		ContatoDAO dao = new ContatoDAO();
		dao.adiciona(contato);
		
	
		 
		// escreve o writer
		 writer.println("<html>");
		 writer.println("Gravado!");
		 writer.println("</html>");

Mais não insere nada no banco, nem da erro, nem imprimi nada na tela

só aparece :type Status report

message /treinamento/AdicionaContato

description The requested resource (/treinamento/AdicionaContato) is not available.