JSP в / WEB-INF возвращает «HTTP-статус 404 Запрошенный ресурс недоступен» - PullRequest
7 голосов
/ 05 марта 2010

Я создал файл JSP.

sample.jsp

<%@ page pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
  <head>
    <title>Insert title here</title>
  </head>
  <body>
    This is jsp program
  </body>
</html>

Я разместил его здесь в проекте samplejsp.

samplejsp
 `-- WebContent
      `-- WEB-INF
           `-- sample.jsp

Я открыл его по следующему URL.

http://localhost:8080/samplejsp/sample.jsp

Но в браузере отображается следующая ошибка.

404 ОШИБКА

Запрашиваемый ресурс (/sample.jsp) недоступен.

Ответы [ 2 ]

8 голосов
/ 05 марта 2010

404 просто означает «Не найдено» .

Либо неверный URL (примечание: чувствителен к регистру!), Либо ресурс не там, где вы думаете.

Просто проверьте URL и / или убедитесь, что ресурс находится там, где вы ожидаете его найти.Вы поместили sample.jsp в папку /WEB-INF.Таким образом, он недоступен для общего доступа без вызова через сервлет фронт-контроллера.

Поместите его снаружи /WEB-INF.

samplejsp
 `-- WebContent
      |-- WEB-INF
      `-- sample.jsp

Если вы хотите сохранить его в /WEB-INF, то вынеобходимо создать сервлет фронт-контроллера, который перенаправляет его в метод doGet(), как показано ниже.

request.getRequestDispatcher("/WEB-INF/sample.jsp").forward(request, response);

Наконец, "откройте" JSP, просто вызвав фактический URL-адрес сервлета вместо фиктивного URL-адреса JSP.

См. Также:

1 голос
/ 05 марта 2010

В основном это связано с вашей структурой каталогов или упаковкой.
Можете ли вы добавить свою структуру каталогов?

Аналогично ниже -

src 
|-html\
|-jsp\

Возможно, это следует сделать

<form action="sample.jsp" method=get>
      <input type =submit value="submit">
</form>

Редактировать - WEB-INF не разрешает прямой доступ к JSP.

...