Dieser Artikel teilt die Javaweb -Login -Funktionsmethode für Ihre Referenz. Der spezifische Inhalt ist wie folgt
Zunächst benötigen wir den grundlegenden Prozess der Javaweb -Login: Anfragen auf JSP -Seite -> Servlet -> Servlet Ruft Daten aus der Datenbank ab, indem sie Methoden aufrufen und das Ergebnis auf die Seite zurückgeben.
Wir erstellen zunächst drei JSP -Seiten, einschließlich Login.jsp (Anmeldeseite), index.jsp (Zeigt die Informationen nach dem Anmelderfolg an) und error.jsp (Seite, die sich nicht anmeldet). Der Inhalt der letzten beiden Seiten kann nach Belieben geschrieben werden, und der Hauptinhalt der Seite Login.jsp ist wie folgt:
<form action = "loginServlet" method = "post"> username: <input type = "text" name = "userername"/> password: <input type = "password" name = "password"/> <input type = "value =" surenden "/> </form>
Zu Beginn der Datei login.jsp müssen wir pageCoding = "ISO-8859-1" auf pageCoding = "utf-8" ändern (gleichzeitig vergessen Sie nicht, das Codierungsformat des Entwicklungstools festzulegen, andernfalls zeigt die JSP-Seite mit verstümmeltem Code an.)
Basierend auf den beiden Attributen von Benutzername und Kennwort erstellen wir entsprechende Entitätsklassen und fügen Get and Set -Methoden hinzu. Der Code ist wie folgt:
public class User {private String -Benutzername; privates Zeichenfolgenkennwort; public String getUnername () {return userername; } public void setUnername (String -Benutzername) {this.username = userername; } public String getPassword () {Kennwort zurückgeben; } public void setPassword (String -Passwort) {this.password = password; }} Die Action = "LoginServlet" auf der JSP -Seite bezieht sich auf das Senden einer Anfrage an das Servlet zur Bearbeitung. Als nächstes gehen wir zu Servlet, um zu verarbeiten:
importieren java.io.ioxception; import javax.servlet.servletException; import javax.servlet.http.httpServlet; importieren javax.servlet.http.httpservletrequest; import. statt der Klasse, wenn er erstellt wird. Es muss in web.xml konfiguriert werden. Der konfigurierte Code myEclipse generiert automatisch die öffentliche Klasse LoginServlet erweitert httpServlet {// userDao -Objekt erstellen, um die Abfrage der Datenbank userDao userDao = new userDaO () zu erleichtern. //The following doGet methods and doPost methods correspond to method="get" and method="post" in the form form respectively public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } public void dopost (httpServletRequest request, httpServletResponse -Antwort) löst ServletException aus, IOException {// Die Methode GetParameter verwendet, um den Wert zu erhalten, der in das Vordergrund -Textfeld eingegeben wurde, wobei der Inhalt in den Klammern das Namensattribut in der <eingabe -Tag -Streichel -STING -UNTERAME = Anfrage ist. String password = request.getParameter ("Passwort"); // Rufen Sie die GetSelect -Methode in UserDao an und erhalten Sie den Rückgabewert boolean flag = userDao.getSelect (Benutzername, Passwort). // leiten Sie an die Seite index.jsp, wenn (flag) {request.getRequestDispatcher ("index.jsp"). Forward (Request, Antwort); } else response.sendredirect ("error.jsp"); }} Was ich in den Kommentaren bereits gesagt habe, ist sehr klar, also werde ich es nicht mehr wiederholen. Sie können sich die Zeilen 26 und die Zeilen 29 ansehen, von denen 26 weiterleiten und 29 umleiten. Interessierte Freunde können den Unterschied zwischen den beiden überprüfen. Der restliche Teil ist der Abfragevorgang über die zuvor erwähnte Datenbank. Wir haben es in Zeile 23 angerufen, und die folgende Methode haben den Anruf abgeschlossen:
Paket com.test.dao; import Java.sql.connection; import Java.sql.driverManager; import Java.sql.prepararedStatement; Java.sql.Resultset; öffentliche Klasse userdao {// Anschluss der Datenbankverbindung GetCon () {// /// // // // // // // // // // // // //, // // // // // //. // // // // // //, // // // //. // Datenbankverbindung Passwort Zeichenfolge Passwort = ""; String driver = "com.mysql.jdbc.driver"; // wobei der Test der Datenbankname ist String url = "jdbc: mysql: // localhost: 3306/test"; Verbindung conn = null; try {class.Forname (Treiber); conn = (Verbindungs) DriverManager.getConnection (URL, Benutzername, Passwort); } catch (Ausnahme e) {e.printstacktrace (); } return conn; } // Die Abfragemethode, wenn es Daten gibt, die den Bedingungen erfüllen, gibt sie echte öffentliche boolean getSelect (String -Benutzername, String -Passwort) {boolean flag = false; String SQL = "SELECT * vom Benutzer wob Verbindung conn = getcon (); PrepedStatement pst = null; try {pst = (preparedStatement) conn.preparestatement (SQL); ResultSet rs = pst.executeQuery (); if (rs.Next ()) {flag = true; }} catch (Ausnahme e) {} Rückkehrflag; }}In dieser Methode stellen wir zunächst eine Verbindung zur Datenbank her und geben dann den Benutzernamen und das Kennwort der Abfragemethode über, um festzustellen, ob der Benutzer mit diesem Benutzernamen und Kennwort in der Datenbank vorhanden ist. Wenn es existiert, gibt es true zurück, andernfalls gibt es false zurück (vergessen Sie nicht, das mit der Datenbank verknüpfte Paket zu importieren).
In den Feldern in der Datenbank können Sie nur den Benutzer der Entitätsklasse zum Erstellen verwenden, dh zwei Attribute enthalten: Benutzername und Kennwort. Wenn Sie Fragen zum Datenbanklink haben, finden Sie im vorherigen Aufsatz zum Datenbankteil.
Schauen wir uns schließlich die Konfiguration in web.xml an:
<? XSI: Schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app-app-app-app-app- = <servlet> <Servlet-name> LoginServlet </Servlet-name> <Servlet-Class> com.test.servlet.loginServlet </Servlet-Class> </Servlet> <Servlet-Mapping> <Servlet-name> LoginServlet </servlet-name> <URL-PATTERN>/Loginservlet </url-patter> </dienst-Mapping> </url-pattern> </</dienst-Mapping> </url-pattern> </grell-maping
Der <servlet-name> in <servlet> kann nach Belieben geschrieben werden. Stellen Sie einfach sicher, dass die oberen und unteren Teile gleich sind.
Dann gibt es den Pfad des von Ihnen selbst definierten Servlets (einschließlich des Paketnamens) und schließlich <url-pattern>. Der Inhalt im Inhalt kann auch nach Belieben geschrieben werden, aber das Aktionsattribut des Formularformulars in der JSP -Seite muss mit diesem Namen übereinstimmen (die Aktion enthält nicht "/")
Schließlich müssen wir das Webprojekt an Tomcat veröffentlichen und dann eingeben: http: // localhost: 8080/project name/login.jsp im Browser zum Zugriff und Anmeldung.
Dies ist nur eine einfache Anwendung, und der Zweck besteht darin, allen Freunden zu helfen, den grundlegenden Prozess der JSP+Servlet -Entwicklung zu verstehen. Natürlich werden wir im tatsächlichen Entwicklungsprozess eine detailliertere Segmentierung durchführen, einschließlich Schnittstellen, Implementierungsklassen usw.