Wie session-timeout, Fehler-Seiten programmgesteuert ohne web.xml
Bin ich mit Spring MVC und haben erfolgreich ein setup WebApplicationInitializer (mit Tomcat ServletContainerInitializer), ohne web.xml Datei. Hinzufügen von filtern (wie Spring Security) und servlets (wie Dispatcher) ist kein problem, und Sie funktionieren gut. Kann ich auch einstellen init-params " wenn ich so tun müssen.
Was ich kann nicht herausfinden, wie man einige spezielle tags, die normalerweise vorhanden ist in der web.xml. Zum Beispiel würde ich gerne eine custom 403-Fehler-Seite. In der Regel würde ich dies tun web.xml mit:
<error-page>
<error-code>403</error-code>
<location>/accessDenied.html</location>
</error-page>
Aber ich kann nicht herausfinden, wie man dazu in der WebApplicationInitializer (die Zugriff auf den ServletContext).
Ich habe das gleiche problem mit dem session-timeout und begrüßen-Dateien. Ich habe die Suche nach etwa zwei Tagen, aber habe noch nicht gesehen, das programmgesteuert ausgeführt. Einmal ist das Ziel vollständig zu entfernen web.xml Datei und verwenden Sie die Initialisierer der Klasse statt.
Irgendwelche Ideen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sieht nicht, wie dies möglich ist, durch WebApplicationInitializer, Sie wird bleiben müssen web.xml speziell für diese Konfiguration zusammen mit ein paar anderen aufgeführten mit dieser Frage - Mit Spring MVC 3.1+ WebApplicationInitializer programmgesteuert konfigurieren session-config und Fehler-Seite
org.apache.catalina.*
Klassen?Können Sie somethink wie diese:
BeansUtil
in diesem Beispiel? Wie wird es extrahieren Sie Ihre eigenen erfundenGlobalErrorHandler
aus einerServletContext
Objekt?Zur Seite-Fehler, siehe diese Antwort: Wie man einen filter, um zu erkennen, ob der Benutzer angefordert, dass eine Seite nicht gefunden wird?
Sollten Sie versuchen, zu erstellen Ihre eigenen SessionListener und dann fügen Sie es zu dem servletContext Ihrer WebApplicationInitializer..
Etwas wie dieses:
Und dann in Ihre WebContentInitializer fügen Sie diese Zeile: