Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich bin auf der suche nach einem möglichst einfachen login sourcecode bei dem ich sehen kann wie mann so etwas am besten macht. es sollte dieses 'sessionbean' beinhalten.
würde mich freuen wenn mir jemand etwas code zeigen kann
wofür brauchst Du das Login denn, für eine JSP, oder eine Applikation? Und was genau meinst Du mit SessionBean.
Wenn ich Dich richtig verstehe, möchtest Du ein Login für eine JSP, wobei das Login Session-Weit in einer Bean gespeichert wird? Ist das so richtig?
Also, ich hoffe es besteht noch bedarf an Hilfe, war schon lange nicht mehr hier. Allerdings nutze ich nicht das javax.ejb.* sondern normale JavaBeans. Du machst eine jsp mit einem einfachen Anmelde-Formular ,das diese jsp wieder aufruft. Das Tag ...useBean.. macht die Bean Sessionweit verfügbar indem du dieses Tag in alle jsp´s schreibst. unter dem in ID angegebenen Namen kannst Du darauf zugreifen. Unter CLASS gibst du den namen der Java-Klasse an die dafür benutzt werden soll. Die JavaKlasse muss einen Parameterlosen Konstruktor haben und die Variablen login und passwort (oder was du sonst noch brauchst) mit set und get-Methoden. Die kompilierte class-Datei der Bean muss unter WEB-INF/classes stehen.
Code:
<body>
<jsp:useBean id="anmeldung" class="Anmeldung" scope="session" />
<%
//Wenn Anmelden gedrückt wurde
if (request.getParameter("submitbutton") != null)
{
<jsp:setProperty name="anmeldung" property="*" />
// setzt alle Werte in der Bean, wenn die Formular-Felder genauso heißen wie die Variablen
// hier kannst Du dann eine Abfrage mit vorhandenen Passwörtern und Logins etc. machen mit
String login = anmeldung.getLogin(); //.... usw.
%>
<forward page="startseite.jsp" />
<%
}
else
{
%>
// AnmeldeFormular anzeigen
Bitte melden Sie sich an...
&</p>
<form action="<%= request.getRequestURI() %>" method="post" >
<div>
<table>
<tr>
<td>Login</td>
<td><input type="text" name="login"/></td>
</tr>
<tr>
<td>Passwort</td>
<td><input type="password" name="pass" /></td>
</tr>
<tr>
<td>&</td>
<td><input class="button" type="submit" name="submitbutton" value="anmelden" /></td>
</tr>
</table>
</div>
</form>
<%
}
%>
</body>
Ich finde das Thema ganz interessant und hab mal folgende Bean gebastelt:
Code:
public class Anmeldung {
private String login;
private String passwort;
public String getLogin() {
return login;
}
public void setLogin(String value) {
login = value;
}
public String getPasswort() {
return passwort;
}
public void setPasswort(String value) {
passwort = value;
}
}
Das müßte eigentlich alles OK sein. Wenn ich denJSP-Code damit starten möchte, dann fliegt er mir mit zwei Meldungen um die Ohren, welche ich mir so jetzt nicht erklären kann:
Sonst ist mir der Code schon verständlich. Ob das alles wirklich so funktionieren soll, kann ich leider nicht beurteilen. Hätte bitte jemand kurz Zeit und Nerven sich das Beispiel vom "stan" mit der meinen Bean mal anzusehen und mir sagen warum das nicht funzt bzw. wo man etwas anpassen sollte.
1. Da ist ein Fehler in der JSP an der Stelle von dem setProperty Tag, Sorry...
2. Die Klasse Anmeldung muss in der JSP importiert werden, bevor der html_code beginnt
3. Das Feld für das Passwort hieß in der JSP "pass" in der Bean ist der Variablenname passwort
Hier dann der Code der jsp:
Code:
<%@ page import="projectBeans.*" %>
<html>
<head>
<title>testjsp</title>
</head>
<body>
<jsp:useBean id="anmeldung" class="Anmeldung" scope="session" />
<%
//Wenn Anmelden gedrückt wurde
if (request.getParameter("submitbutton") != null)
{
%>
<jsp:setProperty name="anmeldung" property="*" />
<%
// setzt alle Werte in der Bean, wenn die Formular-Felder genauso heißen wie die Variablen
// hier kannst Du dann eine Abfrage mit vorhandenen Passwörtern und Logins etc. machen mit
String login = anmeldung.getLogin(); //.... usw.
String passwort = anmeldung.getPasswort();
out.println(login+", "+ passwort);
// Testausgabe
%>
<forward page="startseite.jsp" />
<%
}
else
{
%>
// AnmeldeFormular anzeigen
Bitte melden Sie sich an...
&</p>
<form action="<%= request.getRequestURI() %>" method="post" >
<div>
<table>
<tr>
<td>Login</td>
<td><input type="text" name="login"/></td>
</tr>
<tr>
<td>Passwort</td>
<td><input type="password" name="passwort" /></td>
</tr>
<tr>
<td>&</td>
<td><input class="button" type="submit" name="submitbutton" value="anmelden" /></td>
</tr>
</table>
</div>
</form>
<%
}
%>
</body>
</html>
Um die Bean vernünftig ansprechen zu können solltest Du diese in ein Packet verpacken, bspw. projectBeans.
Dann ist die Ordnerstruktur Web_inf/classes/projectBeans/Anmeldung.class und in der Anmeldung.java steht oben noch das Packet mit drin. Um das zu kompilieren muss diese Ordnerstruktur auch schon vorhanden sein
Der Code der Bean:
Code:
package projectBeans;
public class Anmeldung {
private String login;
private String passwort;
public String getLogin() {
return login;
}
public void setLogin(String value) {
login = value;
}
public String getPasswort() {
return passwort;
}
public void setPasswort(String value) {
passwort = value;
}
}
Hab das jetzt auch mal alles erstellt und bei funzt das so, probiers noch mal aus. Wenn was nicht geht, einfach wieder posten und ich guck mir das an...