# Probleme mit Ajax Login (jsp)



## gustav-mega (16. Okt 2009)

Hallo,

ich habe folgendes Beispiel für Ajax Login mit php gefunden:


```
<html>
<head>
<script language="javascript">
function postRequest(strURL){
var xmlHttp;
if(window.XMLHttpRequest){ // For Mozilla, Safari, ...
var xmlHttp = new XMLHttpRequest();
}
else if(window.ActiveXObject){ // For Internet Explorer
var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlHttp.open('POST', strURL, true);
xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xmlHttp.onreadystatechange = function(){
if (xmlHttp.readyState == 4){
updatepage(xmlHttp.responseText);
}
}
xmlHttp.send(strURL);
}

function updatepage(str){
if(str=="yes"){
alert("Welcome User");
}else{
alert("Invalid Login! Please try again!");
}
}

function call_login(){
var username = window.document.f1.username.value;
var password = window.document.f1.password.value;
var url = "login.php?username=" + username + "&password=" +password ;
postRequest(url);
} 
</script>
</head>

<body>
<Center>

<form name="f1" onsubmit="return call_login();">
<table border="0" bgcolor="#CCCCFF" cellspacing="1" cellpadding="3" width="287">
<tr>
<td align="left" colspan="2" width="275"><b><font size="5" color="#000080">Login</font></b></td>
</tr>
<tr>
<td align="right" width="81"><b><font color="#000080">User
Name:</font></b></td>
<td width="184"><input type="text" name="username" id="user" size="20" value="" /></td>
</tr>
<tr>
<td align="right" width="81"><b><font color="#000080">Password:</font></b></td>
<td width="184"><input type="password" name="password" size="20" value="" /></td>
</tr>
<tr>
<td colspan="2" align="center" width="275"><input type="button" name="a1" value="Login" onclick="call_login()"></td>
</tr>
</table>
</form>

</center>
</body>
</html>
```

login.php:


```
<?
$username=$_GET["username"];
$password=$_GET["password"];
if($username=="admin" && $password=="admin"){
echo "yes";
}else{
echo "No";
}
?>
```

ich habe Zeile 33 so umbenannt:


```
var url = "login.jsp?username=" + username + "&password=" +password ;
```

und das login.php in auch login.jsp umgeändert:


```
<%

String username = request.getParameter("username");
String password = request.getParameter("password");
if(username.equals("admin") && password.equals("admin")){
out.println ("yes");
}else{
out.println ("No");
}

%>
```

aber irgendwie funktioniert es nicht, kann jemand mir vielleicht sagen, was ich falsch mache?


----------



## maki (16. Okt 2009)

Würde dringend davon abraten PHP einfach so zu übersetzen.
Die von dir gefundene Routine sendet den Benutzernamen & das Passwort als GET Paramter, also in der URL, ist unbrauchbar in der Praxis, da so die Daten in einigen Logs auftauchen...
Dazu kommt dass ein Login per AJAX  eigentlich unbrauchbar ist, da meist sehr viel aktualisiert weden müsste, wenn nicht gar die ganze Seite.
schliesslich ist es auch so, dass man mit JSP & Servlet die AJAX Requests eigentlich nie "zu Fuss" shreibt, dafür gibt es Frameworks die einem das abnehmen.

Also vergiss die PHP frickel Scripte wenn du auf der Suche nach JSP Beispielen bist


----------



## gustav-mega (16. Okt 2009)

maki hat gesagt.:


> ... , dafür gibt es Frameworks die einem das abnehmen.


kannst Du mir welches empfehlen?



maki hat gesagt.:


> Also vergiss die PHP frickel Scripte wenn du auf der Suche nach JSP Beispielen bist


ich habe leider nichts finden können, hast Du vielleicht einen link?


----------



## maki (16. Okt 2009)

> kannst Du mir welches empfehlen?


List of Ajax frameworks - Wikipedia, the free encyclopedia
Prototype, jQuery, etc. pp.
Gibt aber auch welche in Taglib Form, einfach mal Googeln 



> ich habe leider nichts finden können, hast Du vielleicht einen link?


Auch hier: Google hilft, zB. such mal nach "jsp ajax example".

Dir ist klar das JSP eine Technik ist die es laut Sun nicht mehr bei neuen Projekten eingesetzt werden sollte?


----------



## gustav-mega (16. Okt 2009)

maki hat gesagt.:


> Dir ist klar das JSP eine Technik ist die es laut Sun nicht mehr bei neuen Projekten eingesetzt werden sollte?



meinst Du, dass ich lieber JSF verwenden soll?


----------



## maki (16. Okt 2009)

Gibt da mehere Alternativen, Facelets(JSF), Wicket, etc. pp.


----------

