Почему мой включенный JSP не найден? - PullRequest
4 голосов
/ 27 августа 2011

main.jsp - это местоположение в этом каталоге веб-приложения:

/WEB-INF/jsps/foo/section/main.jsp

main.jsp содержит следующую строку кода, чтобы попытаться включить код, содержащийся в mainInclude.jsp, который находится вдругой каталог:

<jsp:include page="/WEB-INF/jsps/foo/includes/mainInclude.jsp" />

Однако это приводит к следующей ошибке:

javax.servlet.ServletException: 
File '/WEB-INF/jsps/foo/includes/mainInclude.jsp' not found 

Почему это не найдено?Я проверил местоположение, и оно появляется там, где написано.

Ответы [ 3 ]

5 голосов
/ 01 февраля 2012

Измените тэг jsp include

<jsp:include page="../includes/mainInclude.jsp" />

Это должно сработать.Проверьте затмения, если они переносятся в каталог foo, или поместите туда еще один .. / .

2 голосов
/ 27 августа 2011

Все выглядит хорошо. Если вы получаете эту ошибку, то это просто означает, что в пути есть опечатка (чувствительна к регистру!), Или что файл фактически не был опубликован / развернут на сервере, или что сервер действительно должен быть перезапущен.

Если вы разрабатываете, например, с Eclipse / Tomcat, и вы только что добавили этот файл во время работы Tomcat, вам необходимо убедиться, что Tomcat настроен на публикацию изменений во время работы. Для этого дважды щелкните запись Tomcat в представлении Servers , перейдите в раздел Publishing справа вверху и убедитесь, что он установлен следующим образом:

enter image description here


Именно по умолчанию установлено значение Никогда не публиковать автоматически .

0 голосов
/ 27 августа 2011
This should work <jsp:include page="/WEB-INF/jsps/foo/includes/mainInclude.jsp"/>
  • Если проблема все еще существует, очистите проект должным образом.

  • Проверьте, включена ли автоматическая публикация в настройках сервера eclipse.

  • Файл WAR проекта можно использовать для развертывания на сервере, чтобы проверить, есть ли какие-либо проблемы в Eclipse.

    Получить путь к папке WEB-INF

...