Сервлеты + JSP, приводящие к ответу 404 и ошибке сервера "PWC6117" - PullRequest
0 голосов
/ 27 сентября 2019

Я новичок в Java Web и изучаю чистые сервлеты и JSP (без фреймворков).Я пытаюсь создать простой CRUD, и я застрял в ошибке, которая не имеет никакого смысла (по крайней мере, для меня!).

Цель

Я хочу создать простой CRUD снесколько сервлетов, содержащих логику и операции с базой данных ( контроллер ) и JSP для отображения страниц ( просмотров ).Я уже успешно создал CustomerIndexServlet (маршрут: / клиенты ), который возвращает список записей и кнопку на CustomerNewServlet (маршрут: / клиенты / новые )который ДОЛЖЕН вернуть JSP с формой для создания новых записей.

Проблема

Вызов CustomerNewServlet приводит к Страница не найдена (404) , и GlassFish печатает сообщение PWC6117: Файл "null" не найден в консоли.При отладке кода возникает ошибка при пересылке запроса через RequestDispatcher.Я не понимаю!Если я пытаюсь получить прямой доступ к JSP (при http://localhost:8080/MyApp/customerForm.jsp), он возвращает OK (200). Я даже напечатал путь JSP перед пересылкой, чтобы убедиться, что он ожидаемый!

@WebServlet(name = "NewCustomer", urlPatterns = {"/customers/new"})
public class NewCustomerServlet extends HttpServlet {

    @Override
    protected void doGet(
        HttpServletRequest request,
        HttpServletResponse response
    ) throws ServletException, IOException {

        System.out.println(request.getContextPath());
        if (request.getSession().getAttribute("login") == null)
/*error*/   request.getRequestDispatcher(request.getContextPath()).forward(request, response);
        else
/*error*/   request.getRequestDispatcher(request.getContextPath() + "/customerForm").forward(request, response);
    }
}

А в консоли сервера это отображается:

Info:   /MyApp
Server: PWC6117: File "null" not found

Что я делаю не так? Имеет ли это какое-то отношение к расположению файлов и каталогам?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...