Olá pessoal estou com problema no meu controlador de servlet la vai todos os códigos:
JSP:
<head>
<meta charset="utf-8">
<script src="javascript/javascript.js"></script>
<title>Insert title here</title>
</head>
<body>
<header>
</header>
<article>
<form action="mvc" method="POST" >
<fieldset>
<label> Id:</label>
<input type="text" name="id"/>
<label >Nome:</label>
<input type="text" name="nome"/>
<label >E-mail:</label>
<input type="text" name="email"/>
<label >Endereço:</label>
<input type="text" name="endereco"/>
<input type="hidden" name="logica" value="AlteraContatoLogic"/>
<input type="submit" value="enviar">
</fieldset>
</form>
</article>
</body>
</html>
Mapeamento do controlador de servlet:
<servlet>
<servlet-name>controlador</servlet-name>
<servlet-class>br.com.caelum.mvc.ControllerServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>controlador</servlet-name>
<url-pattern>/mvc</url-pattern>
</servlet-mapping>
O proprio controlador:
package br.com.caelum.mvc;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ControllerServlet {
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException{
String parametro = request.getParameter("logica");
String nomeDaClasse = "br.com.caelum.mvc."+ parametro;
try{
Class classe = Class.forName(nomeDaClasse);
Logica logica = (Logica) classe.newInstance();
logica.executa(request, response);
}catch (Exception e){
throw new ServletException("A lógica de negócios causou uma exceção", e);
}
}
}
O outro servlet para onde deveria ser mandado as informações:
package br.com.caelum.mvc;
import javax.servlet.RequestDispatcher;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import br.com.caelum.classes.modelo;
import br.com.caelum.jdbc.dao.contatoDAO;
public class AlteraContatoLogic implements Logica{
@Override
public void executa(HttpServletRequest request, HttpServletResponse response)
throws Exception {
System.out.println("Executando a lógica e redirecionando...");
modelo contato = new modelo();
long id = Long.parseLong(request.getParameter("id"));
contato.setId(id);
contato.setNome(request.getParameter("nome"));
contato.setEndereco(request.getParameter("endereco"));
contato.setEmail(request.getParameter("email"));
contatoDAO dao = new contatoDAO();
dao.altera(contato);
RequestDispatcher rd = request.getRequestDispatcher("/listandoContatos.jsp");
rd.forward(request, response);
System.out.println("Altera contato ..." + contato.getNome());
}
}
Outra pagina que não chega aparecer:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body>
<c:catch var="error">
<jsp:useBean id="dao" class="br.com.caelum.jdbc.dao.contatoDAO" />
<c:forEach var="contato" items="${dao.lista}">
<ul>
<li>
${contato.nome}
${contato.email}
${contato.endereco}
</li>
</ul>
</c:forEach>
</c:catch>
<c:if test="${not empty error}">
<p> Ocorreu algum erro ou no acesso ou na manipulação dos dados. </p>
</c:if>
</body>
</html>
O que acontece é que ele não acha o mapeamento mvc que coloco na action na primeira jsp, ja mais de uma hora pra ve se tinha algum erro de escrita, tem mais alguma coisa que eu deva fazer?