Globale Variable festlegen

danke Dir für den Tip, aber mit diesem Code erhalten ich den Namen meines Servers. Ich würde gern den Namen/Domain erhalten, den ich im Browser in der Addresszeile eintippe, z.B. http://muster.mann.de:8080. An diesem Beispiel würde ich gern in einer Klasse die Domain "muster.mann.de" auslesen wollen. Geht das auch?
 
Du kannst noch die Methoden getHostAddress() und getHostName() ausprobieren, statt der getCanonicalHostName().
 
Zuletzt bearbeitet:
funktioniert leider nicht - erhalte wieder nur den tatsächlichen Namen des Servers.

Aber denke für die schnelle Antwort
 
Du kannst evtl. ein ServerSocket aufbauen und dann die drei Methoden nochmal ausprobieren, also z.B.
Java:
ServerSocket socket = new ServerSocket();
path = socket.getInetAddress().getCanonicalHostName();
 
Übergib aus deinen Servlet den ServletPath: HttpServletRequest.getServletPath()

Java:
/**
 *Reconstructs the URL the client used to make the request. The returned URL contains a protocol, server name, port number, and server path, but it does not include query string parameters.
 */
public java.lang.StringBuffer getRequestURL()

Es ist ganz sinnvoll solange das Processing eines Requestes im Servlet läuft aus der gesammten Webapp auf den ServletRequest zugreifen zu können. Wenn du das in deine Architektur mit aufnimmst hast du keine Sorgen mehr Contextpfade, übergebene Parameter oder Ähnliches in deiner Webapp auszuwerten.

Viele Grüße
f.
 
Zuletzt bearbeitet von einem Moderator:
Als spontane (frühe) Idee:
Du könntest auch eine static Map benutzen, welche von User auf die Konfigurationsklasse mapped. Dann kannst du einerseits die Konfiguration bei Bedarf pro User lazy einlesen oder du liest es für alle User direkt beim Start ein.
Und das Handling der Konfiguration und die Attribute sollten in einer eigenen Klasse sein.
 
Zurück