Jsp включить не работает: файл не найден, статус 500 - PullRequest
0 голосов
/ 31 марта 2020

У меня есть такая структура каталогов:

enter image description here

Попытка включить header.jsp в home.jsp следующим образом:

<%--
  Created by IntelliJ IDEA.
  User: Irina
  Date: 31.03.20
  Time: 20:58
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<jsp:include page="${pageContext.request.contextPath}/shared/header.jsp" />
<a href="${pageContext.request.contextPath}/login">Login</a>
<a href="${pageContext.request.contextPath}/signup">Signup</a>

</body>
</html>

завершается с ошибкой org.apache.jasper.JasperException: javax.servlet.ServletException: File [/comediansapp/shared/header.jsp] not found. Что я делаю не так?

1 Ответ

2 голосов
/ 31 марта 2020

Укажите путь относительно текущей страницы. Попробуйте:

<jsp:include page="shared/header.jsp"/>  

${pageContext.request.contextPath} - это текущий contextPath приложения в вашем случае comediansapp , поэтому он попытается найти файл по пути / comediansapp / shared /header.jsp

Пожалуйста, проверьте: { ссылка }

Полный пример, который я пробовал:

Project

index. jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<jsp:include page="shared/header.jsp" />
<a href="${pageContext.request.contextPath}/login.jsp">Login</a>
<a href="${pageContext.request.contextPath}/signup.jsp">Signup</a>

</body>
</html>

shared / header. jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>

<nav style="height:50px; background:red;">
    <strong> JSP!!! </strong>
</nav>

Рабочий пример: Working Example

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