#java #servlets
#java #сервлеты
Вопрос:
У меня проблема с моим сервлетом («maakservlet»), maakservlet должен автоматически перенаправляться на welkom.jsp, но вместо этого он просто выдает мне пустую страницу.
Я пробовал requestdispatches, response.sendRedirect и т.д.
Вот мой код из сервлета:
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
int code = 1;
String voornaam = request.getParameter("voornaam");
String achternaam = request.getParameter("achternaam");
String eerstebezoek = request.getParameter("eerstebezoek");
String meerderebezoeken = request.getParameter("meerderebezoeken");
String attractie = request.getParameter("attractie");
String naamattractie = request.getParameter("naamAttractie");
String naampretpark = request.getParameter("naampretpark");
Bezoeker bezoeker = new Bezoeker(voornaam, achternaam);
if (attractie == "geen") {
;
} else {
bezoeker.voegToeAanWishlist(attractie);
}
if (eerstebezoek == null amp;amp; meerderebezoeken == null) {
bezoeker.setPretparkcode(1000);
} else if (meerderebezoeken != null) {
bezoeker.setPretparkcode(code);
code = 1;
}
String destination = "welkom.jsp";
RequestDispatcher requestDispatcher = request.getRequestDispatcher(destination);
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
String welkom = "welkom.jsp";
response.sendRedirect("welkom.jsp");
RequestDispatcher rd = request.getRequestDispatcher("welkom.jsp");
rd.forward(request, response);
}
Комментарии:
1. Что «не сработало», когда вы использовали
response.sendRedirect()
?
Ответ №1:
Чтобы перенаправить запрос на совершенно другую страницу, вы должны использовать свой response
:
response.sendRedirect(destination);
Комментарии:
1. Спасибо за комментарий, куда бы вы поместили эту строку? У меня уже есть эта строка в моем разделе dopost(). Но я все еще застреваю в пустом maarkservlet.
2.В вашем
doPost()
методе, который вы используете,sendRedirect()
иRequestDispatcher
. Оба не будут работать вместе. Вы либо перенаправляете пользователя на совершенно новую страницу, либо перенаправляете рендеринг на другой ресурс (например, JSP, другой сервлет) и т.д. Итак, первое, что вы должны сделать, это удалить последние две строки вашегоdoPost()
метода.