Sou iniciante em JSTL e gostaria de uma ajuda para saber em que estou errando para esse código não funcionar, já apaguei, escrevi várias vezes, de várias formas e continua os mesmos erros.
Classe Contato
public class Contato {
private String nome;
private String email;
private String endereco;
public String getNome() {
return nome;
}
public void setNome(String novo) {
this.nome = novo;
}
public String getEmail() {
return email;
}
public void setEmail(String novo) {
this.email = novo;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String novo) {
this.endereco = novo;
}
}
Classe ContatoDAO
public class ContatoDAO {
private Connection connection;
public ContatoDAO() throws SQLException{
this.connection= ConnectionFactory.getConnection();
}
public void adiciona(Contato contato)throws SQLException{
PreparedStatement stmt = this.connection.prepareStatement("insert into contatos(nome, email, endereco)values(?,?,?)");
stmt.setString(1, contato.getNome());
stmt.setString(2, contato.getEmail());
stmt.setString(3, contato.getEndereco());
stmt.execute();
stmt.close();
}
public List<Contato> getLista() throws SQLException{
PreparedStatement stmt = this.connection.prepareStatement("select * from contatos");
ResultSet rs= stmt.executeQuery();
List <Contato> list = new ArrayList<Contato>();
while (rs.next()){
Contato contato = new Contato();
contato.setNome(rs.getString("nome"));
contato.setEmail(rs.getString("email"));
contato.setEndereco(rs.getString("endereco"));
list.add(contato);
}
rs.close();
stmt.close();
return list;
}
public void exclui (Contato contato) throws SQLException{
PreparedStatement stmt = this.connection.prepareStatement("delete from contatos where nome=?");
stmt.setString(1, contato.getNome());
stmt.execute();
stmt.close();
}
public void altera (Contato contato) throws SQLException{
PreparedStatement stmt = this.connection.prepareStatement("update contatos set email=?, endereco=? where nome=?");
stmt.setString(1, contato.getNome());
stmt.setString(2, contato.getEmail());
stmt.setString(3, contato.getEndereco());
stmt.execute();
stmt.close();
}
}
Página manteraluno.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@page import="java.util.*, dao.ContatoDAO.*,bean.Contato.*"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<jsp:useBean id="dao" class="dao.ContatoDAO"></jsp:useBean>
<jsp:useBean id="contato" class="bean.Contato"></jsp:useBean>
<form method="post" action="salvaraluno.jsp">
<table border="1" align="center">
<tr><td>Nome:</td><td><input type="text" name="nome"/></td></tr>
<tr><td>Email:</td><td><input type="text" name="email"/></td></tr>
<tr><td>Endereco:</td><td><input type="text" name="endereco"/></td></tr>
</table>
<table align="center">
<tr><td><input type="submit" name="incluir" value="Incluir"/></td>
<td><input type="submit" name="alterar" value="Alterar"/>
<td><input type="submit" name="excluir" value="Excluir"/></tr>
</table>
</form>
<c:if test="${param.incluir=='Incluir'}">
<jsp:setProperty name="dao" property="nome" value="${dao.nome}"/>
<jsp:setProperty name="dao" property="email" value="${dao.email}"/>
<jsp:setProperty name="dao" property="endereco" value="${dao.endereco}"/>
<%dao.adiciona(contato); %>
</c:if>
</body>
</html>
Página salvaraluno.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Confirmacao</title>
</head>
<body>
<jsp:useBean id="dao" class="dao.ContatoDAO" scope="page"/>
<h2 align="center"></h2>
<table align="center"border="1">
<tr><td>Aluno</td><td>Dados</td></tr>
<tr><td>Nome</td><td>${dao.nome}</td></tr>
<tr><td>Endereco</td><td>${dao.endereco}</td></tr>
<tr><td>Cep</td><td>${dao.cep}</td></tr>
<tr><td>Cidade</td><td>${dao.cidade}</td></tr>
<tr><td>Estado</td><td>${dao.estado}</td></tr>
</table>
</body>
</html>
A pagina manteraluno.jsp é um formulário onde os dados são digitados, quando vc clica para incluir, vc é passado para a pagina salvaraluno.jsp e ela deveria exibir os dados que foram cadastrados, e a pagina manteraluno.jsp nao esta salvando no banco de dados, na verdade até salva, mas salva varias aspas.
Além da classe DAO eu tenho uma classe ConncetionFactory que julguei não precisar postar aqui, já testei a classe DAO e ela esta funcionando corretamente, o problema não deve ser na classe DAO, deve ser nas paginas JSP mesmo.