Ошибка включения JSP на сервере
У меня есть файл JSP в каталоге, и я пытаюсь включить другой файл из каталога выше. Он отлично работает в localhost, но когда тот же файл загружен на сервер, я получаю ошибки.
Мои испытания:
Испытание 1
<jsp:include page="../top_links.jsp" />
Ошибка:
org.apache.jasper.JasperException: An exception occurred processing JSP page /aboutus.jsp at line 17 (<jsp:include is at line 17)
Испытание 2
<jsp:include page="/top_links.jsp" />
Ошибка:
File "/top_links.jsp" not found
Испытание 3
<% String myUrl = request.getContextPath() + "/top_links.jsp"; %>
<jsp:include page='<%=myUrl%>' />
Ошибка:
File "/about/top_links.jsp" not found
Пожалуйста, помогите, как включить файл jsp из верхнего / другого каталога в текущий jsp:include. Если файл перемещен в текущий рабочий каталог, то ошибки нет.
PS: было много других испытаний, которые также приводили к нежелательным результатам.
1 ответ
Если под "другим каталогом" вы подразумеваете другой каталог в том же приложении, он должен работать. Если под "другим каталогом" вы подразумеваете другое приложение, оно не будет работать. Также вы не должны хотеть, чтобы это работало в этом случае, поскольку каждое приложение должно быть разделено до сессий.
В случае, если терминология сбивает с толку. Папки, находящиеся непосредственно в веб-приложениях, являются приложениями, а не обычными каталогами для целей Tomcat (или любого другого контейнера вашего сервлета). Папки в этих приложениях можно рассматривать просто как каталоги.