When I am my ConfirmServlet at the end of the doPost() it should open my ResultServlet. But instead the link stays /Confirm at the end and I get a blank page. Could anyone help me what's wrong with my code?
ConfirmServlet
package Servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebInitParam;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import Bean.SurveyBean;
import DAO.DriverLoader;
import DAO.SurveyDAO;
import Service.SurveyService;
@WebServlet(value = "/Confirm", initParams = {
@WebInitParam(name = "Confirmpage", value = "/WEB-INF/pages/Confirm.jsp"),
@WebInitParam(name = "ResultURL", value = "Result") })
public class ConfirmServlet extends HttpServlet {
private String Confirmpage;
private String ResultURL;
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
public void init() throws ServletException {
// TODO Auto-generated method stub
super.init();
new DriverLoader();
Confirmpage = getInitParameter("Confirmpage");
ResultURL = getInitParameter(ResultURL);
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
SurveyBean bean = new SurveyBean();
HttpSession sess = req.getSession();
bean = (SurveyBean) sess.getAttribute("bean");
req.setAttribute("bean", bean);
System.out.println(bean.getName() + " " + bean.getAnswer3() + " haha");
System.out.println("Testing");
req.getRequestDispatcher(Confirmpage).forward(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("Post Werkt");
HttpSession sess = req.getSession();
SurveyBean bean = new SurveyBean();
bean = (SurveyBean) sess.getAttribute("bean");
SurveyDAO Dao;
Dao = new SurveyDAO("jdbc:mysql://localhost/survey", "root", "");
Dao.postBean(bean);
resp.sendRedirect(ResultURL);
System.out.println("Hier moet ik ook komen!!!");
}
}
ResultServlet
package Servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebInitParam;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import Bean.SurveyBean;
@WebServlet(value = "/Result", initParams = {
@WebInitParam(name = "ResultPage", value = "/WEB-INF/pages/Result.jsp"),
@WebInitParam(name = "IndexURL", value = "IndexURL") })
public class ResultServlet extends HttpServlet {
private String ResultPage;
private String IndexURL;
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
public void init() throws ServletException {
// TODO Auto-generated method stub
System.out.println("Result");
super.init();
ResultPage = getInitParameter(ResultPage);
IndexURL = getInitParameter(IndexURL);
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("Doget Result");
req.getRequestDispatcher(ResultPage).forward(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
resp.sendRedirect(IndexURL);
}
}
By the way I used the same code for the previous routes and there it worked only here I get an error and I have no idea which one.
The problem was here Had to add " at getInitParameter. At both Servlets
@Override
public void init() throws ServletException {
// TODO Auto-generated method stub
super.init();
new DriverLoader();
Confirmpage = getInitParameter("Confirmpage");
ResultURL = getInitParameter("ResultURL");
}