Response.sendRedirect() из Servlet в JSP, похоже, не работает
Я пишу программу клиентского сервера. Я отправляю arraylist с телефона Android, и я также могу получить список. После этого я хочу, чтобы сервлет перенаправлялся на demo.jsp
с помощью response.sendRedirect()
, но он просто не перенаправляется. Пробовал с помощью requestDispatcher.forward()
тоже.
ObjectInputStream in = new ObjectInputStream((InputStream) request.getInputStream());
List<Double> al=(List<Double>)in.readObject();
in.close();
for(int x=0;x<al.size();x++)
{
System.out.println("List");
System.out.println(al.get(x));
}
System.out.println("going to demo.jsp");
response.sendRedirect("demo.jsp");
Как это вызвано и как я могу его решить?
Ответы
Ответ 1
Я отправляю этот ответ, потому что тот, у кого больше всего голосов, сбил меня с пути. Чтобы перенаправить с сервлета, вы просто делаете это:
response.sendRedirect("simpleList.do")
В этом конкретном вопросе я думаю, что @MD правильно объясняет, почему у его проблемы есть проблема, но поскольку это первый результат в google при поиске "Перенаправление с сервлета", я думаю, важно иметь ответ, помогает большинству людей, а не только первоклассным.
Ответ 2
Вместо использования
response.sendRedirect("/demo.jsp");
Что делает постоянное перенаправление на абсолютный путь URL,
Скорее используйте RequestDispatcher
. Пример:
RequestDispatcher dispatcher = request.getRequestDispatcher("demo.jsp");
dispatcher.forward(request, response);
Ответ 3
Поскольку вы уже отправили некоторые данные,
System.out.println("going to demo.jsp");
вы не сможете отправить перенаправление.
Ответ 4
Вы можете использовать это:
response.sendRedirect(String.format("%s%s", request.getContextPath(), "/views/equipment/createEquipment.jsp"));
Последняя часть - это ваш путь в вашем веб-приложении