# Package beim Cookie-setzten über BEAN nicht gefunden



## fusi4ever (24. Okt 2006)

Hi@all

Ich habe folgendes Problem:

Ich habe eine HTML-Datei  (*.jsp) und eine BEAN (*.java bzw. *.class)

In meiner Bean verwende ich ein Package um auf das Objekt "Cookie" zugreifen bzw. überhaupt erstellen zu können.

Beim Compilieren wird mir jedoch angezeigt das es das Package nicht gibt. Ich habe auch nachgeschaut und tatsächlich:

Es gibt dieses Package "javax.servlet.http" nicht. Nun miene Fragen:

1.Wieso gibt es das Package nicht, obwohl es auf vielen Seiten und Büchern genannt wird?
2.Weiß einer eine Lösung oder Ansatz wie ich Problem mit dem Cookie setzen lösen könnte?(Außer eine eigene Cookie-Klasse zu schreiben)

Hier meine BEAN:


```
import javax.servlet.http.*;

public class SetCookieBEAN
{
	private String name , wert , domain;
	private int verfall;
	private boolean secure;
	private Cookie cookie;


	public SetCookieBEAN()
	{
	}

	public void setName( String _name )
	{
		this.name = _name;
	}

	public void setWert( String _wert)
	{
		this.wert = _wert;
	}

	public void setVerfall( String _verfall )
	{
		this.verfall = _verfall;
	}

	public void setDomain( String _domain )
	{
		this.domain = _domain;
	}

	public void setSecure( boolean _secure )
	{
		this.secure = _secure;
	}

	public Cookie getCookie()
	{
		cookie = new Cookie( name , wert );
		cookie.setMaxAge( verfall );
		cookie.setDomain( domain );
		cookie.setSecure( secure );

		return cookie;
	}
}
```


----------



## puddah (25. Okt 2006)

Wo hast du denn nachgeschaut?


----------



## KSG9|sebastian (25. Okt 2006)

also, zuerst mal:

Der Name "SetCookieBEAN" ist etwas unglücklich gewählt. setCookieBean ist eher der Name für ne Methode > "Was eine Klasse tun kann".
Der Name wäre wohl mit CookieBean besser gewählt.
Dann die Methode public Cookie getCookie():
Es reicht wenn du this zurückgibst, du brauchst nicht das Objekt "klonen".

```
public Cookie getCookie(){
  return this;
}
```
Hab zwar keine Ahnung wozu du die Methode brauchst, aber ok.

Zu dem Package javax.servlet: Du musst die Library zum Classpath hinzufügen. Bei nem Server (Tomcat, Jboss..) liegt die Datei normal im shared-Ordner (Tomcat: $TOMCAT_HOME\shared\lib). Name der Datei ist servlet-api.jar. Die einfach in einer IDE deiner Wahl als externe Bibliothek hinzufügen.
Eclipse:
Eigenschaften deines Projekts -> Java Build Path -> Librarys -> Add External Jars -> servlet-api.jar auswählen
Fertig!


----------



## puddah (25. Okt 2006)

KSG9|sebastian hat gesagt.:
			
		

> also, zuerst mal:
> 
> Dann die Methode public Cookie getCookie():
> Es reicht wenn du this zurückgibst, du brauchst nicht das Objekt "klonen".
> ...



Wenn er das so macht wird der Compiler aber schimpfen. :?

Ich glaube du meinst er sollte direkt die Attribute der Member "cookie" setzen, statt diese in den entsprechenden gettern und settern erst in seperate Member zu speichern.

Noch was zum Code:
Warum machst du bei den Settern immer ein Underline "_" vor den Parameternamen?
Das würde ich weg lassen, sieht einfach schöner aus


----------



## KSG9|sebastian (25. Okt 2006)

Ups, ich dachte mit "getCookie(..)" will er die Instanz der Klasse SetCookieBEAN holen. Schwachsinn 

Aber daraus resultiert gleich die nächste Frage:

Was hat die Klasse SetCookieBean für nen Sinn? Im Endeffekt erzeugst du damit auf umständliche Art und Weise einen Cookie.
Da kannst du aber gleich Cookie c = new Cookie() machen.


----------

