この記事では、参照用のJavawebログイン関数メソッドを共有しています。特定のコンテンツは次のとおりです
まず、Javawebログインの基本プロセスが必要です。JSPページでリクエストを送信 - >サーブレット - >サーブレットは、メソッドを呼び出して結果をページに返すことでデータベースからデータを取得します。
最初に、login.jsp(ログインページ)、index.jsp(ログインの成功後に情報を表示)、error.jsp(ログインに失敗したページ)を含む3つのJSPページを作成します。最後の2ページの内容は自由に書くことができ、login.jspページの主な内容は次のとおりです。
<form action = "loginservlet" method = "post"> username:<入力タイプ= "text" name = "username"/>パスワード:<入力タイプ= "パスワード" name = "password =" password "/> <入力タイプ="送信 "値"/> </form> </form>
login.jspファイルの開始時に、PageEncoding = "ISO-8859-1"にPageEncoding = "UTF-8"に変更する必要があります(同時に、開発ツールのエンコード形式を設定することを忘れないでください。
ユーザー名とパスワードの2つの属性に基づいて、対応するエンティティクラスを作成し、GetおよびSet Methodを追加します。コードは次のとおりです。
パブリッククラスユーザー{private string username;プライベート文字列パスワード。 public string getUsername(){return username; } public void setUsername(string username){this.username = username; } public string getPassWord(){パスワードを返します。 } public void setPassword(string password){this.password = password; }} JSPページのAction = "LoginServlet"は、処理のためにサーブレットにリクエストを送信することを指します。次に、サーブレットに移動して処理します。
java.io.ioexception; Import javax.servlet.servletexception; Import javax.servlet.http.httpservlet; Import javax.servlet.httpservletrequest; Import javax.servlet.http.httpsersponse;/Itest.dao.dae作成時のクラスの代わりに。 Web.xmlで構成する必要があります。構成されたコードMyEclipseは、パブリッククラスLoginServletを自動的に生成しますhttpservlet {// userdaoオブジェクトを作成して、データベースuserdao userdao = new userdao(); //次のdogetメソッドとドポストメソッドは、method = "get"およびmethod = "post" in form in formにそれぞれpublic void doget(httpservletrequest request、httpservletresponse response)に対応します。 public void dopost(httpservletrequest request、httpservletresponse応答)Servletexception、ioexception {// getParameterメソッドを使用してフォアグラウンドテキストボックスに入力された値を取得します。文字列パスワード= request.getParameter( "password"); // userdaoでgetSelectメソッドを呼び出して、return値を取得します。 // index.jspに転送if(flag){request.getRequestDispatcher( "index.jsp")。 } else response.sendredirect( "error.jsp"); }}コメントですでに言ったことは非常に明確なので、もう繰り返しません。 26行目と29行目を見ることができます。そのうち26行目は転送され、29はリダイレクトがあります。興味のある友達は、2つの違いを確認できます。残りの部分は、前に述べたデータベースに関するクエリ操作です。 23行目でそれを呼び、次の方法で電話を完了しました。
パッケージcom.test.dao;インポートjava.sql.connection; Import java.sql.drivermanager; import java.sql.preparedStatement; import java.sql.resultset; public class userdao {//データベースパブリック接続getcon(){// database connection name riker = "row" //データベース接続パスワード文字列パスワード= ""; string driver = "com.mysql.jdbc.driver"; //テストはデータベース名ですstring url = "jdbc:mysql:// localhost:3306/test";接続conn = null; try {class.forname(driver); conn =(connection)drivermanager.getConnection(url、username、password); } catch(Exception e){e.printstacktrace(); } return conn; } //クエリの方法、条件を満たすデータがある場合、それは真のpublic boolean getSelect(string username、string password)を返します{boolean flag = false; string sql = "select * from user where username = '"+username+"'およびpassword = '"+password+"'";接続conn = getCon(); reprentStatement pst = null; try {pst =(preatedStatement)conn.preparestatement(sql);結果rs = pst.executequery(); if(rs.next()){flag = true; }} catch(例外e){} flagを返します。 }}このメソッドでは、最初にデータベースに接続し、JSPページから取得したクエリメソッドユーザー名とパスワードを渡して、このユーザー名とパスワードがデータベースに存在するかどうかを判断します。それが存在する場合、それはtrueを返し、それ以外の場合はfalseを返します(データベースにリンクされたパッケージをインポートすることを忘れないでください)。
データベース内のフィールドについては、Entityクラスユーザーを使用して作成するだけです。つまり、2つの属性のユーザー名とパスワードを含めることができます。データベースリンクについてご質問がある場合は、データベースパーツに関する前のエッセイを参照してください。
最後に、web.xmlの構成を見てみましょう。
<?xml version = "1.0" encoding = "utf-8"?> <web-app xmlns:xsi = "http://www.w3.org/2001/xmlschema-instance" xmlns = "http://java.sun.com/xml/nns/javaee xsi:schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/ns/javaee/web-app_0.0.0.xsd" "id" "id" id "id" webaee/wweb-app_0.xsdd <Servlet> <Servlet-Name> loginServlet </servlet-name> <servlet-class> com.test.servlet.loginservlet </servlet-class> </servlet> <servlet-name> loginervlet </servlet-name> <url-pattern>/loginervlet </url-thertn>
<servlet-name> in <servlet>は自由に書くことができます。上部と下部が同じであることを確認してください。
次に、自分で定義されたサーブレットのパス(パッケージ名を含む)、そして最後に<url-pattern>があります。内部の内容も自由に書くことができますが、JSPページのフォームフォームのアクション属性は、この名前と同じでなければなりません(アクションには "/"が含まれていません)
最後に、WebプロジェクトをTomcatに公開してから、http:// localhost:8080/project name/login.jspにアクセスしてログインする必要があります。
これは単なるアプリケーションであり、目的はすべての友人がJSP+サーブレット開発の基本的なプロセスを理解できるようにすることです。もちろん、インターフェイス、実装クラスなど、実際の開発プロセスでより細かいセグメンテーションを実行します。