# Servlet soll XML ausgeben und Javascript soll dieses einlesen



## JensMander (3. Jun 2010)

Hallo FOrum,
es ist nun leider so das ich auch für meinen letzten Schritt eure Hilfe benötige.

Wie bereits geschrieben habe ich ein Servlet in Java geschrieben:


```
package package_01;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class servlet_01
 */
public class servlet_01 extends HttpServlet {
	
	public void doGet(HttpServletRequest request, HttpServletResponse response)
	throws IOException, ServletException
	{
		String testparameter = request.getParameter("username");
		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		out.println("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
		out.println("<test xmlns=\"http://java.sun.com/xml/ns/j2ee\">");
		out.println("<wert>");
		out.println("Test:"+testparameter);
		out.println("</wert>");
		out.println("</test>");
		System.out.println("TestumgebungII:"+testparameter);
	}
}
```

und eine Webseite mit folgendem Inhalt:


```
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  <meta name="generator" content="PSPad editor, www.pspad.com">
  <title></title>
 <SCRIPT LANGUAGE="JavaScript">
 var http = null;
function goToURL() { 
      //alert(document.getElementById('username').value);
      http = new XMLHttpRequest();
      var dateiaufruf ='http://localhost/Parameteruebergabe/servlet_01?username='+document.getElementById('username').value;
      http.open('GET',dateiaufruf,true);
      http.onreadystatechange = function()
            {
             if (http.readyState == 4)
             {
             alert("fertig");
             alert(http.responseXML.getElementsByTagName('wert')[0].firstChild.nodeValue);
             }
            }
            http.send(null);
       }
</script>
  </head>
  <body>
    <form action="http://localhost/Parameteruebergabe/servlet_01" method="get">
    Name:<input type=text name="username"id="username"><br/>
    <input type=submit name="login" value="start">
    </form>
    <input type="button" name="Text 1" value="Test"
      onclick="goToURL()">
  </body>
</html>
```

Über das Formular, soll einfach nur die Webseite aufgerufen werden, klappt super.
Über den Testbutton, soll das Servlet ausgeführt werden und ein XML-File zurückgegeben werden. Der Request wird jetzt vernünftig ausgeführt. Und ich bekomme im Firebug folgende Antwort:


```
<?xml version="1.0" encoding="utf-8"?>
<test xmlns="http://java.sun.com/xml/ns/j2ee">
<wert>
Test:xy
</wert>
</test>
```

Doch leider kann ich den wert "Test:xy" nicht in einem alert-fenster ausgeben. ich bekomme nur eine (aus meiner Sicht) wirre fehlermeldung in der fehlerkonsole.

woran könnte es liegen?

mit freundlichen Grüßen
und vielen Dank
jens


----------



## Noctarius (3. Jun 2010)

Vllt wäre es hilfreich die Fehlermeldung mitzugeben? Sollen wir hellsehen?


----------



## JensMander (3. Jun 2010)

nein, natürlich sollt ihr nicht hellsehen:

ich vermute, dass mein xml-file nicht als xml erkannt wird. 
hier der fehlercode:


```
Fehler: uncaught exception: [Exception... "Cannot modify properties of a WrappedNative"  nsresult: "0x80570034 (NS_ERROR_XPC_CANT_MODIFY_PROP_ON_WN)"  location: "JS frame :: chrome://global/content/bindings/autocomplete.xml :: onxblpopuphiding :: line 834"  data: no]
```


----------



## JensMander (3. Jun 2010)

selten dämlicher fehler:
ich muss den content natürlich auch auf xml setzen, vielen dank für die mühen.


----------

