※アフィリエイト広告を利用しています。今回の記事ではJavaでデータベース(PostgreSQL)に接続してユーザー認証を行うログイン機能を作っていきます。開発環境にはeclipseを使用します。前提として既に動的Webプロジェクトが作成済みであること、PostgreSQLにユーザーの情報が入ったテーブルがあることとします。動的Webプロジェクトの作成についてはこちらの記事をPostgreSQLでのテーブル作成はこちらの記事を参考にしてみてください。挫折せずにプログラミングを学ぶために必要なこと僕はプログラミングで挫折した経験があります。それは周りに聞ける人がいなく、一人でエラーと戦っていたからです。Freeksは月額10,780円という破格の値段で、現役エンジニアに質問する環境を手に入れることができるプログラミングスクールです。次のような悩みを少しでも抱えていたら、まずは無料カウンセリングを受けてみてください。エラーを一人で解消できないこのまま勉強を続けて本当に就職できるかわからないプログラミングスクールは高額すぎて通えない申込みは1分でできます。学習する環境にお金を使うというのは良い自己投資になります。今回作成するログイン機能の全体像を簡単に説明します。ブラウザに表示する画面はログイン情報を入力する画面とログイン後に遷移する画面の2種類です。ログイン情報を入力する画面でユーザーIDとパスワードの入力を行います。入力された情報を元にDBに接続してユーザーIDとパスワードが一致したユーザーがいた場合はログイン成功の画面に遷移します。一致したユーザーがいなかった場合はログイン画面にエラーメッセージの表示を行います。ログイン画面の作成まずはログイン画面を作っていきましょう。ユーザーIDとパスワードを入力する簡単なフォームを用意します。WebContentの中にlogin.jspを作成します。その上でbodyタグ内を以下のように追加します。value="ログイン"></form>はじめにリクエストスコープからエラーメッセージを受け取っています。エラーメッセージが存在した時のみ画面に表示します。%>フォームではユーザーIDをuser_idという名前で送り、パスワードをpasswordという名前でサーブレット側に送ります。次に画面から送られてきたユーザーIDとパスワードを元に認証処理を行うサーブレットを作成します。srcフォルダの中にloginパッケージを作成しLoginServletを作成します。パスはなんでも大丈夫ですが、今回は「/Login」としました。サーブレットを作成するときに指定したパスとログイン画面のformタグのaction属性には同じ値を設定する必要がある今回はGETメソッドでリクエストが来たときに呼ばれるdoGetメソッドとPOSTメソッドでリクエストが来たときに呼ばれるdoPostメソッドを作っていきます。doGetメソッドでログイン画面を表示するまずdoGetメソッドは以下のようにします。response);}今回のdoGetメソッドはシンプルです。GETメソッドのリクエストを受け取った後、login.jspを画面に表示します。response);doPostメソッドでログインの認証を行う次にdoPostメソッドの作成を行います。内容は以下の通りです。ユーザーから送信されたユーザーIDとパスワードを取得する。passwordという変数に格納しています。ユーザーから送信されたユーザーIDとパスワードを取得する。request.getParameter("password");その後PostgreSQLに接続するために必要な値を変数宣言して格納します。"yourPassowrd";次に今回実行するSQL文を作成します。今回はidとパスワードが一致するユーザーデータのidをDBから取り出します。password=?";DBに接続し、SQLを実行します。pstmt.executeQuery();idとパスワードが一致しているユーザーが存在していた場合、res.next()がtrueになります。この中で、ログインが成功した時の処理を記述します。反対に、ユーザーが存在しなかった場合はres.next()がfalseになるので、ログイン失敗時の処理を記述します。"login.jsp";}最後に設定されたパスに遷移してサーブレット内での処理は終了になります。最後に認証に成功したのちに遷移するログイン成功画面を作成します。loginn.jspと同じくWebContent内にloginSuccess.jspを作成します。bodyタグ内を以下のように書き換えます。サーバーを起動し、ブラウザで「http://localhost:8080/JavaWebApplicationSample/Login」にアクセスします。すると殺風景ではありますがログインフォームが表示されます。ユーザーIDとパスワードの入力を行い、ログインボタンを押すと認証処理がされます。認証に成功した場合はログイン成功画面に遷移し、失敗した場合はログイン画面に戻り、エラーメッセージが表示されます。以上でJavaでデータベースを使ったログイン機能の実装を終わります。Javaの勉強は何から始める?学習ロードマップを現役エンジニアが解説Javaは古くからある人気の言語で、現在でも多くの企業や開発現場で使われています。そのため求人数も多く、Javaを学べばエンジニアになりやすいといっても良いでしょう。...挫折せずにプログラミングを学ぶためには?僕はプログラミングで挫折した経験があります。エラーの連続やエラーが解消しても思った通りに動かないといったことが原因で、プログラミングが嫌いでした。「プログラミングって全然意味わからないし、全然楽しくない」そう思っていました。原因は当時周りに聞ける人が誰もいなかったからです。プログラミング学習をしていく上で周りに聞ける環境というのはとても大切です。多くのプログラミングスクールが数十万円払って通うところを月額10,780円から通うことができるのはコスパが良いです。サブスク制で、自分のペースで学ぶことができ嫌になったらすぐにやめることができます。「周りに誰も聞ける人がいなくて、エラーが解決できない」「プログラミング全然楽しくない」という方は、無料カウンセリングを受けてみて下さい。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。OSにPostgreSQLをインストールします。MacにPostgreSQLをインストールするためには2つの方法があります。Webアプリを作成するJavaのServletとjspを使ってTodoアプリを作成します。データベースにはPostgreSQLを使用します。開発にはeclipseを使って行っていきます。今回の記事ではPostgreSQLでロール・データベース・テーブルを作成する方法について解説します。バージョンは次の通りです。今回の記事はこちらの記事の続きとなっております。PostgreSQLを使ってTodoアプリを作成しています。現時点での機能は次のとおりです。こんにちは、大学時代にプログラミングを始め、現在はエンジニアをしているuhablog(ウハブログ)です。...Java【Java】Eclipseを使ってWebアプリを開発する【PostgreSQL基礎】ロール・データベース・テーブルの作成uhablog(ウハブログ)プログラミング歴7年目の現役エンジニアです。・未経験からプログラミングを学びたい・JavaでWebアプリを作りたい・エンジニアに転職したい・転職して年収アップしたいこんな人を対象に当ブログ『エンジニア大学』を運営しています。