Servlet --> sendRedirect("blabla.jsp") --> Cookie / Session?

Chimaira

Erfahrenes Mitglied
Hoi Leute,

kann mir jemand bei einem Problem helfen? Ich habe keine Ahnung wie ich eine Session oder ein Cookie weitergebe.

Ich weiß zwar wie man Attribute in einer Session setzt aber ich habe keine Ahnung wie ich das in der (hier oben im Header beschriebene blabla.jsp) abfrage.

Greeze Chimaira
 
Also wenn du eine Session gesetzt hast, bleibt sie erhalten. Man muss sie nicht direkt weitergeben.
Um einen Wert aus der Session abzufragen benutzt man
Code:
request.getSession();
session.getAttribute("foo").toString();
foo ersetzt du eben durch den Namen des in der Session gespeicherten Wertes. Soweit ich weiß kann man aber nur Strings mit der Session übertragen, also musst du dementsprechend parse/casten/was auch immer :)

edit: sorry hatte die erste Zeile COde vergessen ;)
 
Zuletzt bearbeitet:
okay habe jetzt einfach in der Servlet das so gelöst:

Code:
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		HttpSession session = request.getSession();
		if(request.getParameter("user").equals("horst") 
				&& request.getParameter("pass").toString().equals("12345")){
			session.setAttribute("loggedIn", "true");
			response.sendRedirect("./admin/edit.jsp");
		}else{
			session.setAttribute("loggedIn", "false");
			response.sendRedirect("./admin/edit.jsp");
		}
	}

und konnte dann in der edit.jsp abfragen ob jemand "eingeloggt" ist.

Folgendes ändere ich noch:
- hinzufügen einer Funktion zur Überprüfung des Passworts durch eine Passwortdatei oder einer Datenbank

Danke nochmal für die Hilfe

Greeze Chimaira
 
Zuletzt bearbeitet:
Hallo, ist zwar schon länger her, dass hier was geschrieben wurde, aber ich glaube nicht, dass die Lösung so funktioniert. Beim SendRedirect wird an den Browser HTTP Code 301 gesendet und der Browser fragt die neue URL an. Das bedeutet, dass die Session nicht mehr existiert.
 

Neue Beiträge

Zurück