Переслать (запрос, ответ) не пересылает URL
Я делаю проект с использованием Java-сервлетов. Я должен включить код в уже работающий сайт. Я использую NetBeans, а сервер - Tomcat. Код, который я добавил, очень похож на некоторые части кода сайта. Мне пришлось создать новый контроллер, который читает из базы данных и отображает, добавляет, обновляет и удаляет информацию. Сайт работал с разными сервлетами, которые мы создали, но для проекта необходимо создать сервлет контроллера. Это часть кода контроллера:
public class MaintController extends HttpServlet {
@Override
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
String requestURI = request.getRequestURI();
String url = "/maint";
if (requestURI.endsWith("/displayProducts")) {
url = displayProducts(request, response);
} else if (requestURI.endsWith("/addProduct")) {
url = addProduct(request, response);
} else if (requestURI.endsWith("/editProduct")) {
url = editProduct(request, response);
} else if (requestURI.endsWith("/deleteProduct")){
deleteProduct(request, response);
}
getServletContext()
.getRequestDispatcher(url)
.forward(request, response);
}
private String displayProducts(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
HttpSession session = request.getSession();
List<Product> products = ProductDB.selectProducts();
session.setAttribute("products", products);
out.println(products);
String url= "/maint/products.jps";
return url;
}
Дело в том, что при отладке сайта я вижу, что при вводе URL, который заканчивается /displayProducts
displayProducts
Доступ к функции, продукты читаются и URL возвращается, но когда элемент управления переходит к getServletContext().getRequestDispatcher(url).forward(request, response);
URL-адрес не пересылается, и я получаю ошибку 404, когда URL-адрес существует.
2 ответа
Я вижу в методе displayProducts(), вы определили URL следующим образом:
String url= "/maint/products.jps";
разве это не опечатка?
String url= "/maint/products.jsp";
расширение файла неверно, верно?
Ошибка 404 указывает на то, что запрошенная страница не найдена. Ваш обратный URL
String url= "/maint/products.jps";
расширение запрашиваемой страницы неверно. Это должен быть products.jsp