Это двухэтапный процесс:
ServletContext
, представляющий web2
RequestDispatcher
из этого ServletContext
соответствующего to servlet2
Итак, что-то вроде этого изнутри servlet1
:
ServletContext web1 = getServletContext();
ServletContext web2 = web1.getContext("/web2");
RequestDispatcher dispatcher = web2.getRequestDispatcher("/servlet2");
dispatcher.forward(request, response);
Существует большое предупреждение обо всем этом - контейнер может не быть настроен для разрешения перекрестной пересылки контекста, поскольку это потенциальный риск для безопасности. Если это так, getContext("web2")
вернет null
.
Если у Вас есть другой файл в том же каталоге, можно или сделать:
bash another_script.sh
или
source another_script.sh
или
. another_script.sh
, Когда Вы используете bash
вместо source
, сценарий не может изменить среду родительского сценария. Эти .
команда является стандартом POSIX, в то время как source
команда является большим количеством читаемого синонима удара для .
(я предпочитаю source
более чем .
). Если Ваш сценарий находится в другом месте, просто обеспечивают путь к тому сценарию. Оба относительных, а также полных пути должны мир.