Вставить изображение на страницу jsp
мне жаль, что мне нужно спросить об этом, но я уже потратил три дня, пытаясь это сделать. Я buidling Java веб-приложение, и я хочу включить изображение на страницу JSP. Имя проекта-realestates, и у меня есть папка Files внутри папки realestates.
мой код выглядит так:
<img alt="govno" src="<%=request.getContextPath() + "/Files/kurac.jpg"%>" style="width: 400px; height: 300px;">
Это то, что генерируется на странице после ее открытия в браузере:
<img alt="govno" src="/realestates/Files/kurac.jpg" style="width: 400px; height: 300px;">
но, изображение не dispayed, только alt "govno" написано. Я перепробовал много, много путей. (относительная, абсолютная, измененная структура папок миллион раз и все, что я мог придумать и найти в интернете, но ничего не помогло). Кто сказал бы, что это будет так трудно сделать???
структура папок на сервере Tomcat после развертывания:
webapps
- realestates
|- WEB-INF
|- Files
|- kurac.jpg
4 ответов
вот парень, объясняющий это менее чем за минуту.
https://www.youtube.com/watch?v=dwjwSYOrnS8
поэтому требуются две вещи:
1.Добавьте эту строку в некоторый конфигурационный xml-файл
<mvc:resources location="/files/" mapping="/files/**"></mvc:resources>
2.Включите изображение в страницу JSP с этой строкой
<img src='<c:url value="/files/korali.jpg"></c:url>' />
Я прочитал Ваш вопрос, и у меня есть одно решение для вашей проблемы, вы можете использовать входной поток для добавления изображения на странице JSP...
ЭТО ПРОСТО ПРИМЕР...И МОЖЕТ ИМЕТЬ ОШИБКУ, НО ЭТО СПОСОБ ВСТАВКИ ИЗОБРАЖЕНИЯ В JSP...
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection connection =
DriverManager.getConnection(connectionURL, "user", "pass");
psmnt = connection.prepareStatement(
"insert into save_image(user, image) values(?,?)");
psmnt.setString(1, username);
ImageIO.write(image, "png", new File("C://image.png"));
File imageFile = new File("C://image.png");
FileInputStream fis = new FileInputStream(imageFile);
psmnt.setBinaryStream(2, (InputStream)fis, (fis.length()));
int s = psmnt.executeUpdate();
Похоже, вы сами (и все остальные) путаете, где находится изображение.
Из вашего вопроса, кажется, в webapps/realestates/Files/kurac.jpg
, Так что это должно работать:
<img src="/realestates/Files/kurac.jpg">
из вашего первого комментария, это в C:/Users/Lazar/Documents/workspace-sts-3.8.3.RELEASE/realestates/Files/kurac.jpg
, поэтому он не будет доступен через http://
.
Это не сработает.
из вашего более позднего комментария, это в /webapp/realestates/WEB-INF/Files/kurac.jpg
.
Файлы внутри WEB-INF не являются общедоступными.
Это тоже не сработает.
в крайнем случае переместите файл изображения в webapps/ROOT
справочник.
Попробуй!--7--> из Вашего браузера.
Заменить localhost
С hostname сервера по мере необходимости.
Если это работает, это будет работать так:
<img src="/kurac.jpg">
если это не так, что-то не так с вашей конфигурацией Tomcat. Попробуйте переустановить.
сначала вы должны создать папку изображений вне WEB-INF
каталог и попробуйте этот код <img src="${pageContext.request.contextPath}/Files/kurac.jpg"/>