Не комментируйте соглашение, используемое для именования пакетов в Java.атрибут страницы в <jsp:include> с @WebServlet и web.xml
Существует сервлет, внутри упаковки Ch7ActionTags сопоставляются с
@WebServlet("/FlavorListServlet")
Моя страница JSP находится в папке под WebContent чей путь:
/Ch7RequestDispatching/ActionTags/MyPage.jsp
вышеупомянутый сервлет включен в эту страницу jsp следующим образом.
<jsp:include page="/FlavorListServlet"></jsp:include>
Когда я попытался запустить эту страницу JSP, URL-адрес в браузере отражает как
http://localhost:7860/Phil_Hanna/Ch7RequestDispatching/ActionTags/MyPage.jsp
и сервлет успешно включен.
Я пытался экспериментировать с прямой слэш /
Но это не сработало:
<jsp:include page="FlavorListServlet"></jsp:include>
<jsp:include page="/Ch7RequestDispatching/ActionTags/FlavorListServlet"></jsp:include>
Сейчас происходит через тот же процесс (замена @WebServlet аннотацию путем сервлет-сопоставления в файле web.xml)
<servlet>
<servlet-name>FlavorListServletName</servlet-name>
<servlet-class>Ch7ActionTags.FlavorListServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FlavorListServletName</servlet-name>
<url-paatern>/Ch7RequestDispatching/ActionTags/FlavorListServlet
</url-pattern>
</servlet-mapping>
страница Моя JSP Сейчас:
<jsp:include page="FlavorListServlet"></jsp:include> <%--/is absent here --%>
С выше отображения, содержание сервлет успешно включен.
Но это не работает,
<jsp:include page="/FlavorListServlet"></jsp:include>
Итак, очевидный вопрос, почему существует разница / при работе с 2 возможных сценариев:
<jsp:include page="/FlavorListServlet"></jsp:include> works with @WebServlet
<jsp:include page="FlavorListServlet"></jsp:include> works with web.xml
Sarvard: Я upvoted вас. Но можете ли вы немного разобраться во 2-м пункте. Первый pt. мне ясно. –
@ShirgillAnsari Обычно путь контекста веб-приложения - это имя вашего военного файла. –
@Sarvard: Большое спасибо за помощь. –