Нет хороших способов сделать это.
Вообще говоря, сервер не знает имя, которое можно использовать для доступа к нему извне.На самом деле, HttpServletRequest.getServerName()
также не является решением, поскольку возвращает имя, используемое для отправки этого конкретного запроса, а не каноническое имя, под которым ваш сервер должен быть известен.каноническое имя сервера для конкретного развертывания в файле свойств и т. д.