Возможно ли, чтобы сервлет перенаправлялся на jsp за пределами его корня контекста?

В настоящее время у нас есть настройка сервера приложений, в которой ВСЕ отключено от одного большого корня контекста, и мы копируем файлы классов и перезапускаем серверы приложений для развертывания. Не идеально. Я пытаюсь настроить ant-скрипт для сборки и развертывания с помощью wdeploy, и все работает, за исключением того, что мне нужно, чтобы мой сервлет перенаправлялся на jsps вне корневого контекста развертывания моего файла войны. Поэтому я полагаю, что если я смогу поместить символическую ссылку в свой файл войны, она может указывать на что-то за пределами корневого пространства моего контекста.

Это цель, которую я пытаюсь достичь, возможно, символическая ссылка - не лучшая идея. Мне просто нужен способ пересылки вне моего корня контекста из сервлета.


person stu    schedule 20.11.2008    source источник


Ответы (3)


Я не уверен, что символическая ссылка будет работать, и я согласен, что это не очень хорошая идея. Попробуйте создать виртуальный каталог, указывающий, где находятся ваши jsps.

person digitalsanctum    schedule 20.11.2008
comment
Эм... в каком контексте вы имеете в виду «виртуальный каталог»? точка монтирования? - person stu; 21.11.2008

Вы всегда можете HttpServletResponse.sendRedirect отправить пользователя куда угодно, но если вы хотите использовать RequestDispatcher.forward или jsp:forward, это работает только в корне контекста приложения.

Я не думаю, что это так уж плохо, чтобы весь ваш код находился в одном корне контекста, при условии, что он связан с одним приложением. Создание нескольких WAR-файлов для разных частей одного и того же приложения, по-видимому, увеличивает затраты на обслуживание с небольшой выгодой.

person davetron5000    schedule 20.11.2008
comment
Выигрыш заключается в том, что вам не нужно перезапускать множество веб-серверов. - person stu; 21.11.2008

Возможна переадресация на ресурсы вне контекста вашего веб-приложения, если другое веб-приложение работает в том же контейнере сервлетов.

Подробнее см.: Сервлеты: переадресация на ресурс в другом веб-приложении

person Kai Moritz    schedule 16.09.2013