Servlet: wo bekommt man die eigene adresse?

Status
Nicht offen für weitere Antworten.

0x7F800000

Top Contributor
Hey leute.
Ich habe hier wieder mal so eine "keine augen im Kopf"-Frage.
Angenommen, ich habe einen Servlet, der im response unter anderem eigene adresse ausgeben soll. Läuft es gerade testweise auf dem eigenen rechner und ist unter "http://localhost:8080/myWebsite/myServlet", so will ich genau diese zeichenkette erhalten. Irgendwie umständlich zusammenbauen kann ich die Zeichenkette auch:
Code:
request.getServerName()
+":"+request.getLocalPort()
+this.getServletContext().getContextPath()
+"/"+this.getServletConfig().getServletName()
allerdings bin ich mir sehr sicher, dass es dann nirgendwo ausser auf meinem eigenen rechner läuft.
Wo gibt es denn die passende methode? Beim ServletContext oder ServletConfig oder ist sie doch irgendwo im ServletRequest? Bin völlig verblödet, find's nicht :autsch: mir fehlt's auf dem Gebiet wohl ein wenig an allgemeinwissen :roll:

besten dank im Voraus.
 
M

maki

Gast
>> allerdings bin ich mir sehr sicher, dass es dann nirgendwo ausser auf meinem eigenen rechner läuft.

Wieso denn?

Wenn allerdings NAT im Spiel ist, ist die eigenene Addresse irrelevant.
 

0x7F800000

Top Contributor
etwa wegen NAT, ist doch ein schönes Beispiel. :roll:

Reicht es, wenn ich nur die IP (aus request.getLocalAddr() ), diesen pfad und den Namen des Servlets an den Client zurücksende? Das müsste doch eindeutig sein, oder? :roll:

also diese "adresse":
Code:
request.getLocalAddr()
+this.getServletContext().getContextPath()
+"/"+this.getServletConfig().getServletName()
sollte meiner bescheidenen Meinung nach ausreichen, damit der Client genau diesen Servlet wieder ansprechen kann. Allerdings funktioniert das nicht einmal auf meinem eigenen rechner :bahnhof:
 

0x7F800000

Top Contributor
Der Servlet soll als Ausgabe einen Javascript erzeugen, in dem unter anderem eine javascript-Funktion vorhanden sein muss, die Anfragen an dieses Servlet stellen kann. Die ausgabe sollte also in etwa so aussehen:

Anfrage:
Code:
whereEver/MyServlet?gibMalDieGesammeltenDatenInDerForm="javascript"

Antwort: (text/javascript)
Code:
/*javascript code*/

//diese funktion soll die gesammelten informationen im browser darstellen
...

//diese funktion soll kurze anfragen an den Servlet schicken
function zurueckmeld(msg){
    var dummyImage=new Image();

    //genau die Zeile: woher bekomme ich diese adresse?
    dummyImage.src='whereEver/MyServlet?msg='+msg;
    dummyImage=null;
}

Das soll im Grunde immer noch ein primitiver counter-servlet werden. Nur eben ein wenig auswendiger, der nicht nur die besucher, sondern allgemein beliebige ereignisse zählen kann.

Das ganze ist etwas umständlich, weil es auch für die Seiten ohne jegliche serverseitige scripts/servlets funktionieren soll. Deshalb darf ich da keinen ordentlichen ajax anwenden, und auch nicht alles serverseitig mit jsp o.ä. erledigen. Ich darf nur beim laden der Seite den javascript vom externen Servlet holen, und in die andere Richtung funktioniert es mit Bild-Attrappen, die auch nicht unbedingt vom selben Server wie die seite selbst kommen müssen. Denn mit ajax darf man auch nur die Vebindung zu dem einen server aufbauen, von dem die Seite geladen wurde (sind irgendwelche sicherheitseinschränkungen, wohl auch nicht ohne grund da)

Deswegen muss der Servlet wissen, unter welcher adresse er für das produzierte Script ansprechbar ist. Er braucht die eigene Adresse. Wie bastle ich diese ordentlich zusammen, dass diese seltsame "Kommunikation" zwischen dem servlet und dem javascript funktioniert?

sry, mir ist schon klar, dass das ein völlig blödsinniges problem ist, das bei jedem halbwegs vernünftigen projekt nicht auftreten kann, weil so ziemlich jeder irgendwo einen eigenen Server mit allen möglichen Tomcats rumstehen hat. Ist hier leider nicht der Fall (meine bescheuerte uni fördert die Kreativität der leute dadurch, dass sie verwendung von jeglichen serverseitigen Scripts verbietet ;) ) dagegen kann ich im moment leider nicht viel unternehmen, aber ich will's einfach umgehen. :roll:

[das ist ja alles auch eher als ein puzzlespiel gedacht, großer praktischer Nutzen wird dabei wohl nicht rauskommen :) ]
 

0x7F800000

Top Contributor
Aaaaja...
Doch nicht nur "keine augen im Kopf"
Diese methoden gibts alle nicht beim gewöhnlichen Servlet mit gewöhnlichen ServletRequest-Parametern.
Die gibts erst bei HttpServletRequest.
Das ganze Problem lies sich also durch das Hinzufügen von dieser Http- "Vorsilbe" (gut da sind nicht allzuviele Vokale drin :p ) lösen.
Super, danke, das war der entscheidende Tipp...
Ne ey, dass ich an solchem kleinkram beinah scheitere :D

thx :toll:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H What is the Life Cycle of an Object Created Within/Outside of a Servlet? Will that item be destroyed after the session ends? Java Basics - Anfänger-Themen 1
J MySQL Datumsabfrage über ResultSet in Java-Servlet Java Basics - Anfänger-Themen 4
J javax.servlet.ServletException: Name is null Java Basics - Anfänger-Themen 7
G Servlet - externe HTML (URL) auslesen Java Basics - Anfänger-Themen 1
E InputStream im Servlet wirft Exception Java Basics - Anfänger-Themen 5
E Pdf-Document lässt sich im Servlet nicht öffnen Java Basics - Anfänger-Themen 5
E Erste Schritte Java Webeintwicklung (JSP/Servlet), wie am Besten einsteigen? Java Basics - Anfänger-Themen 0
S Java Servlet - Suche Java Basics - Anfänger-Themen 1
R Upload Servlet: Ausgabe nicht korrekt Java Basics - Anfänger-Themen 2
H Variablen Servlet. Int i global Java Basics - Anfänger-Themen 4
C Inputreader Servlet Nullpointerexception Java Basics - Anfänger-Themen 6
B Servlet und Eclipse Java Basics - Anfänger-Themen 2
B Servlet ausfuehren Java Basics - Anfänger-Themen 4
O Servlet Klassen ? Java Basics - Anfänger-Themen 7
B Datenzugrifft: Servlet -> Objekte Java Basics - Anfänger-Themen 4
T Servlet - oder doch nicht? Java Basics - Anfänger-Themen 4
T Servlet HTML-Formular Java Basics - Anfänger-Themen 9
F Aus Servlet in JSP schreiben Java Basics - Anfänger-Themen 2
T Servlet wird nicht erkannt Java Basics - Anfänger-Themen 10
X Kurve im Servlet zeichnen lassen Java Basics - Anfänger-Themen 4
P Problem mit Servlet Java Basics - Anfänger-Themen 9
D Periodische Aufgaben erledigen in Webanwendung (Servlet/JSP) Java Basics - Anfänger-Themen 7
I Probleme mit Tomcat / Servlet auf Linux (Debian) Java Basics - Anfänger-Themen 7
Tandibur [erledigt] jsp überträgt nicht alle Parameter an Servlet Java Basics - Anfänger-Themen 2
D Servlet kann nicht auf Instanz zugreifen Java Basics - Anfänger-Themen 10
D Servlet mit Utilities Java Basics - Anfänger-Themen 14
J Servlet Interface javax.servlet.Servlet Java Basics - Anfänger-Themen 2
G Parameter in Servlet weiterleiten Java Basics - Anfänger-Themen 5
A Finde javax.servlet.* nicht Java Basics - Anfänger-Themen 6
G JSP, Applet oder Servlet? Java Basics - Anfänger-Themen 8
0x7F800000 Servlet ruft Servlet auf: Wie ServletRequest erstellen? Java Basics - Anfänger-Themen 6
O Weiterleitung in einem Java-Servlet Java Basics - Anfänger-Themen 5
O Jar-Archiv im Servlet verwenden Java Basics - Anfänger-Themen 3
G Servlet Package wo herunterladen? Java Basics - Anfänger-Themen 2
G doGet und doPost im Servlet nicht überschrieben Java Basics - Anfänger-Themen 9
P Servlet unterschiedliche Server Java Basics - Anfänger-Themen 2
W Servlet - out of memory Java Basics - Anfänger-Themen 7
W servlet imports nicht unterstützt Java Basics - Anfänger-Themen 3
F Applet --> Servlet --> Applet Java Basics - Anfänger-Themen 2
K Problem mit javax/servlet/http/HttpServletRequest.java Java Basics - Anfänger-Themen 2
J Servlet Error Java Basics - Anfänger-Themen 11
D Aus Anwendung Zugriff auf ein Servlet Java Basics - Anfänger-Themen 5
P konsolen ausgabe bei servlet Java Basics - Anfänger-Themen 2
S Methoden aus einem Servlet in einer JSP verwenden Java Basics - Anfänger-Themen 5
T Wo Daten ablegen für mehrere Servlet-Instanzen? Java Basics - Anfänger-Themen 2
G import javax.servlet cannot be resolved Java Basics - Anfänger-Themen 1
Z Wo wird ein Servlet gespeichert ? Java Basics - Anfänger-Themen 2
I eine Klasse aus der Jar-Datei aus dem Servlet starten Java Basics - Anfänger-Themen 4
N Probleme mit import von javax.servlet.* Java Basics - Anfänger-Themen 3
T komplexe Strukturen in Servlet-Context speichern möglich? Java Basics - Anfänger-Themen 5
T servlet synchronisationsproblem Java Basics - Anfänger-Themen 4
P Servlet wird nicht gefunden Java Basics - Anfänger-Themen 4
A fileupload mit servlet Java Basics - Anfänger-Themen 6
P asynchrone Kommunikation Applet Servlet mit RMI möglich Java Basics - Anfänger-Themen 4
G Übergabe Variablen von Servlet zu JSP? Java Basics - Anfänger-Themen 4
G Formularübergabe in Servlet endet mit null. Java Basics - Anfänger-Themen 2
S Jakarta FileUpload Servlet funktioniert nicht Java Basics - Anfänger-Themen 17
G Servlet gibt über request nur null zurück Java Basics - Anfänger-Themen 3
G problem mit servlet import Java Basics - Anfänger-Themen 4
W servlet nicht gefunden Java Basics - Anfänger-Themen 8
R Servlet - JSP Java Basics - Anfänger-Themen 2
G Servlet geht nicht Java Basics - Anfänger-Themen 5
G hilfe jsp/servlet,jdbc api running on tomcat server+webProxy Java Basics - Anfänger-Themen 8
G Servlet aus programm abfragen Java Basics - Anfänger-Themen 9
H JSP Kein Durchblick. Servlet <-> JSP Java Basics - Anfänger-Themen 7
I Bean<>Servlet ? Java Basics - Anfänger-Themen 6
D Datentransfer via Servlet Java Basics - Anfänger-Themen 2
M Applet sendet daten an servlet und servlet wieder an applet Java Basics - Anfänger-Themen 5
M Servlet position bestimmen Java Basics - Anfänger-Themen 3
J Servlet - Datei auf Server speichern und Ausgabe Java Basics - Anfänger-Themen 5
G Servlet wird nicht importiert? Java Basics - Anfänger-Themen 3
C Servlet & tomcat 5.0.28 Java Basics - Anfänger-Themen 7
S Servlet-Anfänger Java Basics - Anfänger-Themen 4
G Mein Servlet ist "not available" Java Basics - Anfänger-Themen 12
M Kann neues Servlet nicht hinzufügen Java Basics - Anfänger-Themen 5
D Beispiel-Servlet erstellen Java Basics - Anfänger-Themen 4
H Unterbrochener Link im Fomular bei Servlet-Aufruf Java Basics - Anfänger-Themen 4
E Webshop-Servlet: Problem beim Speichern der Bestellmenge Java Basics - Anfänger-Themen 3
M hilfe :} möchte servlet daten erfasssen-> hashmap speiche Java Basics - Anfänger-Themen 3
Z Servlet/Tomcat Problem Java Basics - Anfänger-Themen 3
M jTable bekommt null Java Basics - Anfänger-Themen 1
J-Gallus Ein Getter bekommt eine anderen Type als er Return soll Java Basics - Anfänger-Themen 9
E Input/Output Socket bekommt keine Verbindung bei funktionierendem Fremdziel Java Basics - Anfänger-Themen 2
M Methode bekommt ein Objekt der Klasse als Parameter. Wozu? Java Basics - Anfänger-Themen 4
Amina556 Eigene Klasse definieren Java Basics - Anfänger-Themen 9
T Eigene Exception - ohne werfen abfangen Java Basics - Anfänger-Themen 2
T Datentypen Eigene Datentypen Java Basics - Anfänger-Themen 15
low_in_the_head Eigene Exception nutzen Java Basics - Anfänger-Themen 4
C Archiv für eigene Klassen Java Basics - Anfänger-Themen 9
L Meine erste eigene Exception Klasse Java Basics - Anfänger-Themen 10
D Attribut Telefonnummer - eigene Klasse oder String Java Basics - Anfänger-Themen 13
B JUnit 4: Wie man die eigene Liste testen kann [TDD] Java Basics - Anfänger-Themen 46
C eigene Methoden erstellen (Instanzmethoden) Java Basics - Anfänger-Themen 7
S Eigene LinkedList Klasse Java Basics - Anfänger-Themen 4
I Eigene Java Tools Nutzung Java Basics - Anfänger-Themen 6
G eigene Bibliothek einbinden Java Basics - Anfänger-Themen 1
K Eigene Annotations, Pre-/Post-/Call-Method Java Basics - Anfänger-Themen 6
O Erste Schritte Eigene charAt(i) Methode schreiben Java Basics - Anfänger-Themen 10
D Methoden Eigene Methode um alle Ausgaben aufzurufen Java Basics - Anfänger-Themen 17
L Eigene Exception schreiben bei zu langem Array Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben