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

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...