[Resolvido] Exercício 5.9 fj-21 Caelum

Olá gente,

Seguindo a apostila da caelum, agora estou fazendo o exercício 5.9, me deperai agora com um comentário la assim:

“Caso você esteja fazendo em casa, você pode usar exatamente as mesmas classes criadas durante os exercícios do capítulo de JDBC. Não esqueça de copiar também o Driver do MySQL.”

Como eu estou seguindo a apostila, eu já fiz o exercício do JDBC, agora o que quer dizer “usar exatamente as mesmas classes criadas durante os exercícios do capítulo de JDBC”, é para pegar todos os packages e jogar no meu projeto fj21-agenda ? ou só as classes que estão nos packages ?, mas se eu pegar só as classes vou ter que tirar os packages também…

Qual o certo a fazer ?

Obrigado

Acredito que o que você tem que fazer, é importar as classes via código. Utilizando import java.<nomeDoPacote>.<nomeDaClasse>.

Espero ter ajudado.

Opa,

Se você olhar o item 3, do exercício 5.9 vai ver que utilizamos a classe Contato e a classe ContatoDAO, que foram criadas nos primeiros exercícios de JDBC. Sendo assim é necessário que estas classes estejam no mesmo projeto que você criou para o exercício 5.9. Para isso você deve copiar os packages que contém as classes Contato, ContatoDAO e ConnectionFactory para seu projeto. E na classe AdicionaContatoServlet(exerc 5.9, item a) você deve colocar os imports para essas três classes.

obs: Você também poderia colocar no seu projeto, só as classes sem estarem organizadas em packages, porém isso não é uma boa prática de programação. Além disso, você também poderia mudar o nome dos packages, alterando também os imports.

Espero ter ajudado.

Abraço

Não é isso não. (Rafael Mesquita Moura)
Se vc criou um projeto novo, vai no outro e copia, se quiser pode manter a mesma estrutura de pastas (que no caso são os packages).

Gente,

Obrigado, mais não funcionou…

Fiz o que o evertonz23 disse… com package

package br.com.etrsolution.agenda.servlet;

import java.io.IOException;
import java.io.PrintWriter;
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.etrsolution.jdbc.dao.ContatoDAO;
import br.com.etrsolution.jdbc.modelo.Contato;

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

public class AdicionaContatoServlet extends HttpServlet {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	protected void service(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException  {
		// busca o writer
		PrintWriter out = response.getWriter();
		
		// buscando os parâmetros no request
		String nome = request.getParameter("nome");
		String endereco = request.getParameter("endereco");
		String email = request.getParameter("email");
		String dataEmTexto = request.getParameter("dataNascimento");
		Calendar dataNascimento = null;
		
		// fazendo a conversão da data
		try {
			Date date = new SimpleDateFormat("dd/MM/yyyy").parse(dataEmTexto);
			dataNascimento = Calendar.getInstance();
			dataNascimento.setTime(date);
		} catch (ParseException e) {
			// TODO: handle exception
			out.println("Erro de conversão da data");
			return; //para a execução do método
		} catch (java.text.ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		// monta um objeto contato
		Contato contato = new Contato();
		contato.setNome(nome);
		contato.setEndereco(endereco);
		contato.setEmail(email);
		contato.setDataNascimento(dataNascimento);
		
		// salva o contato
		ContatoDAO dao = new ContatoDAO();
		dao.adiciona(contato);
		
		// imprime o nome do contato que foi adicionado
		
		out.println("<html>");
		out.println("<body>");
		out.println("Contato " + contato.getNome() + " adicionado com sucesso");
		out.println("</body>");
		out.println("</html>");
	}
	
}

Ola boa noite.

Voce criou um novo projeto ou esta no mesmo do exercicio JDBC?

Um novo projeto… com manda a apostila

Opa,

Verifique se você importou corretamente o driver JDBC, conforme explicado na apostila.

Abraço

Ele não achando o Driver. Veja se o JAR está corretamente na pasta WEB-INF/lib

É isso ai… vocês estão corretos, era para eu ter postado ontem a resposta, mas estava tarde, me desculpem… eu tive a primeira aula com o professor Pedro Matiello e ele me ajudou no finalzinho da aula. Mas na própria apostila explica isso, na página 38, eu comi bola.

Apositla da Caelum fj21 - página 38
“Repare ainda que há uma pasta chamada lib dentro da WEB-INF. Quase todos os projetos Web existentes precisam usar bibliotecas externas, como por exemplo o driver do MYSQL no nosso caso. Copiaremos todas elas para essa pasta lib. Como esse diretório só aceita bibliotecas, apenas colocamos nele arquivos .jar ou arquivos zip com classes dentro. Caso um arquivo com outra extensão seja colocado no lib, ele será ignorado.”

Gente, obrigado !!!

Blz então…

Problema resolvido…

O que vc colocou na pasta lib? somente o driver do mysql? é q estou com o msm problema