Image Src для вызова сервлета - PullRequest
0 голосов
/ 23 марта 2012

Я хочу вызвать сервлет из img src. Я определил класс сервлета с именем ImageProducerServlet и зарегистрировал его в web.xml:

<servlet>
   <servlet-name>ImageProducerServlet</servlet-name>
   <servlet-class>com.company.servlet.ImageProducerServlet</servlet-class>    
</servlet>
<servlet-mapping>
   <servlet-name>ImageProducerServlet</servlet-name>
   <url-pattern>/imageproducerservlet</url-pattern>
</servlet-mapping>

В doGet этого сервлета я только что написал System.out. Теперь со страницы JSF я называю этот сервлет как:

<img src="/imageProducerServlet" id="id"/>

Я ожидал, что он напечатает System.out! Но это не так.

URL-адрес страницы, на которой добавляется img:

http://localhost:7101/mycompany/faces/home

Если я напишу в адресной строке следующий URL:

http://localhost:7101/mycompany/imageproducerservlet

и нажмите enter, после чего выполняется doGet сервлета.

Я не могу найти решение.

Будет очень полезно, если я получу ваши предложения.

Спасибо и всего наилучшего.

Ответы [ 3 ]

3 голосов
/ 23 марта 2012

Просто скажи

<img src="imageProducerServlet" id="id"/>

или

<img src="/mycompany/imageProducerServlet" id="id"/>
3 голосов
/ 23 марта 2012

Если это работает:

http://localhost:7101/mycompany/imageproducerservlet

, тогда ваш img-тег должен выглядеть так:

<img src="/mycompany/imageProducerServlet" id="id"/>
1 голос
/ 23 марта 2012

Вам необходимо предварительно указать контекстный путь. Желательно, чтобы он не кодировался жестко, поскольку контекстный путь является настройкой, управляемой сервером. Вы можете получить его из HTTP-запроса следующим образом:

<img src="#{request.contextPath}/imageProducerServlet" id="id"/>

Альтернативой является использование тега HTML <base> и установка его для URL-адреса корневого контекста. Таким образом, каждый URL, который не начинается с /, будет относительным к нему.

Смотри также:

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