Изображение не отображается в JSP - PullRequest
0 голосов
/ 07 июня 2018

Я создал динамический веб-проект для показа JSP через сервлет (я не могу использовать какие-либо фреймворки, такие как Spring ...).По умолчанию мои встроенные классы были помещены в Build / classes, поэтому после того, как я изменил выходную папку на WebContent / WEB-INF / classes, мое приложение работает нормально.Послесловие я преобразовал проект в проект Maven.(Я не помню, чтобы мне нужно было менять папку вывода в последний раз, когда я работал с Servlets / JSP, что было 3 года назад!).

В любом случае, теперь я не могу отобразить изображение на своей странице, я поместил изображение в WebContent / images / logo.jpg, а также в /images/logo.jpg (ни одно из этих мест не работало!)

Это то, что я добавил в JSP для отображения изображения

<img alt="1" src="/images/logo.jpg" width="88"> 
<img alt="2" src="images/logo.jpg" width="88">
<img alt="3" src="<c:url value='/images/logo.jpg'/>" width="88">
<img alt="4" src="<c:url value='images/logo.jpg'/>" width="88">
<img alt="5" src="/<c:url value='/images/logo.jpg'/>" width="88">
<img alt="6" src="/<c:url value='images/logo.jpg'/>" width="88">
<img alt="7" src="<% request.getContextPath(); %>/images/logo.jpg" width="88">
<img alt="8" src="<% request.getContextPath(); %>images/logo.jpg" width="88">
<img alt="9" src="/<% request.getContextPath(); %>/images/logo.jpg" width="88">
<img alt="A" src="/<% request.getContextPath(); %>images/logo.jpg" width="88">
<img alt="B" src="/WebContent/images/logo.jpg" width="88"> 
<img alt="C" src="WebContent/images/logo.jpg" width="88">
<img alt="D" src="<c:url value='/WebContent/images/logo.jpg'/>" width="88">
<img alt="E" src="<c:url value='WebContent/images/logo.jpg'/>" width="88">
<img alt="F" src="/<c:url value='/WebContent/images/logo.jpg'/>" width="88">
<img alt="G" src="/<c:url value='WebContent/images/logo.jpg'/>" width="88">
<img alt="H" src="<% request.getContextPath(); %>/WebContent/images/logo.jpg" width="88">
<img alt="I" src="<% request.getContextPath(); %>WebContent/images/logo.jpg" width="88">
<img alt="J" src="/<% request.getContextPath(); %>/WebContent/images/logo.jpg" width="88">
<img alt="K" src="<% request.getContextPath(); %>WebContent/images/logo.jpg" width="88">
<img alt="L" src="${pageContext.request.contextPath}/WebContent/images/logo.jpg" width="88">
<img alt="M" src="${pageContext.request.contextPath}WebContent/images/logo.jpg" width="88">
<img alt="N" src="/${pageContext.request.contextPath}/WebContent/images/logo.jpg" width="88">
<img alt="O" src="/${pageContext.request.contextPath}WebContent/images/logo.jpg" width="88">
<img alt="P" src="${pageContext.request.contextPath}/images/logo.jpg" width="88">
<img alt="Q" src="${pageContext.request.contextPath}images/logo.jpg" width="88">
<img alt="R" src="/${pageContext.request.contextPath}/images/logo.jpg" width="88">
<img alt="S" src="/${pageContext.request.contextPath}images/logo.jpg" width="88">

Я также добавил эту строку в JSP для отладки contextPath

<c:url value='images/logo.jpg'/><br /><br /> <!-- shows: images/logo.jpg -->
<% request.getContextPath(); %> <br />       <!-- shows nothing! in the JSP but shows /GraphGenerator from the servlet (using sysout)-->
${pageContext.request.contextPath} <br />    <!-- shows: /GraphsGenerator (name of the project as displayed in the url http:localhost:8080/GraphsGenerator/ -->

Это структура проекта:

enter image description here

Я использую:

  • Java 8.
  • Eclipse IDE.
  • Динамический веб-модуль v3.1.
  • Сервер Tomcat v9.0

Если вы сможете найти решение (и объяснение тоже было бы неплохо), я будуочень благодарны.Спасибо!

1 Ответ

0 голосов
/ 07 июня 2018

Добавьте ресурсы папки в папку scr и добавьте туда свои изображения

 |-- pom.xml
 `-- src
     `-- main
         |-- java
         |   `-- com
         |       `-- example
         |           `-- projects
         |               `-- SampleAction.java
         |-- resources
         |   `-- images
         |       `-- sampleimage.jpg // Add your image here
         `-- webapp
             |-- WEB-INF
             |   `-- web.xml
             |-- index.jsp
             `-- jsp
                 `-- websource.jsp

Это базовая структура maven, и она породит войну с этой структурой

  |-- META-INF
  |   |-- MANIFEST.MF
  |   `-- maven
  |       `-- com.example.projects
  |           `-- documentedproject
  |               |-- pom.properties
  |               `-- pom.xml
  |-- WEB-INF
  |   |-- classes
  |   |   |-- com
  |   |   |   `-- example
  |   |   |       `-- projects
  |   |   |           `-- SampleAction.class
  |   |   `-- images
  |   |       `-- sampleimage.jpg
  |   `-- web.xml
  |-- index.jsp
  `-- jsp
      `-- websource.jsp

От Документация Maven

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