То, как вы получаете ссылку на ServletContext, зависит от вашего приложения... вы хотите сделать это из сервлета или из JSP?
ОТРЕДАКТИРОВАНО: Если вы находитесь внутри объекта сервлета, то вызовите getServletContext(). Если вы используете JSP, используйте предопределенную переменную application.
Ответ 2
Вот как это работает у меня без использования сервлета.
Допустим, я пытаюсь получить доступ web.xml в project/WebContent/WEB-INF/web.xml
На вкладке "Источник свойств проекта" добавьте исходную папку, указав родительский контейнер для папки WEB-INF (в моем случае WebContent )
Проблема, с которой я столкнулся при доступе к файлу базы данных sqlite, который я создал на своем сервере java (джерси), была связана исключительно с path. В некоторых документах говорится, что URL-адрес jdbc connect должен выглядеть как "jdbc: sqlite: //путь к файлу /sample.db". Я думал, что двойная косая черта является частью пути в стиле протокола htt и будет правильно отображаться при развертывании, но на самом деле это абсолютный или относительный путь. Итак, когда я поместил файл в корень папки WebContent (tomcat project), сработал uri, подобный этому "jdbc: sqlite:sample.db".
Единственное, что меня смутило, это то, что когда я запускал отладчик, я получил сообщение, в котором говорилось "открытие базы данных: ... отказано в разрешении". Я думал, что это вопрос разрешений файловой системы или, возможно, разрешений пользователя sql. Обнаружив, что в SQLite нет концепции ролей / разрешений, таких как MySQL, и т.д., Я в конечном итоге изменил права доступа к файлам, прежде чем пришел к тому, что, по моему мнению, было правильным решением, но я думаю, что это было просто неверное сообщение (т. Е. В разрешении отказано, а файл не найден).