# Servlet - aktuelle URL herausfinden



## TangoFan (6. Nov 2006)

Hallo,

wie kann ich von einem Servlet dessen aktuelle URL herausfinden? Möchte also folgende Ausgabe haben:


> http://www.meinserver.de/daten/meinservlet


----------



## SlaterB (6. Nov 2006)

solche Informationen stehen im request-Objekt,
schaue in die API für die genauen Operationen,

http://java.sun.com/j2ee/1.4/docs/api/index.html

da das ein bisschen verwirrend ist, musst du die in Frage kommenden Operation alle ausprobieren
(am besten wärs eh, wenn du dir eh ein Testservlet anlegst und dort alle Informationen ausgibst, 
kann man immer mal brauchen)


----------



## TangoFan (6. Nov 2006)

Vielen dank. Hab das mit dem Request nun herausgefunden. Geht das eigentlich auch ohne dem Request-Objekt? Also das man beim init() des Servlets diese URL ermitteln kann?


----------



## Ralf Ueberfuhr (7. Nov 2006)

Das ergibt keinen Sinn, denn ohne Request keine Request-URL.


----------



## Fugu (13. Nov 2006)

hallo zusammen,
ich habe ein ähnliches problem. aber ich weiss nicht wie mir request weiterhelfen kann. vielleicht kann mir jemand helfen? ich verstehe einfach nicht, wie ich eine anfrage von einer javaklasse an mein servlet senden kann.

ich habe ein servlet, dass ich aus meiner java(action)klasse heraus referenzieren kann, mit this.getServlet(). an dieses servlet möchte ich nun eine anfrage schicken. als url müsste sie so aussehen: 

http://www.server.net/dir/meinServletName?var1="value1"&var2="value2"

wie genau kann ich so eine anfrage aus einer javaklasse erzeugen? was ich probiert habe war folgendes:


```
//Get Applet URL. Funktioniert so nicht.
		String context = this.getServlet().getServletContext().getServletContextName(); // null
		String realPath = this.getServlet().getServletConfig().getServletContext().getRealPath(context); // null

		URL url = new URL(realPath); 
		HttpMessage msg = new HttpMessage(url);
		
		//Set the properties
		Properties props = new Properties();
		props.put("var1", "value1");
		props.put("var2", "value2");

		// Send a POST message to the servlet, passing "props" as a query
		// Get the response as an ObjectInputStream
		InputStream in = msg.sendPostMessage(props);
		ObjectInputStream result = new ObjectInputStream(in);

		// Read the object from the stream
		Object obj = result.readObject();
```

das geht leider nicht, weil der context schon null ist. nur wie muss ich hier Request benutzen?
danke schonmal! ???:L ???:L


----------



## SlaterB (14. Nov 2006)

solche hochkomplexen Sachen versuchst du ohne Tutorials zum laufen zu bringen? mutig

läuft das ganze auf einem WebServer oder in einem simplen Javaprogramm?
bei letzterem wäre es nur zu verständlich, dass "http://www.server.net/dir/meinServletName"
nicht da ist, woher sollte das Programm das wissen?


----------

