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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> url mapping, Сервлет в Tomcat по умолчанию 
V
    Опции темы
tux
Дата 1.12.2007, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



Цитата(SuperFly @  1.12.2007,  13:25 Найти цитируемый пост)
Я не могу понять, почему шаблону <url-pattern>/status/*</url-pattern> подходит http://example.com/examples/status 

Каждое джавное веб-приложение обладает контекстом. Ну или иными словами это корень приложения. Например в данном случае для приложения контекст - это '/examples'. По контексту контейнер определяет какому приложению передать управление и все что внутри этого контекста уже управляет самим приложением. Поэтому маска в паттерне - /status/*. Какой контекст соответствует приложению управляется средствами веб-контейнера. У Томката по дефолту это имя war-файла, но можно поменять хоть на '/'.

Цитата(Platon @  1.12.2007,  10:56 Найти цитируемый пост)
Бедный паренек, столько вопросов, еще раз убеждаюсь, что дело Java for Web гиблое, уж больно туго становление происходит... 

Это относительно к вам дело гиблое? В мировом масштабе факты говорят об обратном. Подавляющее большинство приложений на Java - как раз веб-приложения. И корпорации вкладывают гигантские деньги в инструменты и сами приложения. Много ли денег крутится в PHP? У Java и PHP разные ниши. У Java гораздо большая масштабируемость и огромное количество технологий, нужных для корпоративных приложений. Результат - большая сложность.
PM MAIL Skype GTalk Jabber YIM   Вверх
ivg
Дата 1.12.2007, 18:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Autonomous R&D
**


Профиль
Группа: Участник
Сообщений: 686
Регистрация: 8.2.2006
Где: Екатеринбург

Репутация: 32
Всего: 81



Нв самом деле в варианте с
Код

<servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>/images/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>

дефолтный сервлет вызывается, а
Цитата(SuperFly @  30.11.2007,  20:08 Найти цитируемый пост)
ресурс не найден в случае /images/*

потому что путь для поиска ресурса, при указанном сервлет-маппинге, он берёт как то, что идет после /images (request.getPathInfo()), а ищет относительно корневой директории контекста. Баг?  smile
Попробуйте http://localhost:8080/velo/images/images/image.gif...
Можно, конечно придумать workaround, но чем не устраивает вариант webjavenue:
Код

<servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.gif</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

ну или dispatcher замапить на несколько папок, а корень оставить дефолтному сервлету
Если и это не подходит, то javax.servlet.RequestDispatcher вам в руки  smile

[off]А что такая сессия короткая на форуме, пока ответ наберёшь, уже вылетел :( [/off]

Это сообщение отредактировал(а) ivg - 1.12.2007, 19:00
PM MAIL   Вверх
SuperFly
Дата 1.12.2007, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 19.11.2007

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



Цитата(ivg @  1.12.2007,  18:53 Найти цитируемый пост)
Попробуйте http://localhost:8080/velo/images/images/image.gif...

Да, реально работает smile


Цитата(ivg @  1.12.2007,  18:53 Найти цитируемый пост)
Можно, конечно придумать workaround, но чем не устраивает вариант webjavenue:

А потому, что хочется тупо публичную папку, в которой будут все данные, которые разрешено извлекать.
PM   Вверх
ivg
Дата 1.12.2007, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Autonomous R&D
**


Профиль
Группа: Участник
Сообщений: 686
Регистрация: 8.2.2006
Где: Екатеринбург

Репутация: 32
Всего: 81



Цитата(SuperFly @  1.12.2007,  19:42 Найти цитируемый пост)
А потому, что хочется тупо публичную папку, в которой будут все данные, которые разрешено извлекать

так закройте диспетчером то что нельзя извлекать, корень и все остальные папки будут "публичными":
Код

<servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/somewhat/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/blabla/*</url-pattern>
    </servlet-mapping>

PM MAIL   Вверх
SuperFly
Дата 2.12.2007, 00:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 19.11.2007

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



ivg, всё лишь бы не отвечать на вопрос ^_^
я хочу сделать 1 папку публичной и все осталные обрабатываемые диспетчером, а не наоборот.
PM   Вверх
SuperFly
Дата 2.12.2007, 01:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 19.11.2007

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



Цитата(tux @  1.12.2007,  15:57 Найти цитируемый пост)
Это относительно к вам дело гиблое?

Обидно.. досадно..

Цитата

Например в данном случае для приложения контекст - это '/examples'.


Нет, меня на самом деле удивило не это. На самом деле я говорил про то, что /status/* есть обратный слеш. и как бы я и не могу понять, почему тут examples/status без закрывающего слеша проходит?

Это сообщение отредактировал(а) SuperFly - 2.12.2007, 01:41
PM   Вверх
SuperFly
Дата 2.12.2007, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 19.11.2007

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



ivg, до меня только щас дошщел ваш пост!!! Спасибо!!!
Бескрайне рад.
Тогда, чтоб url был красивый, я сделаю <url-pattern>/public/*</url-pattern>
Получится: http://mysite.ru/public/images/1.gif
http://mysite.ru/public/html/page.html
http://mysite.ru/public/html/filestorage/g.zip
Просто бескрайне рад!!!

Остался последний вопрос!!!

Это сообщение отредактировал(а) SuperFly - 2.12.2007, 09:08
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0519 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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