2017-07-17 3 views
0

Ich studiere und lerne derzeit Web-App-Entwicklung und ich muss eine E-Commerce-Website als Abschlussprojekt erstellen.Java Bean einfach Registrierungsformular

Ich begann mit dem Registrierungsdienst, der mehrere Daten von einem Registrierungsformular an einen JSP übergibt, der einen Javabean verwendet, um die Benutzereinfügung in einer Datenbank durchzuführen. So etwas wie dieses

<form action="process.jsp"> 
    <input type="text" name="Nome" value="Nome..." onclick="this.value=''"/> 
    <br/> 
    et cetera... 

Auf process.jsp aber ich muss meine Bohne istance mit allen Setter meiner Java-Klasse initialisieren

<%@page import="blogics.UserService"%> 
<jsp:useBean id="user" class="bflows.UserManagement"/> 
<jsp:setProperty property="*" name="user"/> 
<% 
    user.setNome(request.getParameter("Nome")); 
    user.setCognome(request.getParameter("Cognome")); 
    et cetera... 

Und dann lese ich meine Methode aufrufen, Benutzer in der Datenbank einzufügen und sogar Wenn alles funktioniert (ich habe sogar Einträge in meiner Datenbank), habe ich immer noch Zweifel, weil ich Codes wie diese noch nie gesehen habe und ich fühle, dass ich etwas sehr wichtiges verpasse, aber ich kann nicht herausfinden, was.

+0

Ich liebe diesen Teil, den Sie sagten "Ich habe noch nie solche Codes gesehen". Dies ist in der Regel ein veraltetes Muster und darf nicht in Java-basierten Web-Anwendungen verwendet werden. Sie müssen die Verwendung von Scriptlet vermeiden. Ich schlage vor, Sie bekommen Head Servlet und JSP von Kathy Sierra. Das wird Ihnen eine gute Grundlage in Java-basierten Web-App-Entwicklung geben. – Perry

+0

Nun, vielen Dank, ich denke ich werde Ihrem Vorschlag folgen; Mit "nie gesehenen Code wie diesem" meinte ich, ich suche nach verschiedenen Beispielen für die Registrierung im Internet, bevor ich poste und noch niemand Code wie ich und ich wunderte mich warum statt einfach Kopieren/Einfügen. – Cholas

+0

Ok. jetzt verstehe ich. Der Grund, warum der Code, den Sie online gesehen haben, anders aussieht, liegt daran, dass die meisten Entwickler jetzt Web-Frameworks verwenden. Zum Beispiel basiert die Antwort von Anshul auf dem Frühjahrsrahmen. Erst wenn Sie JSP und Servlet nicht gründlich beherrschen, werde ich Ihnen nicht raten, die Verwendung von Framework zu übernehmen. Der Grund, warum ich dieses Buch empfohlen habe. – Perry

Antwort

0

Ich schlage vor, dass Sie vermeiden sollten, Java-Code in Ihre JSP-Datei zu schreiben. Hier ist, was ich vorschlage.

Schritt 1: Erstellen Sie eine POJO Klasse

Class User { 

    private String name; 
    //setters and getters for your other form fields 
} 

Schritt 2: Controller Stellen für Ihr Formular

@RequestMapping('/register') 
Class RegistrationController(@ModelAttribute User user) { 
    String name = user.getName(); 
    // In the same way you can get your other form fields 
    // Now you can send these details to the database 
} 

Schritt 3 Posting: In Ihrer jsp Datei halten Sie Feld mit dem gleichen Namen wie B. in POJO-Klasse für zB: Wenn in POJO-Klasse der Feldname ist userName, dann in JSP-Datei wird es gleich sein, name = "userName"

<form action="/register" method="POST"> 

    <!-- This name should be same as defined in the POJO class --> 
    <input type="text" name="name" /> 
</form>