| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > Как заставить сервлет отдавать картинки |
| Автор: stalk37 2.4.2009, 08:44 | ||
| Здраствуйте. Есть сервлет, который выдает HTML страницы. Страницы - физические файлы на сервере. Как пример
Проблема - изображения в теле страницы не подгружаются. Пробывал перед выдачей парсить текст и менять пути src="/pages/3440/ucheba3.jpg" на src="ucheba3.jpg" не помогает. Пробывал менять на варианты типа src="./pages/3440/ucheba3.jpg" или src="../pages/3440/ucheba3.jpg" тоже не работает. Cами папки находятся c:\project\website\build\web\pages\ дальще номер - имя папки, он же имя файла, скажем для вышеприведенного примера весь путь будет c:\project\website\build\web\pages\3440\3440.ascx , файлы с изображениями лежат в этой же папке. Сервер - гласфиш v2, файл считывается в строку которая выдается как переменная шаблона velocity. |
| Автор: LeNIC 2.4.2009, 09:57 |
| src="../../pages/3440/ucheba3.jpg" пробывал? |
| Автор: NeoNYura 2.4.2009, 10:14 |
| а у тебя картинка в *.war/ лежит? |
| Автор: stalk37 2.4.2009, 11:48 | ||||
Пробывал, эффекта никакого
war архив не создаю |
| Автор: garbuz 2.4.2009, 15:06 |
| Получите контекст приложения и от него уже пробуйте плясать. |
| Автор: Samotnik 2.4.2009, 15:55 |
| stalk37, нужно писать относительный путь. возьмите методом текущую директорию и через ../ получите доступ к нужной |
| Автор: Asal 2.4.2009, 15:56 |
| 1. Web.xml в студию 2. структура папок какая 3. какая папка диплоится на сервер |
| Автор: stalk37 3.4.2009, 07:50 | ||||
web-xml
sun-web.xml
структура папок проект диплоиться в папку build, ее содержимое ![]() |
| Автор: Asal 3.4.2009, 10:07 | ||
| web.xml исправить: 1. servlet-mapping - сейчас у вас этот контроллер обрабатывает все запросы, этого делать не надо, некоторые ресурсы (картинки, css и т.д.) сервер порсто отдавать должен поэтому на до исправить
2. <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> 3. исправляем 1 и 2, запускаем сервер, деплоим, идем по аддресу http://localhost:8080/WebPortal/pages/3440/ucheba3.jpg 4. если пофиксилось - говорим спасибо Добавлено через 4 минуты и 57 секунд 4. template и config думаю надо перенести в WEB-INF (WEB-INF - "защищеная" папка, к ней доступа у user-a не будет), сейчас к этим папкам есть доступ (http://localhost:8080/WebPortal/template/body.vm) Добавлено через 8 минут и 8 секунд проект собирается в папку build, а деплоится, вероятно, папка web и деплоится она в папку "domains\domain1\applications\j2ee-apps" ну или что-то похожее |
| Автор: stalk37 3.4.2009, 13:40 | ||
Получилось HTTP Status 404 Где должен быть файл index.html ??? |
| Автор: Asal 3.4.2009, 13:45 |
а что с http://localhost:8080/WebPortal/pages/3440/ucheba3.jpg ??? в корне - web/index.html |
| Автор: stalk37 3.4.2009, 13:53 | ||
А за это спасибо, это пашет, как быть чтоб теперь все остальное работало ??? |
| Автор: stalk37 3.4.2009, 14:18 | ||||
Как я понимаю вот здесь
указали чтоб сервлет обрабытывал все файлы с расширением html, как указать чтоб сервлет обрабатывал все, кроме css, js, картинок и т.п. Вот нашел описание двух вариантов (в теме JSP — с чего начать?)
Но буквы вижу а смысл не доходит, кто нибудь может кинуть пирмером кода ? |
| Автор: stalk37 6.4.2009, 09:18 |
| Спасибо, разобрался |