Zum Hauptinhalt springen

Konfiguration 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.

Konfiguration von webforj.conf

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

Tipp

Wenn Sie mit Spring integrieren, können Sie diese webforj.conf-Eigenschaften in der Datei application.properties festlegen.

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

EigenschaftTypErklärungStandard
webforj.assetsCacheControlZeichenfolgeCache-Control-Header für statische Ressourcen.null
webforj.assetsDirZeichenfolgeDer Routenname, der verwendet wird, um statische Dateien bereitzustellen, während der tatsächliche Ordnername static bleibt. Diese Konfiguration ist hilfreich, wenn die Standardroute static mit einer in Ihrer App definierten Route in Konflikt steht, sodass Sie den Routenname ändern können, ohne den Ordner selbst umzubenennen.null
webforj.assetsExtZeichenfolgeStandard-Dateierweiterung für statische Dateien.null
webforj.assetsIndexZeichenfolgeDie standardmäßig für Verzeichnisanfragen bereitgestellte Datei (z. B. index.html).null
webforj.clientHeartbeatRateZeichenfolgeDas Intervall, in dem der Client den Server anpingt, um zu prüfen, ob er noch aktiv ist. Für die Entwicklung setzen Sie dies auf ein kürzeres Intervall, beispielsweise 8s, um die Verfügbarkeit des Servers schnell zu erkennen. In der Produktion auf 50 Sekunden oder mehr setzen, um übermäßige Anforderungen zu vermeiden.50s
webforj.componentsZeichenfolgeWenn angegeben, bestimmt der Basis-Pfad, von wo DWC-Komponenten geladen werden. Standardmäßig werden die Komponenten vom Server geladen, der die App hostet. Durch Festlegen eines benutzerdefinierten Basis-Pfads können Komponenten von einem alternativen Server oder CDN geladen werden. Zum Beispiel, um 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 Version des verwendeten webforJ-Frameworks kompatibel sind; andernfalls funktioniert die App möglicherweise nicht wie erwartet. Diese Einstellung wird ignoriert, wenn eine Standard-BBj-Installation ohne die Engine verwendet wird. Bei einer Standard-BBj-Installation kann die Einstellung mit dem !COMPONENTS STBL verwaltet werden.null
webforj.debugBooleanAktiviert 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.entryZeichenfolgeDefiniert den Einstiegspunkt der App, indem der vollqualifizierte Name der Klasse angegeben wird, die webforj.App erweitert. Wenn kein Einstiegspunkt definiert ist, scannt 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, diesen ausdrücklich festzulegen, um Mehrdeutigkeiten zu vermeiden, oder alternativ kann die Annotation AppEntry verwendet werden, um den Einstiegspunkt zur Laufzeit festzulegen.null
webforj.fileUpload.acceptListeDie erlaubten Dateitypen für Dateiuploads. Standardmäßig sind alle Dateitypen zulässig. 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.maxSizeLangDie maximale Dateigröße, die für Dateiuploads zulässig ist, in Bytes. Standardmäßig gibt es keine Begrenzung. Bei Verwendung einer Standard-BBj-Installation wird diese Einstellung ignoriert und über fileupload-accept.txt verwaltet.null
webforj.iconsDirZeichenfolgeURL-Endpunkt für das Verzeichnis der Symbole (Standard dient von resources/icons/).icons/
webforj.license.cfgZeichenfolgeDas Verzeichnis für die Lizenzkonfiguration. Standardmäßig ist es dasselbe wie das Verzeichnis der webforJ-Konfiguration, kann jedoch bei Bedarf angepasst werden."."
webforj.license.startupTimeoutGanzzahlLizenz-Startup-Timeout in Sekunden.null
webforj.localeZeichenfolgeDie Lokalisierung für die App, die Sprache, Regionseinstellungen sowie Formate für Daten, Zeiten und Zahlen bestimmt.null
webforj.quietBooleanDeaktiviert das Ladebild während des Startvorgangs der Anwendung.false
webforj.reloadOnServerErrorBooleanNur Entwicklungsumgebungen. In einer Entwicklungsumgebung die Seite bei Fehlern im Zusammenhang mit Hot-Redeployment automatisch neu laden, jedoch nicht bei anderen Fehlerarten. Bei Verwendung von Hot-Reploy kann es zu einem Fehler kommen, wenn der Client eine Anfrage an den Server sendet, während dieser neu startet und die WAR-Datei ersetzt wird. Da der Server wahrscheinlich bald wieder online ist, erlaubt diese Einstellung dem Client, automatisch einen Seitenneuladevorgang zu versuchen.false
webforj.servlets[n].nameZeichenfolgeServlett-Name (verwendet den Klassennamen, wenn nicht angegeben).null
webforj.servlets[n].classNameZeichenfolgeVollqualifizierter Klassenname des Servlets.null
webforj.servlets[n].config.<key>Map<String,String>Initialisierungsparameter des Servlets.null
webforj.sessionTimeoutGanzzahlDauer des Sitzungstimeouts in Sekunden.60
webforj.stringTableMap<String,String>Eine Karte von Schlüssel-Wert-Paaren, die verwendet werden, um Zeichenfolgen für die Verwendung in der App zu speichern. Nützlich zum Speichern von App-Nachrichten oder -Beschriftungen. Weitere Informationen zu StringTable finden Sie hier.{}
webforj.mime.extensionsMap<String,String>Benutzerdefinierte MIME-Typ-Zuordnungen für Dateierweiterungen beim Bereitstellen von statischen Dateien. Ermöglicht es Ihnen, Standard-MIME-Typen zu überschreiben oder MIME-Typen für benutzerdefinierte Erweiterungen zu definieren. Der Schlüssel der Karte ist die Dateierweiterung (ohne den Punkt), und der Wert ist der MIME-Typ.{}

Konfiguration von web.xml

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

EinstellungErklärungStandardwert
<display-name>Legt den Anzeigenamen für die Web-App fest, der typischerweise aus dem Projektnamen abgeleitet wird. Dieser Name erscheint in den Verwaltungsoberflächen der Anwendungsserver.${project.name}
<servlet> und <servlet-mapping>Definiert das WebforjServlet, das Hauptservlet zur Bearbeitung von webforJ-Anfragen. Dieses Servlet wird auf alle URLs (/*) abgebildet, wodurch es der Haupt-Einstiegspunkt für Webanfragen wird.WebforjServlet
<load-on-startup>Gibt an, dass WebforjServlet geladen werden soll, wenn die App startet. Wenn Sie dies auf 1 setzen, wird das Servlet sofort geladen, was die Bearbeitung von anfänglichen Anfragen verbessert.1