Ir ao conteúdo
  • Cadastre-se

Servlet -


Posts recomendados

Olá, estou seguindo a apostila da Caelum e até agora tenho conseguido me virar, mas estou empatada nesse exercício 5.11 e não consigo avançar. Se alguém puder por gentileza me ajudar eu ficaria imensamente grata.

 

 

Tenho esse erro.

HTTP Status 500 - Error instantiating servlet class br.com.caelum.agenda.servlet.AdicionaContatoServlettype Exception reportmessage Error instantiating servlet class br.com.caelum.agenda.servlet.AdicionaContatoServletdescription The server encountered an internal error that prevented it from fulfilling this request.exceptionjavax.servlet.ServletException: Error instantiating servlet class br.com.caelum.agenda.servlet.AdicionaContatoServlet    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:617)    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1521)    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1478)    java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)    java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)    java.lang.Thread.run(Unknown Source)root causejava.lang.Error: Unresolved compilation problems:    The import br.com.caelum.jdbc.dao cannot be resolved    Contato cannot be resolved to a type    Contato cannot be resolved to a type    ContatoDao cannot be resolved to a type    ContatoDao cannot be resolved to a type    Syntax error on token "}", { expected

Minha classe é essa

package br.com.caelum.agenda.servlet;//classes importadas do exercicio passado. import br.com.caelum.jdbc.dao.ContatoDao;import br.com.caelum.jdbc.modelo.Contato;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.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;@WebServlet("/adicionaContato")public class AdicionaContatoServlet extends HttpServlet {	@[member="override"]	protected void service(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {				PrintWriter out = response.getWriter();		// Parâmetros para o Request		String nome = request.getParameter("nome");		String endereco = request.getParameter("endereco");		String email = request.getParameter("email");		String dataEmTexto = request.getParameter("DataNascimento");		Calendar dataNascimento = null;		// Data		try {			Date date = new SimpleDateFormat("dd/MM/yyy").parse(dataEmTexto);			dataNascimento = Calendar.getInstance();			dataNascimento.setTime(date);		} catch (ParseException e) {			out.println("Erro de conversão da data");			return; // para a execução do método		}		// Objeto da classe Contato		Contato contato = new Contato();		contato.setNome(nome);		contato.setEndereco(endereco);		contato.setEmail(email);		contato.setDataNascimento(dataNascimento);		// Salvar contato		ContatoDao dao = new ContatoDao();		dao.adiciona(contato);		// Saída		out.println("<html>");		out.println("<body>");		out.println("Contato " + contato.getNome() + " adicionado com sucesso");		out.println("</body>");		out.println("</html>");	}}

Desculpem mas eu sou muito iniciante, até tenho vergonha de postar mas eu queria muito avançar esse exercicio.

 

 

Muito Obrigada!

Link para o comentário
Compartilhar em outros sites

Olá. Essa é a estrutura do projeto, eu importei os pacotes citados.

 

23w3dko.png

 

Contato (br.com.caelum.jdbc.modelo.Contato)

package br.com.caelum.jdbc.modelo;import java.util.Calendar;public class Contato {	private Long id;	private String nome;	private String email;	private String endereco;	private Calendar dataNascimento;	public Long getId() {		return id;	}	public void setId(Long id) {		this.id = id;	}	public String getNome() {		return nome;	}	public void setNome(String nome) {		this.nome = nome;	}	public String getEmail() {		return email;	}	public void setEmail(String email) {		this.email = email;	}	public String getEndereco() {		return endereco;	}	public void setEndereco(String endereco) {		this.endereco = endereco;	}	public Calendar getDataNascimento() {		return dataNascimento;	}	public void setDataNascimento(Calendar dataNascimento) {		this.dataNascimento = dataNascimento;	}}

ContatoDao (br.com.caelum.jdbc.dao.ContatoDao)

package br.com.caelum.jdbc.dao;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Date;import java.util.ArrayList;import java.util.Calendar;import java.util.List;import br.com.caelum.jdbc.ConnectionFactory;import br.com.caelum.jdbc.modelo.Contato;import com.mysql.fabric.xmlrpc.base.Data;import com.mysql.jdbc.Connection;import com.mysql.jdbc.PreparedStatement;public class ContatoDao {	private Connection connection;	public ContatoDao() {		this.connection = (Connection) new ConnectionFactory().getConnection();	}	public void adiciona(Contato contato) {		String sql = "insert into contatos "				+ "(nome,email,endereco,dataNascimento)" + "values (?,?,?,?)";		try {			// Statement de inserção			PreparedStatement stmt = (PreparedStatement) connection					.prepareStatement(sql);			// set dos valores			stmt.setString(1, contato.getNome());			stmt.setString(2, contato.getEmail());			stmt.setString(3, contato.getEndereco());			stmt.setDate(4, new Date(contato.getDataNascimento()					.getTimeInMillis()));			// executa			stmt.execute();			stmt.close();		} catch (SQLException e) {			throw new RuntimeException(e);		}	}	public List<Contato> getLista() {		try {			List<Contato> contatos = new ArrayList<Contato>();			PreparedStatement stmt = (PreparedStatement) this.connection					.prepareStatement("select * from contatos");			ResultSet rs = stmt.executeQuery();			while (rs.next()) {				// Objeto Contato				Contato contato = new Contato();				contato.setId(rs.getLong("id"));				contato.setNome(rs.getString("nome"));				contato.setEmail(rs.getString("email"));				contato.setEndereco(rs.getString("endereco"));				// Data Calendar				Calendar data = Calendar.getInstance();				data.setTime(rs.getDate("DataNascimento"));				contato.setDataNascimento(data);				// Add obj à lista				contatos.add(contato);			}			rs.close();			stmt.close();			return contatos;		} catch (SQLException e) {			throw new RuntimeException(e);		}	}}
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...