raz Geschrieben 9. April 2002 Geschrieben 9. April 2002 hallo ich hab ein prob mit meinem Servlet, also wenn ich das surflat anspreche machts ma ne session und spunkt ein kleines form aus, das füll ich aus und pump es mit der post methode zum servlet zurück, dann wird gescheckt ob die eingabe mit den hardcodierten werten übereinstimmen, wenn jo dann werden die halt als attribute ins session objekt hinzugefügt, wenn ich dann das drecksservlet nochmal anspreche spuckt er wieder das form aus. sollte aber die werte der attribute ausgeben, ich glaub der code ist einfacher meine beschreibung *g*, danke für eure hilfe hier der code: import java.io.*; import java.lang.Integer; import javax.servlet.*; import javax.servlet.http.*; public class LogOn_Session extends HttpServlet { public void init(ServletConfig config) throws ServletException { super.init(config); } public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException,java.net.MalformedURLException,FileNotFoundException { // Weiterreichen der Anfrage. doPost(request,response); } public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException,java.net.MalformedURLException,FileNotFoundException { // Hier Anfrage bearbeiten: // - Anfrage ist in HttpServletRequest-Objekt gekapselt, zurückzulieferndes Ergebnis ist in HttpServletResponse-Objekt gekapselt. PrintWriter out; // Ergebnistyp setzen (als MIME-Type) für MIME-Typen siehen selfhtml oder JavaDoc response.setContentType("text/html"); // Ausgabekanal holen out = response.getWriter(); // Session holen // - Parameter true steht für das kreieren einer session falls keine vorhanden ist. HttpSession session = request.getSession(true); // Überprüfen ob Session neu ist if(session.isNew()) { // Anmeldeformular ausgeben getAuthForm(out); } else { // Überrüfen ob User schon angemeldet if( session.getAttribute("USER") == null || request.getAttribute("PASS") == null ) { // User ist noch nicht angemeldet // -Überprüfen ob Anmelde-Parameter übergeben wurden if(request.getParameter("frm_user") == null || request.getParameter("frm_pass") == null) { // Parameter wurden nicht vollständig oder garnicht übergeben // -Ausgabe des Anmeldeformulars getAuthForm(out); } else { // Parameter wurden vollständig übergeben // -Überprüfen ob Parameter gültig sind if( validparam( request.getParameter("frm_user") , request.getParameter("frm_pass") ) ) { // Parameter OK // -Parameter in Session Speichern session.setAttribute("USER",(String)request.getParameter("frm_user")); out.println("Sie wurden Angemeldet"); out.println("<a href='http://deinf-slnd5:8080/Studie/LogOn/'>'>http://deinf-slnd5:8080/Studie/LogOn/'>http://deinf-slnd5:8080/Studie/LogOn/</a>"); // Debug out.println(session.getAttribute("USER")); out.println(session.getAttribute("PASS")); } else { // Parameter sind falsch // -Anmeldeformular ausgeben getAuthForm(out); } } } else { // User schon angemeldet out.println("Sie sind angemeldet als; " + session.getAttribute("USER")); } } // Ausgabekanal schließen out.close(); } private void getAuthForm(PrintWriter out) { // Ausgabe des Anmelde Formulars String ServletPath = "http://deinf-slnd5:8080/Studie/LogOn/"; out.println("<html>"); out.println("<form action='" + ServletPath + "' method='post'>"); out.println("<p>User:<br>"); out.println("<input name='frm_user' type='text' size='30' maxlength='30'>"); out.println("<p>Pass:<br>"); out.println("<input name='frm_pass' type='text' size='30' maxlength='40'>"); out.println("<input type='submit' value='Absenden'>"); out.println("</form>"); out.println("</html>"); } private boolean validparam(String user, String pass) { // Vergleich die 2 Parameter mit den festkodierten Strings String _user = "test"; String _pass = "1234"; if (user.compareTo(_user) == 0 && pass.compareTo(_pass) == 0) //if (user == _user && pass == _pass) { return(true); } else { return(false); } } public void destroy() { } } Zitieren
raz Geschrieben 9. April 2002 Autor Geschrieben 9. April 2002 naja hat sich erledigt, falls es jemanden interessiert fehler waren, das attrbute pass wurde nicht gesetzt, und bei der überprüfung der attribute, hatte ich statt session.getAttribute request.getAttribute des wars Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.