Zum Hauptinhalt springen

Konfigurieren von webforJ-Eigenschaften

In ChatGPT öffnen

Um eine webforJ-App erfolgreich bereitzustellen und auszuführen, sind einige wichtige Konfigurationsdateien erforderlich: webforJ.conf und web.xml. Jede dieser Dateien steuert verschiedene Aspekte des Verhaltens der App, von Einstiegspunkten und Debug-Einstellungen bis hin zu Servlet-Zuordnungen.

Konfigurieren von webforj.conf

Die Datei webforJ.conf ist eine zentrale Konfigurationsdatei in webforJ, die App-Einstellungen wie Einstiegspunkte, Debug-Modus und Client-Server-Interaktion festlegt. Die Datei ist im HOCON-Format geschrieben und sollte sich im Verzeichnis resources befinden.

Beispiel für die Datei webforj.conf

# Diese Konfigurationsdatei ist im HOCON-Format:
# https://github.com/lightbend/config/blob/master/HOCON.md

webforj.entry = com.webforj.samples.Application
webforj.debug = true
webforj.reloadOnServerError = on
webforj.clientHeartbeatRate = 1s

Konfigurationsoptionen

EigenschaftErklärungStandard
webforj.entryDefiniert den Einstiegspunkt der App, indem der vollständig qualifizierte Name der Klasse angegeben wird, die webforj.App erweitert. Wenn kein Einstiegspunkt definiert ist, durchsucht webforJ automatisch den Klassenpfad nach Klassen, die webforj.App erweitern. Wenn mehrere Klassen gefunden werden, tritt ein Fehler auf. Wenn ein Paket mehr als einen potenziellen Einstiegspunkt enthält, ist es erforderlich, dies explizit festzulegen, um Mehrdeutigkeiten zu vermeiden, oder alternativ kann die Annotation AppEntry verwendet werden, um den Einstiegspunkt zur Laufzeit anzugeben.null
webforj.debugAktiviert den Debug-Modus. Im Debug-Modus gibt webforJ zusätzliche Informationen in der Konsole aus und zeigt alle Ausnahmen im Browser an. Der Debug-Modus ist standardmäßig deaktiviert.null
webforj.reloadOnServerErrorBei der Verwendung von Hot-Redeploy wird die gesamte WAR-Datei ausgetauscht. Wenn der Client versucht, eine Anfrage an den Server zu senden, während dieser neu gestartet wird, tritt ein Fehler auf. Diese Einstellung ermöglicht es dem Client, den Seiteninhalt neu zu laden, wenn der Server vorübergehend nicht verfügbar ist, in der Hoffnung, dass er bald wieder online ist. Dies gilt nur für Entwicklungsumgebungen und behandelt nur Fehler, die spezifisch für Hot-Redeploy sind, nicht andere Arten von Fehlern.on
webforj.clientHeartbeatRateLegt das Intervall fest, in dem der Client den Server anpingt, um zu prüfen, ob er noch aktiv ist. Dies hilft, die Kommunikation aufrechtzuerhalten. Für die Entwicklung sollte dies auf ein kürzeres Intervall eingestellt werden, zum Beispiel 8s, um die Verfügbarkeit des Servers schnell zu erkennen. Setzen Sie dies nicht unter 50 Sekunden in der Produktion, um übermäßige Anforderungen zu vermeiden.50s
webforj.componentsWenn angegeben, bestimmt der Basis-Pfad, von wo DWC-Komponenten geladen werden. Standardmäßig werden Komponenten von dem Server geladen, der die App hostet. Das Festlegen eines benutzerdefinierten Basis-Pfades ermöglicht es, Komponenten von einem alternativen Server oder CDN zu laden. Um beispielsweise Komponenten von jsdelivr.com zu laden, setzen Sie den Basis-Pfad auf: https://cdn.jsdelivr.net/gh/webforj/dwc-dist@1.0.0-${webforj.version}. Es ist wichtig, dass die geladenen Komponenten mit der verwendeten Version des webforJ-Frameworks kompatibel sind; andernfalls funktioniert die App möglicherweise nicht wie erwartet. Diese Einstellung wird ignoriert, wenn eine Standard-BBj-Installation ohne Engine verwendet wird. Bei einer Standard-BBj-Installation kann die Einstellung mit !COMPONENTS STBL verwaltet werden.null
webforj.localeDefiniert die Gebietsschema für die App und bestimmt Sprache, Regionseinstellungen und Formate für Daten, Zeiten und Zahlen.null
webforj.assetsDirGibt den Routen-Namen an, der verwendet wird, um statische Dateien zu serviren, während der physische Ordnername static bleibt. Diese Konfiguration ist hilfreich, wenn die Standardroute static mit einer in Ihrer App definierten Route in Konflikt steht, sodass Sie den Routen-Namen ändern können, ohne den Ordner selbst umzubenennen.static
webforj.stringTableEine Zuordnung von Schlüssel-Wert-Paaren, die zur Speicherung von Zeichenfolgen für die Verwendung in der App verwendet werden. Nützlich zum Speichern von App-Nachrichten oder Beschriftungen. Weitere Informationen zur StringTable finden Sie hier.{}
webforj.fileUpload.acceptGibt die zulässigen Dateitypen für Datei-Uploads an. Standardmäßig sind alle Dateitypen erlaubt. Unterstützte Formate umfassen MIME-Typen wie image/*, application/pdf, text/plain oder Dateierweiterungen wie *.txt. Bei Verwendung einer Standard-BBj-Installation wird diese Einstellung ignoriert und über fileupload-accept.txt verwaltet.[]
webforj.fileUpload.maxSizeDefiniert die maximale Dateigröße, die für Datei-Uploads erlaubt ist, in Byte. Standardmäßig gibt es keine Begrenzung. Bei Verwendung einer Standard-BBj-Installation wird diese Einstellung ignoriert und über fileupload-accept.txt verwaltet.null
license.cfgKonfiguriert das Verzeichnis für die Lizenzkonfiguration. Standardmäßig ist es dasselbe wie das Verzeichnis für die webforJ-Konfiguration, kann aber bei Bedarf angepasst werden."."

Konfigurieren von web.xml

Die Datei web.xml ist eine wesentliche Konfigurationsdatei für Java-Web-Apps, und in webforJ definiert sie wichtige Einstellungen wie die Servlet-Konfiguration, URL-Muster und Willkommensseiten. Diese Datei sollte sich im Verzeichnis WEB-INF der Bereitstellungsstruktur Ihres Projekts befinden.

EinstellungErklärungStandardwert
<display-name>Legt den Anzeigenamen für die Web-App fest, der typischerweise vom Projektnamen abgeleitet wird. Dieser Name erscheint in den Verwaltungskonsolen der Anwendungsserver.${project.name}
<servlet> und <servlet-mapping>Definiert den WebforjServlet, das zentrale Servlet zur Verarbeitung von webforJ-Anfragen. Dieses Servlet ist auf alle URLs (/*) abgebildet und somit der Haupteinstiegspunkt für Webanfragen.WebforjServlet
<load-on-startup>Gibt an, dass der WebforjServlet geladen werden soll, wenn die App startet. Das Setzen auf 1 stellt sicher, dass das Servlet sofort geladen wird, was die Verarbeitung initialer Anfragen verbessert.1