# Objekt an Servlet übergeben - oder Objekt global definieren?



## Gast (3. Nov 2007)

Hallo,
folgendes Problem. Ich möchte gerne einem Servlet b, ein Objekt aus Servlet a zur Verfügung stellen. Bin Anfänger auf diesem Gebiet. Geht das und wenn ja, vielleicht kann mir jemand einen Tip geben.

Für alle Antworten im Voraus vielen Dank

Conrad


----------



## maki (3. Nov 2007)

Kannst es an den Request oder an die Session ranhängen, je nachdem.


----------



## Guest (3. Nov 2007)

Erstmal vielen Dank für die Antwort.
Hab grad an Servlet a folgendes rangehangen:

```
rq.setAttribut("result",result);
```

In Servlet b habe ich es wie folgt ausgelesen:

```
Result result = (Result)rq.getAttribut("result");
```

Servlet a erstellt bei mir einer WebSite in der ein Link:
Show Servlet
...Servlet b auruft.

Die Klasse Result ist selbst erstellt.

Hier das Ergebnis des Versuchs:



> java.lang.NullPointerException
> meinServletPaket.HtmlFromMySqlTable.doGet(HtmlFromMySqlTable.java:24)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)



Das sieht für mich so aus, als ob kein Objekt übergeben wurde.

 Conrad


----------



## HLX (3. Nov 2007)

Korrekt. Zwischen den beiden Servlets liegen 2 Requests. Der 1. Request wird mit dem Senden der Seite beendet. Der 2. Request startet beim Linkaufruf. Hier steht dein Attribut nicht mehr zur Verfügung. Daher hängst du es besser an die Session. Dann ist es während der gesamten Benutzersitzung vorhanden:


```
rq.getSession().setAttribute("result",result);
```
bzw.

```
rq.getSession().getAttribute("result");
```


----------



## Guest (3. Nov 2007)

Der Wahnsinn  . Es geht, es jeht. Vielen Dank hat mir wieder mal den Abend gerettet. Conrad


----------

