Сократить путь службы REST в приложении JBoss Seam по-прежнему неправильно - PullRequest
2 голосов
/ 27 октября 2010

У меня похожий вопрос: Сократить путь службы REST в приложении JBoss Seam Но не смог прокомментировать ответ капитана корабля из-за моего первого представителя. Его комментарий 19 июля в 18:10 неправильно понял ситуацию:

Сервлет Faces отображается с помощью шаблона URL *.xhtml, а сервлет ресурсов Seam отображается на /*. /* теперь получает все шаблоны URL, даже те из *.html, потому что он имеет больший приоритет при сопоставлении шаблонов URL.

Что я могу изменить в файле component.xml в коде (поведение по умолчанию): <resteasy:application resource-path-prefix="/rest"/> и на web.xml в коде ниже:

<servlet-mapping> 
    <servlet-name>Seam Resource Servlet</servlet-name>
    <url-pattern>/seam/resource/*</url-pattern>
</servlet-mapping>

Таким образом, чтобы мой ресурс RestEasy мог быть доступен по пути, подобному /rest/<resource> вместо /seam/resource/rest/<resource>, без признания недействительными моих сервлетов *.xhtml face (используя его подсказку об изменении шаблона URL сервлета ресурса Seam на /*)

(Это в основном нерешенный вопрос о kongo09, более подробно).

1 Ответ

0 голосов
/ 14 июня 2011

Вы ищете решение для перезаписи URL. Seam / RestEasy по-прежнему получает полный URL, но клиент получит довольно короткий URL.

Если вы используете AJP и Apache в качестве внешнего интерфейса, вы можете использовать стандартный httpd mod_rewrite http://httpd.apache.org/docs/2.0/misc/rewriteguide.html.

Если вы можете позволить себе JSF2, более простым решением будет PrettyFaces http://ocpsoft.com/prettyfaces/

...