Есть ли в Servlet API какой-либо способ доступа к свойствам, указанным в web.xml (например, к параметрам инициализации), из класса Bean или Factory, который вообще не связан с веб-контейнером?
Например, я пишу класс Factory, и я хотел бы включить в Factory некоторую логику, чтобы проверить иерархию файлов и конфигурационных местоположений, чтобы увидеть, какие из них доступны, чтобы определить, какой класс реализации создать - например,
- файл свойств в пути к классам,
- параметр web.xml,
- системное свойство или
- некоторая логика по умолчанию, если больше ничего не доступно.
Я бы хотел сделать это, не вставляя ссылку на ServletConfig
или что-то похожее на мою Фабрику - код должен нормально работать вне контейнера сервлетов.
Это может показаться немного необычным, но я бы хотел, чтобы этот компонент, над которым я работаю, мог быть упакован с одним из наших веб-приложений, а также был достаточно универсален, чтобы быть упакованным с некоторыми из наших команд. инструменты линии, не требуя нового файла свойств только для моего компонента - поэтому я надеялся использовать поверх других файлов конфигурации, таких как web.xml.
Если я правильно помню, в .NET есть что-то вроде Request.GetCurrentRequest()
, чтобы получить ссылку на выполняемое в настоящее время Request
- но, поскольку это приложение Java, я ищу что-то похожее, что можно было бы использовать для получения доступа к ServletConfig
.