Переслать (запрос, ответ) не пересылает 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

Другие вопросы по тегам