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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Динамическое добавление страниц, Добавление алиасов для новых страниц 
:(
    Опции темы
llalive
  Дата 5.8.2011, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Добрый день.
Имеется следующую ситуацию - мы можем добавлять через админку новые страницы на сайт. Нужно как-то реализовать, дабы осуществлялся редирект к новым страницам. Например, создали страницу news и указали для неё alias /news
Пытался решить несколькими способами.
1. Общий сервлет (контроллер), который имеет шаблон URL "/*". Тут возникла проблема, что данный сервлет перехватывает всё подряд - в том числе и пути до css, image и прочее.
- Можно ли как-то запретить данному серлету брать на себя запросы к примеру с URL /images/*. Или можно как-то пропускать данные запросы через сервлет и доставлять куда нужно? (используя например sendRedirect или requestDispatcher.forward - запрос вновь попадает на этот сервлет и зацикливается).
2. Динамически менял web.xml (парсил с базы все алиасы страниц и добавлял их как <url-pattern> в конфиг). Но этот способ мягко говоря не правильный - web.xml менять не есть хорошо, да и без редеплоя web.xml не подсасывается. 
- Существует ли возможность программной перегрузки файла web.xml в процессе работы?

Во-общем, надеюсь на подсказку более рационального решения данной задачи (SpringSecurity часто упоминали в данном контексте, но желательно без фреймворков обойтись). Заранее спасибо.
PM MAIL   Вверх
Stolzen
Дата 5.8.2011, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1041
Регистрация: 17.10.2005

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



Можно сделать RouteFilter, который будет считывать данные о маппинге страниц из файла.
Например, в Gaelyk такое сделано, можно посмотреть

Код

<filter>
<filter-name>RoutesFilter</filter-name>
<filter-class>groovyx.gaelyk.routes.RoutesFilter</filter-class>
<init-param>
<param-name>routes.location</param-name>
<param-value>WEB-INF/blogRoutes.groovy</param-value>
</init-param>
</filter>

<filter-mapping>
<filter-name>RoutesFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>




Это сообщение отредактировал(а) Stolzen - 5.8.2011, 13:10


--------------------
datatalks.ru - анализ данных, статистика, машинное обучение
PM MAIL WWW   Вверх
AntonSaburov
Дата 5.8.2011, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

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



Так может для страниц сделать отдельный каталог и пусть сервлет перехватывает обращения только туда ?
PM MAIL WWW ICQ   Вверх
Farmazon
Дата 5.8.2011, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Разработчик
**


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

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



Front Controller штоле?...


--------------------
Таково моё общее мнение.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0412 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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