Pessoal,
Estou lendo a apostila FJ-21 da Caelum, porem esbarrei em um problema e a apostila não aprofunda no assunto.
Basicamente fiz um servlet, cujo pega uma serie de variaveis via POST (definido no arquivo HTML) e da um insert num banco mySQL.
O problema é o seguinte:
A apostila fala em um momento que o metodo service, cujo qual reescrevemos ao extender a classe HttpRequest aceita tanto POST quanto GET.
Dai a apostila fala que para se obrigar a usar um, ou outro, devemos implementar o metodo doGet, ou doPost, porem o eclipse apresenta uma seriei de errors ao adicionar o metodo e não compila.
Segue o código:
[code]package br.com.caelum.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.ParseException;
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.jdbc.dao.CadastraContatoDAO;
import br.com.caelum.modelo.Contato;
public class CadastroContato extends HttpServlet{
void doPost(HttpServletRequest req, HttpServletResponse res);
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
/*
* PrintWriter out = response.getWriter();
// escreve o texto
out.println("<html>");
out.println("<body>");
out.println("Primeira servlet");
out.println("</body>");
out.println("</html>");
*/
PrintWriter out = response.getWriter();
// pegando os parâmetros do request
String nome = request.getParameter("nome");
String email = request.getParameter("email");
String endereco = request.getParameter("endereco");
String dataNascimentoString = request.getParameter("dataNascimento");
Calendar dataNascimento = null;
// fazendo a conversão da data de String para Calendar(se acordo com o modelo)
try {
Date date = new SimpleDateFormat("dd/MM/yyyy").parse(dataNascimentoString);
dataNascimento = Calendar.getInstance();
dataNascimento.setTime(date);
} catch (ParseException e) {
// TODO Auto-generated catch block
out.println("Erro de conversão de data.");
return;// para execução do metodo
}
// Cria intancia um objeto com os parametros da tela de entrada
Contato contato = new Contato();
contato.setNome(nome);
contato.setEmail(email);
contato.setEndereco(endereco);
contato.setDataNascimento(dataNascimento);
// salva o contato
CadastraContatoDAO dao = new CadastraContatoDAO();
dao.adiciona(contato);
// imprime o nome do contato que foi adicionado
out.println("<html>");
out.println("<head>");
out.println("<title>Usuário: " + contato.getNome() + " cadastrado</title>");
out.println("<head>");
out.println("<body>");
out.println("Contato: " + contato.getNome() + " adicionado com sucesso!!!");
out.println("</body>");
out.println("</html>");
}
}[/code]
Muito grato,
Daniel