Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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()

{

}

}

Geschrieben

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

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...