Hi leute,
ich hab ein Problem mit der Session bei Servlet:
Kann es sein dass man mit session (request.getSession()) und session.setAttribute(String, Object) nur Integer und Strings o.ä. speichern, bzw übergeben und wieder auslesen kann?
Als ich das ganze nur mit nem String gemacht hab, wars kein Problem den Wert wieder rauszulesen.
Aber als ich versuchte eine Instanz einer selber geschriebenen Klasse zu laden hab ich nur n null
zurückbekommen.
Hier mal der Code von doGet (in doPost steht halt doGet(request,response drin ^^ )) :
und noch meine andere Class :
Also eig. Sollte ja nun das Auskommentierte das selbe machen wie das direkt darunter, machts aber nicht.
Also bitte bitte helft mir, bzw sagt mir was ich da falsch mach.
Ich fänds nämlich voll geschickt einfach sone SessionContainer klasse zu machen, damit ich net alle Werte einzeln speichern muss.
Das hier is ja nur n Test obs tut, des eigentliche Prog is halt etwas größer.
Also Danke!!!
ich hab ein Problem mit der Session bei Servlet:
Kann es sein dass man mit session (request.getSession()) und session.setAttribute(String, Object) nur Integer und Strings o.ä. speichern, bzw übergeben und wieder auslesen kann?
Als ich das ganze nur mit nem String gemacht hab, wars kein Problem den Wert wieder rauszulesen.
Aber als ich versuchte eine Instanz einer selber geschriebenen Klasse zu laden hab ich nur n null
zurückbekommen.
Hier mal der Code von doGet (in doPost steht halt doGet(request,response drin ^^ )) :
Java:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session= request.getSession(false);
if(session==null){
session=request.getSession(true);
}
//SessionCont sCont = (SessionCont)session.getAttribute("sCont");
String sCont= (String)session.getAttribute("sCont");
PrintWriter aus = response.getWriter();
//if(sCont == null);
// sCont=new SessionCont("hallo");
if(sCont==null)
sCont="hallo";
aus.println("<html><body>");
if(request.getParameter("link")!=null){
//sCont.setDatei(request.getParameter("link"));
sCont=(request.getParameter("link"));
}
//String pressedLink=sCont.getDatei();
String pressedLink=sCont;
aus.println(pressedLink+" V:7 ");
aus.println("<a href=\"SessionTest?link=1\">Link 1</a> ");
aus.println("<a href=\"SessionTest?link=2\">Link 2</a> ");
aus.println("<a href=\"SessionTest\">Link ohne Parameter</a> ");
aus.println("</body></html>");
session.setAttribute("sCont", sCont);
}
und noch meine andere Class :
Java:
public class SessionCont{
private String welcher;
SessionCont(String a){
this.welcher=a;
}
public void setDatei(String a){
this.welcher=a;
}
public String getDatei(){
return this.welcher;
}
}
Also bitte bitte helft mir, bzw sagt mir was ich da falsch mach.
Ich fänds nämlich voll geschickt einfach sone SessionContainer klasse zu machen, damit ich net alle Werte einzeln speichern muss.
Das hier is ja nur n Test obs tut, des eigentliche Prog is halt etwas größer.
Also Danke!!!
Zuletzt bearbeitet: