Quando executo via console chamado da servlet ele roda normalmente, mas quando deixo para ele redirecionar para outra pagina aparece tudo em branco com o link como se nao fosse mapeado no web.xml .
Nao sei porque esta acontecendo isso, sei que pode ser um errinho besta, mas estou comecando em java para web.
Por favor me ajudem !
Servlet
package br.com.afOliveira.controle;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Date;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import br.com.afOliveira.modelo.pessoa;
import br.com.afOliveira.persistencia.pessoaDAO;
import br.com.afOliveira.utils.datas;
/**
* Servlet implementation class ServletControle
*/
public class ServletControle extends HttpServlet {
private static final long serialVersionUID = 6487591703767958015L;
public ServletControle() {
}
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
process(request, response);
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
process(request, response);
}
//---------------------------------------------------------------------------------------------------------------
private void process(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// pega parte da action ativada
String cmd = request.getParameter("cmd");
// inicializa variaveis a serem instanciadas
pessoa objPessoa;
pessoaDAO objPessoaDao;
// -------------------------------------------------------------------------------------------------------------
// condicao para modulo inserir
try {
// verifica resto da String da action passada
if (cmd.equalsIgnoreCase("inserir")) {
// passara valores para o construtor da classe, null representa
// matricula q eh auto incremento
objPessoa = new pessoa(request.getParameter("nome"),
datas.formataData(request.getParameter("data")));
// instancia objeto DAO e passa como parametro o objeto
// inicializado no construtor do bean
objPessoaDao = new pessoaDAO();
objPessoaDao.inserirPessoa(objPessoa);
// Informa que foi gravado com sucesso
request.setAttribute("mensagem", "Pessoa gravada com sucesso !");
// redireciona para pagina index
request.getRequestDispatcher("/index.html").forward(request,
response);
}
} catch (Exception e) {
// informa erro ao tentar gravar
request.setAttribute("mensagem", "erro" + e.getMessage());
}
//---------------------------------------------------------------------------------------------------------------------------
// condicao para modulo ListarTodos
try {
// verifica resto da String da action passada (equalsIgnoreCase) =
// tanto faz o tamanho das letras
if (cmd.equalsIgnoreCase("listarTodos")) {
PrintWriter out = response.getWriter();
// instancia objeto DAO e lanca o foreach para percorrer a lista
objPessoaDao = new pessoaDAO();
out.print("<h1>As pessoas cadastradas sao :</h1>");
out.print("<table border='1'>");
out.print("<tr>");
out.print("<td>Matricula</td>");
out.print("<td>Nome</td>");
out.print("<td>Data de Nascimento</td>");
out.print("</tr>");
for (pessoa itPessoa : objPessoaDao.consultarPessoa()) {
out.print("<td>" + itPessoa.getMatricula() + "</td>");
out.print("<td>" + itPessoa.getNome() + "</td>");
out.print("<td>" + itPessoa.getDataNasc() + "</td>");
}
out.print("</table>");
// redireciona para pagina resultado
request.getRequestDispatcher("/resultado.jsp").forward(request,
response);
}
} catch (Exception e) {
// informa erro ao tentar listar
request.setAttribute("mensagem", "erro" + e.getMessage());
}
// -------------------------------------------------------------------------------------------------------------------
}
}
HTML index.html
<!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></title>
</head>
<body>
<h1>Selecione : </h1>
<form action="ServletControle?cmd=listarTodos" method="post" style="width: 134px; ">
<input type="submit" value="Listar Todos"></input>
<br/>
</form>
<input type="button" value="Alterar" onclick="location.href='alterar.jsp'">
<br/>
<input type="button" value="Inserir" onclick="location.href='inserir.jsp'" >
<br/>
<input type="button" value="Excluir" onclick="location.href='excluir.jsp'" >
</body>
</html>
DAO
package br.com.afOliveira.persistencia;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import br.com.afOliveira.modelo.*;
import br.com.afOliveira.persistencia.*;
public class pessoaDAO {
private PreparedStatement comando;
private Statement comando2;
public void inserirPessoa(pessoa Pessoa) {
try {
pessoa obj = new pessoa();
comando = (PreparedStatement) FactoryConnection.getConnection()
.createStatement();
String sql = "insert into pessoa (matricula, nome, data_nasc) values(?,?,?)";
comando.setInt(1, obj.getMatricula());
comando.setString(2, obj.getNome());
comando.setDate(3, (java.sql.Date) obj.getDataNasc());
comando.execute();
comando.close();
} catch (SQLException e) {
e.getErrorCode();
}
}
public void alterarPessoa(pessoa Pessoa) {
}
public void excluirPessoa(pessoa Pessoa) {
}
public List<pessoa> consultarPessoa() {
List<pessoa> resultPesquisa = new ArrayList<>();
try {
pessoa obj = new pessoa();
comando2 = FactoryConnection.getConnection()
.createStatement();
String sql = "select * from pessoa";
ResultSet resultado = comando2.executeQuery(sql);
while (resultado.next()) {
obj.setMatricula(resultado.getInt("matricula"));
obj.setNome(resultado.getString("nome"));
obj.setDataNasc(resultado.getDate("data_nasc"));
resultPesquisa.add(new pessoa(obj.getMatricula(),
obj.getNome(), obj.getDataNasc()));
}
return resultPesquisa;
}
catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}