Duvida sobre formatação de datas em um arquivo jsp

Galera, boa tarde

Sou iniciante em java e estou fazendo um exercicio referente a jsp e em um ponto deste exercício pede para que eu formate a data, pois a mesma aparece em uma forma complicada de se ler quando eu acesso minha página…
abaixo segue minha pagina com a parte que eu estou tentando formatar a minha data, porém quando eu executo desta forma da o erro "java.text.ParseException: Unparseable date: “dataNascimento”.

<%@page import=“java.text.SimpleDateFormat”%>
<%@ page language=“java” contentType=“text/html; charset=ISO-8859-1”
pageEncoding=“ISO-8859-1”%>

<%@ page import=“java.util.,br.com.caelum.dao.,br.com.caelum.modelo.,java.lang.” %>

<% ContatoDAO dao = new ContatoDAO(); List contatos = dao.getLista();
    for (Contato contato : contatos) {
%>
	<tr>
		
		<td><%=contato.getNome()%></td>
		<td><%=contato.getEmail()%></td>
		<td><%=contato.getEndereco()%></td>
		<td><%=contato.getDataNascimento()%>
		<%
		String dataEmTexto = request.getParameter("dataNascimento");
		Date data = new SimpleDateFormat("dd/MM/yyyy").parse("dataNascimento");
			
		%>
		
		</td>
	<tr>
<%
    }
%>		
CONTATOS

Desde já agradeço a ajuda.

Está errado nessa parte

[quote]String dataEmTexto = request.getParameter(“dataNascimento”);
Date data = new SimpleDateFormat(“dd/MM/yyyy”).parse(“dataNascimento”); [/quote]
não é .parse(“dataNascimento”); e sim .parse(dataEmTexto);

Fiz a alteração porém agora está acontecendo um NullPointerException…

GRAVE: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at java.text.SimpleDateFormat.parse(SimpleDateFormat.java:1235)
at java.text.DateFormat.parse(DateFormat.java:335)
at org.apache.jsp.lista_002dcontatos_002dscriptlet_jsp._jspService(lista_002dcontatos_002dscriptlet_jsp.java:94)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)

Grato pela ajuda

tem como você mostrar o código do seu servlet

djunigari, blz?
segue o meu servlet

package br.com.caelum.agenda.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

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

import br.com.caelum.dao.ContatoDAO;
import br.com.caelum.modelo.Contato;

/**

  • Servlet implementation class AdicionaContatoServlet
    */
    public class AdicionaContatoServlet extends HttpServlet {

    /**

    • @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
      */
      @Override
      protected void service(final HttpServletRequest request, final HttpServletResponse response) throws ServletException,
      IOException {
      // TODO Auto-generated method stub
      final PrintWriter out = response.getWriter();

    final String nome = request.getParameter(“nome”);
    final String endereco = request.getParameter(“endereco”);
    final String email = request.getParameter(“email”);
    final String dataEmTexto = request.getParameter(“dataNascimento”);
    Calendar dataNascimento = null;

    try {
    final Date date = new SimpleDateFormat(“dd/MM/yyyy”).parse(dataEmTexto);
    dataNascimento = Calendar.getInstance();
    dataNascimento.setTime(date);

    } catch (final java.text.ParseException e) {
    // TODO: handle exception
    out.println(“Erro de conversão de data”);
    return;
    }

    final Contato contato = new Contato();
    contato.setNome(nome);
    contato.setEndereco(endereco);
    contato.setEmail(email);
    contato.setDataNascimento(dataNascimento);

    final ContatoDAO dao = new ContatoDAO();
    try {
    dao.adiciona(contato);
    } catch (final SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    out.println("");
    out.println("");
    out.println(“Contato " + contato.getNome() + " adicionado com sucesso”);

    }

}

pra que esses final?

No catch há um return indevido, pois seu método ele devolve void.

Sua sobrescrita ela provavelmente não irá funcionar, pois que eu lembre o método service não possui os argumentos com o final.

to seguindo os passos do exercicio…e tem esse catch nele

então juniorcapra, seu servlet tah com erros

A NullPointerException eh pq vc não esta passando nenhuma variável “dataNascimento” no request.

djunigari este erro acontece quando eu coloco esse pedaço de código

String dataEmTexto = request.getParameter(“dataNascimento”);
Date data = new SimpleDateFormat(“dd/MM/yyyy”).parse(dataEmTexto);

estou tentando formatar a data na minha jsp.

1º - Utilize o Code para formatar seu código aqui no guj e facilicar a leitura
2º - O uso de scriplets não é recomendado, evite ao máximo. Mas se para o seu exercício for necessário usar evite fazer a formatação na JSP, formate na servlet e somente exiba o valor na JSP

Bom, vamos ao erro…

A NullPointerException provavelmente ocorre pq o dataEmTexto está nulo.
Faça o teste trocando: String dataEmTexto = request.getParameter("dataNascimento");
Por: String dataEmTexto = "26/07/2012";

Em algum lugar da servlet você tem que setar o “dataNascimento” no request… onde vc está fazendo isso? não encontrei no seu código…
Deve ser algo assim:

request.setAttribute("dataNascimento", "27/07/2012"); 

[quote=djunigari]pra que esses final?

No catch há um return indevido, pois seu método ele devolve void.

Sua sobrescrita ela provavelmente não irá funcionar, pois que eu lembre o método service não possui os argumentos com o final.

[/quote]

Sobre o que eu falei nesse post sua sobrescrita vai funciona sim, dei uma olhada melhor, porém não há necessidade do final nos parâmetros.

Entendi o do pq vc colokou o return.

Sua pagina não chama a Servlet AdicionaContato e a Servlet ela não está redirecionando para a pagina que está com erro.Provavelmente você nos mandou a servlet errada

Galera, obrigado pela ajuda,realmente a NullPointerException ocorre pq o dataEmTexto estava nulo.

Vlw pessoal…