Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> contentType 
:(
    Опции темы
sergejzr
Дата 11.10.2007, 01:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 2
Всего: 360



Приветы, уважаемые профи!

Контролируемо отдаю файлы через сервлет. При этом возникла маленькая проблемка. Как узнать contentType от файла, который я отдаю, чтобы продиспетчить его клиенту? То есть нужно узнать, с каким типом томкет отдал бы файл.


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Stampede
Дата 11.10.2007, 01:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гносеолог
**


Профиль
Группа: Участник Клуба
Сообщений: 963
Регистрация: 25.4.2005
Где: Calgary, Alberta, Canada

Репутация: 66
Всего: 144



sergejzr, ты уверен, что тебе нужно это знать? Если ты перенаправишь через RequestDispatcher.forward(path), то управление получит дефолтный сервлет Томката и сам выставит тот Content-Type, который нужно.

Сами значения content types (в зависимости от расширения файла) прописаны в {TOMCAT_HOME}/conf/web.xml, в секции mime-mappings. Согласно спеку, в рантайме mime-type можно получить вызовом servletContext.getMimeType(String filename). Но я подчеркиваю: возможно, это тебе и не понадобится.

Цитата

String getMimeType(String file)

    Returns the MIME type of the specified file, or null if the MIME type is not known. The MIME type is determined by the configuration of the servlet container, and may be specified in a web application deployment descriptor. Common MIME types are "text/html" and "image/gif".

    Parameters:
        file - a String specifying the name of a file 
    Returns:
        a String specifying the file's MIME type

Источник: http://java.sun.com/javaee/5/docs/api/java...letContext.html


Успехов! smile


Это сообщение отредактировал(а) Stampede - 11.10.2007, 02:01


--------------------
"If you want something done right, do it yourself"
По секрету: выучить английский - реально!
PM WWW   Вверх
Се ля ви
Дата 11.10.2007, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java/SOAрхитектор
****


Профиль
Группа: Модератор
Сообщений: 2016
Регистрация: 5.6.2004
Где: place without tim e and space

Репутация: 3
Всего: 127



smile
BTW, читаю и не понимаю - Stampede, а откуда следует, что речь идёт о tomcat`е? smile


--------------------
  )
 (
[_])
проф. блог

Кролики думали, что занимаются любовью, а на самом деле их просто разводили...
PM MAIL WWW Skype GTalk   Вверх
Maksym
Дата 11.10.2007, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


.
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 19.8.2005
Где: Odessa, Black Sea

Репутация: 24
Всего: 62



Се ля ви
Скорее всего Tomcat не сам такое поведение придумал, а работает по спецификации.. хотя не уверен, надо почитать..
PM MAIL   Вверх
sergejzr
Дата 11.10.2007, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 2
Всего: 360



Цитата(Се ля ви @  11.10.2007,  11:57 Найти цитируемый пост)
BTW, читаю и не понимаю - Stampede, а откуда следует, что речь идёт о tomcat`е? smile 


Цитата(sergejzr @  11.10.2007,  00:11 Найти цитируемый пост)
с каким типом томкет отдал бы файл.


smile

Stampede, супер, спасибо!

Цитата(Stampede @  11.10.2007,  00:59 Найти цитируемый пост)
sergejzr, ты уверен, что тебе нужно это знать? Если ты перенаправишь через RequestDispatcher.forward(path), то управление получит дефолтный сервлет Томката и сам выставит тот Content-Type, который нужно.


к сож RequestDispatcher получает на вход request и response, а не path. Как собрать/подменить request я не представляю. Воторой вариант однако с servletContext.getMimeType сработал smile



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
sergejzr
Дата 12.10.2007, 01:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 2
Всего: 360



Stampede, Нашёл, как правильно пользоваться smile


Код

RequestDispatcher disp= request.getRequestDispatcher(path) ;

disp.forward(request,response);
return;

Ещё раз огромное спасибо!  smile  smile 


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Се ля ви
Дата 12.10.2007, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java/SOAрхитектор
****


Профиль
Группа: Модератор
Сообщений: 2016
Регистрация: 5.6.2004
Где: place without tim e and space

Репутация: 3
Всего: 127



 smile
sergejzr, ок, не уследил просто smile


--------------------
  )
 (
[_])
проф. блог

Кролики думали, что занимаются любовью, а на самом деле их просто разводили...
PM MAIL WWW Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.1019 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.