Duvida campo data no JSP

Controller

package aprendendo.Servlet;

import java.sql.Connection;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

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

import com.sun.org.apache.xerces.internal.impl.xpath.regex.ParseException;

import DAO.ContatoDAO;
import conexao.ConnectionFactory;
import logica.Logica;
import modelo.Contato;

public class AdicionaContatoLogica implements Logica {

	@Override
	public String executa(HttpServletRequest request, HttpServletResponse response) throws Exception {

		Connection connection = ConnectionFactory.getConnection();

		String id = request.getParameter("id");
		String nome = request.getParameter("nome");
		String endereco = request.getParameter("endereco");
		String email = request.getParameter("email");
		String dataNascimento = request.getParameter("dataNascimento");
		
		Calendar calendar = Calendar.getInstance();
		try {
			Date data = new SimpleDateFormat("dd/MM/yyyy").parse(dataNascimento);
			calendar.setTime(data);
		} catch (ParseException e) {
			System.out.println("Erro ao converter Data: " + e);
			return "mvc?logica=ListaContatoLogica";
		}
		
		Contato contato = new Contato();

		contato.setId(Integer.parseInt(id));
		contato.setNome(nome);
		contato.setEndereco(endereco);
		contato.setEmail(email);
		contato.setDataNascimento(calendar);

		ContatoDAO dao = new ContatoDAO(connection);
		
		dao.atualiza(contato);
		
		return "mvc?logica=ListaContatoLogica";
	}
}

DAO

public Contato buscaPeloID(Contato contato) {
		String sql = "select * from contato where id = ?";

		if (contato.getId() == null) {
			throw new IllegalStateException("Id da tarefa não deve ser nula.");
		}
		try (PreparedStatement stmt = this.connection.prepareStatement(sql)) {
			stmt.setInt(1, contato.getId());
			ResultSet resultSet = stmt.executeQuery();
			
			while (resultSet.next()) {
				return buscaContato(resultSet);
			}
			return null;
		} catch (SQLException e) {
			throw new RuntimeException(e);
		}

	}

	private Contato buscaContato(ResultSet rs) throws SQLException {
		Contato contato = new Contato();
		contato.setId(rs.getInt("id"));
		contato.setNome(rs.getString("nome"));
		contato.setEmail(rs.getString("email"));
		contato.setEndereco(rs.getString("endereco"));
		Date date = rs.getDate("data_nascimento");
		if (date != null) {
			Calendar c = Calendar.getInstance();
			c.setTime(date);
			contato.setDataNascimento(c);
		}
		return contato;
	}

	public void atualiza(Contato contato) {

		String sql = "update contato set nome=?, email=?, endereco=?, data_nascimento = ?  where id=?";

		try (PreparedStatement stmt = connection.prepareStatement(sql)) {
			stmt.setString(1, contato.getNome());
			stmt.setString(2, contato.getEmail());
			stmt.setString(3, contato.getEndereco());
			stmt.setDate(4, contato.getDataNascimento() != null ? new Date(contato.getDataNascimento().getTimeInMillis()) : null);
			stmt.setInt(5, contato.getId());
			stmt.execute();
		} catch (SQLException e) {
			System.out.println("Erro ao atualizar o Contato: " + e);
		}

view

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib tagdir="/WEB-INF/tags" prefix="caelum"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Cadastra contato ou Atualiza</title>
</head>
<body>

	<form action="mvc?logica=AdicionaContatoLogica" method="post">
		ID<input type="text" name="id" value="${contato.id}"><br />
		Nome<input type="text" name="nome" value="${contato.nome}"><br />
		Email<input type="text" name="email" value="${contato.email}"><br />
		Endereco<input type="text" name="endereco" value="${contato.endereco}"><br />
		Data<input type="text" name="data" value="<fmt:formatDate value="${contato.dataNascimento.time}" pattern="dd/MM/yyyy" />">
		<input type="submit" value="Enviar">

	</form>
</body>
</html>

https://www.caelum.com.br/apostila-java-web/usando-taglibs/#7-14-formatacao-de-datas

obrigado pela ajuda, estou acompanhando essa apostila.