Gymterview
junior

Как получить реальное расположение сервлета на сервере

Реальный путь к файлам сервлета в файловой системе сервера можно получить через метод getRealPath() объекта ServletContext:

Пример
String path = getServletContext().getRealPath(request.getServletPath());

Этот метод преобразует виртуальный путь веб-приложения в абсолютный путь файловой системы. Например, /WEB-INF/config.xml может быть преобразован в /opt/tomcat/webapps/myapp/WEB-INF/config.xml.

Важно учитывать, что getRealPath() может вернуть null, если приложение развёрнуто из WAR-файла без распаковки. В таких случаях для доступа к ресурсам лучше использовать getResourceAsStream(), который работает независимо от способа развёртывания.

На собеседовании: упомяните ограничение: getRealPath() не работает для неразвёрнутых WAR-файлов. getResourceAsStream() — более надёжная альтернатива для чтения ресурсов.