Estou fazendo um projeto de avaliações de filmes e series usando java e servlets. Na hora de enviar a requisição pra cair no controller não está funcionando. Só funciona quando chamo diretamente o JSP. Vou deixar como está o codigo abaixo. Quem poder me ajudar agreço muito.
Aqui está como fica quando chamo diretamente o login.jsp:
Aqui quando eu chamo pelo LoginFormBean:
Aqui vou deixar os codigos:
package br.com.cine.controller;
import java.io.IOException;
import jakarta.servlet.ServletException;
public interface TipoAcao {
void execute() throws ServletException, IOException;
}
package br.com.cine.controller;
import java.io.IOException;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import jakarta.servlet.ServletException;
import jakarta.servlet.ServletRequest;
import jakarta.servlet.ServletResponse;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
@WebServlet(urlPatterns = "/cine")
public class CineController extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String action = req.getParameter("action");
String fqn = "br.com.cine.model.bean." + Character.toUpperCase(action.charAt(0)) + action.substring(1)
+ "Bean";
try {
Class<?> classe = Class.forName(fqn);
Constructor<?> constructor = classe.getDeclaredConstructor(HttpServletRequest.class, HttpServletResponse.class);
TipoAcao tipoAcao = (TipoAcao) constructor.newInstance(req, resp);
tipoAcao.execute();
} catch (ClassNotFoundException | NoSuchMethodException | SecurityException | InstantiationException
| IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
throw new ServletException(e);
}
}
}
package br.com.cine.model.bean;
import java.io.IOException;
import br.com.cine.controller.TipoAcao;
import jakarta.servlet.RequestDispatcher;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
public class LoginFormBean implements TipoAcao{
private HttpServletRequest req;
private HttpServletResponse resp;
public LoginFormBean(HttpServletRequest req, HttpServletResponse resp) {
this.req = req;
this.resp = resp;
}
@Override
public void execute() throws ServletException, IOException {
RequestDispatcher rd = this.req.getRequestDispatcher("/login.jsp");
rd.forward(this.req, this.resp);
}
}