Problemas com Interface!

Pessoal to fazendo um programa de cadastramento que puxa métodos de uma classe interface, mas simplesmente nao aparece nada!
Abaixo estão os códigos:

A interface

package MVC;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public interface Logica {
    void executa(HttpServletRequest req,HttpServletResponse res)
    throws Exception;
}

A página JSP

<!DOCTYPE html>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@taglib tagdir="/WEB-INF/tags" prefix="tag" %>
<html lang="es">
    <head>
        <title>Adicionar Contatos</title>
        
        <link type="text/css" href="css/jquery.css" rel="stylesheet" />
        <script type="text/javascript" src="js/jquery.js"></script>
        <script type="text/javascript" src="js/jquery-ui.js"></script>
        
        <%--  jquery  --%>
        <link rel="stylesheet" href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" />
        <script src="http://code.jquery.com/jquery-1.8.3.js"></script>
        <script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
        <link rel="stylesheet" href="/resources/demos/style.css" />
        
    </head>
    <%--  resto do codigo!  --%>
    <body>
        <c:import url="cabecalho.jsp" />
        <h2 align="center">Faça o seu cadastro!</h2>
        <form action="mvc" method="POST">
            <p align="center">
                Nome: 
                <input type="text" name="nome" />
            </p>
            <p align="center">
                E-mail: 
                <input type="text" name="email" />
            </p>
            <p align="center">
                Endereço: 
                <input type="text" name="endereco" />
            </p>
            <p align="center">
                Data de nascimento: 
                <tag:campoData id="data_n" />
            </p>
            <p align="center">
                <input type="hidden" name="logica" value="AlteraContatoLogica"/>
                <input type="submit" value="Gravar" />
            </p>
        </form>
            
        <form action="Lista-Contatos-Elegante.jsp">
            <p align="center">
                <input type="submit" value="Listar" />
            </p>
        </form>
            
        <c:import url="rodape.jsp" />
    </body>
</html>

A Servlet

package MVC;

import Agenda.Contato;
import Agenda.ContatoDAO;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import javax.servlet.RequestDispatcher;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class AdicionaContatoLogica implements Logica {

    public void executa(HttpServletRequest req, HttpServletResponse res) throws Exception {
        String nome = req.getParameter("nome");
            String endereco = req.getParameter("endereco");
            String email = req.getParameter("email");
            String data = req.getParameter("data_n");
            Calendar dataNascimento = null;
            
            //fazendo a conversão da data
            Date date;
            try{
                date = new SimpleDateFormat("dd/MM/yyyy").parse(data);
                dataNascimento = Calendar.getInstance();
                dataNascimento.setTime(date);
            }catch(ParseException e){
                return;
            }
            
            //montando o objeto
            Contato contato = new Contato();
            contato.setNome(nome);
            contato.setEmail(email);
            contato.setEndereco(endereco);
            contato.setDataNascimento(dataNascimento);
            
           ContatoDAO dao = new ContatoDAO();
           dao.adiciona(contato);
           
           RequestDispatcher dispatcher = req
                   .getRequestDispatcher("Contato-Adicionado.jsp");
           dispatcher.forward(req, res);
    } 
}

E, finalmente, o ‘controlador’

package MVC;

import java.io.IOException;
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(name = "SistemaTodo", urlPatterns = {"/SistemaTodo"})
public class SistemaTodo extends HttpServlet {

    /**
     *
     * @param request
     * @param response
     * @throws ServletException
     * @throws IOException
     */
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        String parametro;
        parametro = request.getParameter("logica");
        String nomeDaClasse = "MVC." + parametro;
        try{
            Class classe = Class.forName(nomeDaClasse);
            
            Logica logica = (Logica) classe.newInstance();
            logica.executa(request, response);
        }catch(Exception e){
            throw new ServletException("erro!");
        }
        
    }
}

O erro:

Advertência: StandardWrapperValve[controlador]: PWC1406: Servlet.service() for servlet controlador threw exception
javax.servlet.ServletException: erro!
	at MVC.SistemaTodo.service(SistemaTodo.java:36)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1550)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
	at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
	at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)
	at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)
	at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1056)
	at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)
	at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
	at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
	at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
	at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
	at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
	at java.lang.Thread.run(Thread.java:722)

obrigada desde já! :slight_smile:

Boa noite!

vc ta chamando o AlteraContatoLogica <input type="hidden" name="logica" value="AlteraContatoLogica"/> e não o AdicionaContatoLogica

Adicione um System.out.println(e.getStackTrace());
neste codigo:

catch(Exception e){
throw new ServletException(“erro!”);
System.out.println(e.getStackTrace());
}

e nos mande o que foi impresso na consola, para podermos ajudar com mais facilidade.

[quote=DaniloAndrade]Boa noite!

vc ta chamando o AlteraContatoLogica <input type="hidden" name="logica" value="AlteraContatoLogica"/> e não o AdicionaContatoLogica [/quote]

valeu, mas nao era isso, continua do mesmo jeito…

[code]Advertência: StandardWrapperValve[controlador]: PWC1406: Servlet.service() for servlet controlador threw exception
javax.servlet.ServletException: erro!
at MVC.SistemaTodo.service(SistemaTodo.java:35)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1550)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1056)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
at java.lang.Thread.run(Thread.java:722)

[/code]

o erro que ta dando agora…