サーブレットとJspの動的Webサイト開発_6。JavaWebの単純なログイン実装

転送とリダイレクトを理解した後、以前に学習したJDBCと組み合わせていくつかの小さなデモを作成できます。

1つは、ログインします

このログイン機能は多くのサイトでご利用いただけますが、もちろん登録もありますので、まずは簡単なログインで気持ちを感じてみましょう

最初にデータベースを開き、test1データベースを作成してから、テーブルを作成します。テーブルの名前はt_userと呼ばれます。

CREATE TABLE `t_user`  (
  `id` int(0) NOT NULL,
  `username` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `password` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

これがすべての人のためのスクリプトです。ユーザー名はログインアカウント、パスワードはパスワード、名前はログインする人の名前とニックネームです。

次に、新しいプロジェクトを作成するかどうかを指定します。以前のHelloWorldを使用するだけで、ここでは新しいプロジェクトを作成しません~~

データベースを使用して、サーブレットを作成する必要があります。このサーブレットは、ユーザーのログイン要求を処理するために使用されます

このサーブレットを入手したら、doPostでいくつかの操作を行う必要があります

1.ユーザーのログインアカウントとパスワードを取得する必要があります

2.データベースにアクセスして比較します。アカウントとパスワードは一致していますか?

3.正しい場合は、ユーザーに正しいページにジャンプさせます。正しくない場合は、エラーページにリクエストを送信し、アカウントのパスワードが間違っていることをユーザーに通知します。

次に、アイデアに従って操作します。最初にgetParameter()メソッドを使用して、ユーザー名とパスワードを取得します。

次に、データベースに移動して比較する必要があります。ここでは、このjdbc jarパッケージを紹介する必要があります。お持ちの場合は直接使用できます。お持ちでない場合は、Mavenウェアハウスにアクセスしてダウンロードできます。 it(mavenウェアハウスアドレス:https:// mvnrepository .com /

それだけです、そしてクリックしてください

ローカルデータベースバージョンに対してダウンロードしました。ローカルで8.0.19を使用したため、8.0.19jarをダウンロードしました。

この瓶をクリックするだけで、2.2MBが表示されますが、それほど大きくはありません

ダウンロード後、このjarファイルをコピーしてプロジェクトに貼り付けます

libに貼り付ける必要があります。無差別に貼り付けないでください。

その後、あなたは見ることができます

この場所に1つあります。つまり、jdbcをプロジェクトで使用できます。そうでない場合は、自分でビルドする必要があります。ある場合は、ビルドしないでください。

次に、DBUtilクラスを自分でカプセル化して、将来の操作を容易にします。

ここではMySQL8.xバージョンを使用しています。つまり、データベースに接続するためのjarパッケージ構造が変更されているため、Class.forNameはcom.mysql.cj.jdbc.Driverと記述されています。 5.7より前に使用されたドライバパッケージはcom.mysql.jdbc.Driverです。

もちろん、タイムゾーンも8.xで追加されているので、私のURLは比較的長く、他のすべては以前と同じです。次に、これをテストするためのメインメソッドを記述します。

OKが完了したら、LoginServletに戻り、コードをここに直接アップロードして、スクリーンショットを1つずつ撮らないようにします。そうでない場合は、JDBCチュートリアル(https://blog.csdn.net/weixin_45908370)にアクセスできます。 / category_10229180 .html

アカウントからパスワードを取得します。パスワードが見つからないか間違っている場合は、間違ったページにジャンプします。問題がなければ、正しいページにジャンプします。

それでは、手放してページを作成し、戻ってこれを書いてみましょう~~

最初にlogin.jspを取得しましょう

ここで、アクションにリクエストアドレスを入力します。ここで、プロジェクトの/ loginメソッドをリクエストします。これはここに記述する必要があります。このように記述しないと、404が表示されます。後で全員に確認します。次にメソッド。これは送信タイプで、投稿を指定します

ここでは、フォームが送信された後、後でinputタグのname属性に従って値を取得するため、バックエンドに連絡する必要があります

これら2つのことは一致します。一致しない場合、取得できません。

次に、送信するボタン、ログインページを終了し、ジャンプページを成功させ、エラーページを作成します。

ここでは、EL式を使用してerrorInfo情報を出力します

次に、web.xmlを構成します

最後に、LoginServletメソッドを完成させるために戻ります

ここに注意!このリターンを追加するには、忘れないでください。そうしないと、エラーが発生します~~~

最後に、データベースにデータが入力されます

これを行った後、Tomcatを起動してテストしましょう

リクエストアドレス:http:// localhost:8080 / HelloWorld / login.jsp

アカウントのパスワードを入力します。最初に存在しないユーザーを入力します

クリックしてログインし、効果を見てみましょう

次に、adminに変更し、間違ったパスワードを入力します

最後に、ログインするための正しいアカウントパスワードに変更しました

OK、問題ありません。ここでは、このプログラムを改善するための判断を追加できます。たとえば、パスワードが空かどうか、アカウントが空かどうかなどを判断できます。

 

次に、注意が必要な問題について説明します。最初はログイン要求アドレスであり、/ HelloWorldを削除してから、要求します。

ご覧のとおり、今は/ loginです。正しいアカウントのパスワードを入力して、何が起こるか見てみましょう。

ご覧のとおり、404ページがあります。ここではアドレスバーに注目します。/HelloWorldのものがなくなっていることがわかります。そのため、リクエストできません。もちろん、次のフレームワークがあります。後の段階でこの問題に対処するのを手伝ってください。しかし、この問題に注意してください~~~

 

自分でチェックすることができます。わからない場合は、私に連絡してください。QQ:2100363119

私のウェブサイトを訪問するすべての人を歓迎します:https://www.lemon1234.com

可能であれば、私の公式アカウントに注意してください。それは私のWebサイトにあり、毎日更新されます~~~、Javaを楽しむための無制限のリソース、ありがとうございます〜

最近、ミニプログラムもオープンしました。コードをスキャンして楽しむことができます。

おすすめ

転載: blog.csdn.net/weixin_45908370/article/details/113095744