Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > nice url (rewrite)


Автор: gelo86 27.10.2011, 19:37
При таких условиях:
Код

context name (war name) - userApp
servlet name - infodb
uri - users/124

Полный URL будет http://localhost:8080/userApp/infodb/users/124. Мне охото чтобы било http://localhost/users/124.
К tomcat подключил mod_jk (JkMount /userApp/infodb/* worker1) и rewrite (RewriteRule /$ /userApp/infodb/index [L]). Теперь http://localhost/ загружает http://localhost:8080/userApp/infodb/index (в браузаре остаётся http://localhost/).
Так как в jsp в линках используется полный путь <a href="/userApp/infodb/otherPage">, то после нажатия, юсер все равно видет "/userApp/infodb". 
Как правильно делать, чтоби и на томкате линки рабочие били и в продакшыне красивые?

Автор: gelo86 28.10.2011, 12:57
Придумал что можна context path примаппить к "/". Но я в web.xml прописываю:
Код

    <servlet-mapping>
        <servlet-name>ServletХХХ</servlet-name>
        <url-pattern>/infodb/*</url-pattern>
    </servlet-mapping>

Делаю я ето для того, чтобы рекуесты к рисункам, цсс и т.д. не проходили через мой сервлет. Если я напишу <url-pattern>/*</url-pattern>, то я достигну желаемого урл в броузаре, но я нехочю чтобы рекуесты других ресурсов (ресунков, ...) шли через мой сервлет. Что можете посоветовать ?

Автор: Skipy 28.10.2011, 13:41
Под ресурсы организовать отдельный поддомен, развернуть его на том же сервере.

Автор: gelo86 28.10.2011, 17:04
Цитата(Skipy @  28.10.2011,  13:41 Найти цитируемый пост)
Под ресурсы организовать отдельный поддомен, развернуть его на том же сервере. 

Ви так в практике делаете ?

Автор: gelo86 28.10.2011, 19:20
А если сервлеты маппить к /ru/*, /en/* а не к /infodb/* ? Токгда и урл будет вигледеть по правилам REST'а  http://localhost:8080/ru/index ?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)