Boa note, sou iniciante nos estudos java e estou com o seguinte erro no estudo da fj21, alguem pode medar uma dica:
GRAVE: Servlet.service() for servlet [br.com.caelum.mvc.servlet.ControllerServlet] in context with path [/agenda-fj21] threw exception [A lógica de negócios causou uma exceção] with root cause
java.lang.ClassNotFoundException: br.com.caelum.mvc.logica. PrimeiraLogica
retornando o erro no browser:
http://localhost:8080/estudo-agenda/mvc?logica=PrimeiraLogica
Um erro aconteceu!
Logica.java
package br.com.caelum.mvc.logica;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public interface Logica {
String executa(HttpServletRequest req, HttpServletResponse rea) throws Exception;
}
PrimeiraLogica.java
package br.com.caelum.mvc.logica;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class PrimeiraLogica implements Logica {
@Override
public String executa(HttpServletRequest req, HttpServletResponse rea) throws Exception {
System.out.println("Executando a logica...");
System.out.println("Retornando o nome da pagina JSP...");
return "primeira-logica-jstl.jsp";
}
}
ControlleServlet.java
package br.com.caelum.mvc.servlet;
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;
import br.com.caelum.mvc.logica.Logica;
@WebServlet("/mvc")
public class ControllerServlet extends HttpServlet {
protected void service(HttpServletRequest req,
HttpServletResponse resp)
throws ServletException, IOException {
String parametro = req.getParameter("logica");
String nomeDaClasse = "br.com.estudo.agenda.mvc.logica. " + parametro;
try {
Class classe = Class.forName(nomeDaClasse);
@SuppressWarnings("deprecation")
Logica logica = (Logica) classe.newInstance();
String pagina = logica.executa(req, resp);
req.getRequestDispatcher(pagina).forward(req, resp);
} catch (Exception e) {
throw new ServletException(
"A lógica de negócios causou uma exceção", e);
}
}
}
primeira-logica.jsp
<html>
<body>
<h1> Pagina da primeira Logica</h1>
</body>
</html>