Struts - Beispiel für mehrere Konfigurationsdateien
Viele Entwickler möchten alle mit Struts zusammenhängenden Elemente (Aktionen, Formulare) in einer einzigen Struts-Konfigurationsdatei speichern. Es ist schnell für die anfängliche Entwicklung, aber schlecht für die zukünftige Wartung. Möglicherweise sind sich Entwickler nicht bewusst, dass Struts die Möglichkeit bietet, mehrere Konfigurationsdateien zuzulassen.
Vor 6 Jahren hatte ich mich einem großen Struts-Entwicklungsprojekt angeschlossen, das mehr als 20 Module umfasst. Leider haben die vorherigen Entwickler alle Struts-bezogenen Dinge (Aktion, Form usw.) in einer einzigen Struts-Konfigurationsdatei (struts-config.xml) abgelegt. Diestruts-config.xml wachsen einfach extrem schnell weiter und erreichen schließlich 20 ++ MB. Jedes Update dieser Konfigurationsdatei dauert einige Minuten und wartet sogar eine halbe Stunde auf eine einzelne Debugging-Bereitstellung in Eclipse IDE. Dies ist ein schwerwiegendes Leistungsproblem und führt dazu, dass das Projekt das Produktionsdatum verzögert. Was für eine gute Struts-Entwicklungserfahrung.
Bitte teilen Sie die Struts-Konfigurationsdetails in verschiedene Module auf, Struts kann dies problemlos tun.
Beispiel für mehrere Konfigurationsdateien
Dies ist die Beispielprojektstruktur für die Demonstration.
1. Einzelmodul
Ein einzelnes Modul unterstützt mehrere Struts-Konfigurationsdateien.
page1.jsp
This is Page 1
page2.jsp
This is Page 2
struts-config-1.xml
struts-config-2.xml
In der Datei web.xml können Sie mehrere Struts-Konfigurationsdateien durch ein Komma „,“ trennen.
web.xml
Maven Struts Examples action org.apache.struts.action.ActionServlet config /WEB-INF/struts-config-1.xml, /WEB-INF/struts-config-2.xml 1 action *.do
Probier es aus
-
http://localhost:8080/StrutsExample/Page1.do
Es wird die Seite1.jsp angezeigt -
http://localhost:8080/StrutsExample/common/Welcome.do
Es wird die Seite2.jsp angezeigt
Beide Struts sind eigenschaftsgeladen.
2. Mehrere Module
Mehrere Module, jedes hat eigene Struts-Konfigurationsdateien.
admin/welcome.jsp
Welcome to admin page
common/welcome.jsp
Welcome to common page
Sowohl die Dateien "struts-config-admin.xml" als auch "struts-config-admin.xml" enthalten dieselben Einstellungen. Struts kann sie über den Parameterwert "config" in web.xml differenzieren.
In Struts 2 ist "http://www.example.com/struts2/struts-2-namespace-configuration-example-and-explanation/[Namespace]" eine effizientere Möglichkeit, diese "config parameter zu ersetzen ”Einstellung.
struts-config-admin.xml, struts-config-admin.xml
web.xml
Maven Struts Examples action org.apache.struts.action.ActionServlet config /WEB-INF/struts-config-1.xml, /WEB-INF/struts-config-2.xml config/admin /WEB-INF/struts-config-admin.xml config/common /WEB-INF/struts-config-common.xml 1 action *.do
Probier es aus
Die "config/admin" stimmen mit diesem URL-Muster überein -http://localhost:8080/StrutsExample/admin/
Die "config/common" stimmen mit diesem URL-Muster überein -http://localhost:8080/StrutsExample/common/
-
http://localhost:8080/StrutsExample/admin/Welcome.do
Es wird die Datei admin / welcome.jsp angezeigt -
http://localhost:8080/StrutsExample/common/Welcome.do
Es wird die Datei common / welcome.jsp angezeigt
Jedes Modul hat eine eigene Struts-Konfigurationsdatei.
Quellcode herunterladen
Laden Sie es herunter -Struts-Mutiple-Config-File-Example.zip