Gibt es eine Möglichkeit in der Servlet-API, auf Eigenschaften zuzugreifen, die in web.xml angegeben sind (z. B. Initialisierungsparameter) innerhalb einer Bean- oder Factory-Klasse, die überhaupt nicht mit dem Webcontainer verknüpft ist?Gibt es eine Möglichkeit, von einem Java Bean auf web.xml-Eigenschaften zuzugreifen?
Zum Beispiel schreibe ich eine Factory-Klasse, und ich möchte einige Logik in der Factory enthalten, um eine Hierarchie von Dateien und Konfigurationsspeicherorten zu überprüfen, welche verfügbar sind, um zu bestimmen, welche Implementierungsklasse zu instanziieren - zum Beispiel
- eine Immobilien in der classpath-Datei,
- ein web.xml Parameter,
- eine Systemeigenschaft oder
- einige Standard-Logik, wenn nichts anderes zur Verfügung steht.
Ich möchte in der Lage sein, dies zu tun, ohne jeden Hinweis auf ServletConfig
oder etwas ähnlich zu meiner Fabrik Injektion - sollte der Code läuft ok außerhalb eines Servlet-Container kann.
Das hört sich vielleicht ein wenig ungewöhnlich an, aber ich möchte, dass diese Komponente, an der ich arbeite, mit einer unserer Webapps gepackt werden kann und außerdem so vielseitig ist, dass sie mit einigen unserer Befehle verpackt werden kann -line-Tools, ohne dass eine neue Eigenschaftendatei nur für meine Komponente benötigt wird - also hoffte ich, über andere Konfigurationsdateien wie web.xml zu hüpfen.
Wenn ich mich richtig erinnere, hat .NET so etwas wie Request.GetCurrentRequest()
einen Verweis auf die aktuell ausgeführte Request
zu bekommen - aber da es sich um eine Java-Anwendung Ich bin auf der Suche nach etwas simliar, die verwendet werden könnten, Zugang zu ServletConfig
zu gewinnen.