Наиболее простым решением, вероятно, является поиск файла server.xml в методе сервлета init()
, его анализ и сохранение номера порта где-нибудь. Сервлет должен быть загружен автоматически.
Другой вариант - поместить этот код в скрипт сборки и скопировать значение в файл web.xml
во время сборки. Но это означает, что у вас должен быть тот же Tomcat, установленный локально, или у вас должен быть удаленный доступ к файлу server.xml
.
Я предпочитаю первое решение, так как сервлет может произойти сбой раньше, и веб-приложение не будет работать, если порт не может быть определен. Таким образом, у вас не будет загадочной ошибки в неустановленное время в будущем, и вам не потребуется тратить время на каждый запрос (номер порта не может измениться без перезапуска Tomcat).