2011-01-07 6 views
0

Ich habe ein Formular (mit ein paar Felder) .. im Grunde eine Singup-Form. und ich habe das Benutzernamefeld, das gewählt werden sollte, um vom Benutzer einzigartig zu sein. Dazu muss ich mich mit der Datenbank verbinden, prüfen, ob ein solcher Benutzername existiert und dann eine entsprechende Nachricht im selben Formular anzeigen. All dies muss geschehen, wenn ich auf den "Verfügbarkeit prüfen" -Button klicke. Wie soll ich damit umgehen?Problem mit Jsp

Antwort

0

Wenn Sie alles in einer Form (nicht empfohlen) tun möchten, können Sie eine einzelne JSP mit JSTL <sql> Tags schreiben.

Ein besserer Ansatz wäre es, das Problem in Teile zu zerlegen. Beginnen Sie mit einem Credential Klasse:

package model; 

public class Credential 
{ 
    private String username; 
    private String password; 

    // Add the rest. 
} 

Haben Sie eine DAO-Schnittstelle, die Sie aus einer Datenbank erhalten einen Credential können:

package persistence; 

public interface CredentialDao 
{ 
    List<Credential> find(); 
    Credential find(String username); 
} 

Schreiben eines Servlets, der Anforderungen von JSP mit den Formularfeldern, validiert und bindet die Eingabe, verwendet ein CredentialDao, um mit einem Benutzernamen nach dem Credential zu suchen, und entscheidet dann, was als Antwort auf die JSP gesendet wird, indem untersucht wird, was zurückkommt.

0
  1. erhalten Benutzername
  2. überprüfen, ob es mit exists „aus wählen Benutzernamen ...“
  3. wenn es vorhanden ist, leiten Benutzer auf eine Fehlerseite ihnen, dass Benutzer bereits vorhanden ist (oder verwenden Ajax sagen, ihnen zu sagen die gleiche Sache auf einer Seite)
  4. wenn es nicht existiert, registrieren Sie einen neuen Benutzer mit „insert Benutzernamen ...“ oder was auch immer Mechanismus Sie verwenden und dann die Benutzerregistrierung sagen sucessfull war
+0

wie mit Ajax umleiten? irgendwelche Referenzen? – nikhil

+0

@nikhil: Sie müssen nicht mit Ajax umleiten, sondern einfach zur vorhandenen Seite einige HTML hinzufügen, die sagt "ein Fehler mit diesem Benutzernamen existiert bereits". Wie Sie dies tun, hängt davon ab, welches JS-Framework Sie verwenden. Wenn Sie jQuery verwenden, besuchen Sie die [Homepage] (http://jquery.com/). – darioo

+0

Ich benutze gerade jsp .. – nikhil