IT技術の痒い所に手が届く

Javaログイン周りの講習

Webのログインアプリを題材に
MVC,JSP,Beans,DAO,Filter,logを一気に学ぶ

Java初心者が最初に学ぶログイン機能
ほとんどのアプリで必須機能です。

しかし、多くの参考書では(Jspとサーブレット1つか2つの)
ログインだけで終わり。これだけでは実際のログイン機能になりません。

そこで、ログインと言えば必須となる
MVC,Beans,DAO,JSP(EL式,JSTL),Filter,log,logout・・・
実務で使えるログイン周りの講習作ってみました。

ログイン周りの必須機能と知識

実際のアプリは、こんな感じで、もう少し機能と知識が必要かな。

このへんの知識があると実務に直結です。

もちろん、わかっている方はOK。ここで読むのを止めましょう。
わかってない方は、続きを一読しましょう。

MVC+DAO+Beans

Webサイトを作る時よく使われるのがMVCモデルです。

Viewで画面を表示し、Controllerでアクセスを受け取り(振り分け)、
Modelで論理的な処理(ロジック)を行う。

ただし、実際にはMVCに加えてDAOBeansを使う。

Beansとは、データを格納するJavaプログラム。
DAOとは、データを操作するJavaプログラム。

さらに応用として、Filterも使う。
Filterは、共通処理やアクセス制御ができる。

今回の講習では、上記を一通り学びます。
ちなみに、以下が講習の(アナタの)成果物です。

MVCモデルとDAOとBeans

動的なデータをJSPで表示

ログインしたユーザーのIDや名前をJSPで表示させます。

表示させるためには、データをセッションに格納し、
JSPでEL式を使うのが簡単です。

まずは、この基礎を学びましょう。

xss攻撃への対処

JSPのEL式は、簡単に動的データを表示できます。
しかし、場合によっては、
xss攻撃(クロスサイトスクリプティング)の標的になります。

どんな場合に標的になるのか?
どうやって防ぐのか?

今回は、JSTL(JavaServer Pages Standard Tag Library)を使って対処します。
一緒にセキュリティ高めましょう。

JSPでの条件分岐

サーブレットでセッションにデータを持たせて、
JSPでは、そのデータを表示する。

しかし、データによっては、
表示を変えたいとか表示したくない場合もありますよね。

そんな条件分岐も、JSTLを使うと便利です。
JSPでの使い方を覚えましょう。

Filter機能でユーザーのアクセス制御

ログインした後、会員だけに見せたいページありますよね。
どうやって作りますか?

一番ダメなのは、ログイン後のページ遷移だけ作って、
「ログインしないと見れない」と思い込み、
会員ページのURLを直接叩けば、実は見れてしまうこと。

そんなアクセス制御は、Filterを使うと簡単に実装できます。

ログアウトでセッション情報の破棄

ログインしたままの状態でブラウザを放置すると、
自分以外のユーザーが自分になりすまして利用する恐れがあります。

そこでログアウト処理が必要です。

ログアウトでセッション情報を破棄することにより、
ブラウザを開いたまま放置しても大丈夫になります。

誰がいつ何をしたのかログを取得する

ログとは、ユーザーがいつ何をしたのか?の記録です。
(ログインのログと被ってややこしいですが、苦笑)

ログがあれば、何かあっても後から調査できますので、
システムの運用上、ログは必須です。

ログの方法としては、log4j(ログフォージェイ)が有名です。
今回、使ってみましょう。

Javaログイン周りの講習

以上の内容を含めて、こんな講習を作ってみました。
Javaログイン周りの講習

講習では、私も環境を準備し質問には即答しますし、
一緒に楽しく学べると思いますが・・・・

ひとまず、以下に講習の目次や運営方法の詳細を記しました。
申込み検討の方は、お読みください。

講習の目次

Javaログイン周りの講習の目次は以下の通りです。

  1. ログイン画面
  2. ログインサーブレット
  3. DAOとBeans
  4. 成功・失敗ロジック
  5. Jsp表示(EL式)
  6. Jsp表示(c:out)
  7. Jsp表示(JSTL条件分岐)
  8. フィルター
  9. ログアウト
  10. ログを取得

PCだけご用意ください

受講に必要なツール(JDK,Tomcat,Eclise)のインストール方法や使い方は、
全て図解でご用意しています。

受講にあたっては、PCだけあればOK。

テキストはWindowsベースで書かれていますが、
Macでも検証したので、WindowsかMacどちらかのPCで大丈夫です。

質問には全て私が答えます

Webテキストに沿って勉強を進めていきます。

もしかすると、何かの理由でエラーが発生したり、
講習がうまく進まない場合もあるでしょう。

そんな場合は、全て私が直接お答えいたします。

そのために、私も同様の環境と質問掲示板も用意しました。

ですので、どんな下らないことも質問してください。
エラー、トラブル、意味不明、悩むことなく前に進めます。

※ただし、以下の質問期間があります。それだけはご注意ください。
質問期間:2023年2月28日

講習の申込みから受講までの流れ

講習は、メールとホームページで行います

講習は、基本的に全てメールとホームページ上で行います。
講習を申込みされると、メールで「講習専用サイト」をご案内いたします。
アナタは、そのサイトをご覧頂き、講習を受講していただきます。

申込みの翌日から、メールが10日間連続で届きます

講習申込み翌日から、(要点を記した)講習メールが10日間配信されます。
講習メールとサイトの内容は、1日20分~30分程度で済むように工夫してあります。
時間が無いアナタにとっても、効率よく勉強できるように設計してあります。

合計5~6時間の講習です

1日20分~30分程度のメールが10日間配信されます。
合計5~6時間です。毎日講習を受けて頂いてもOKですが、まとめて受けて頂いてもOKです。
アナタの生活パターンにあわせて受講してください。

迷った場合は、すぐに質問できます

いつでも受講者専用掲示板に質問することができます。
私は、その掲示板を毎日チェックしているので、最低でも1日~2日後には回答を見ることができます。
(ただし、上記の質問期間はご注意ください)

今回の講習で行わないこと

今回の講習では、DBは扱いませんのでご注意ください。

ただし、DAO(Data Access Object)を使って疑似的なデータは扱います。
従って、いざDBを使う場合はDAOを少し書き換えるだけでOKです。

受講者の感想もお聞きください

<K.Sさん>
サーチマン佐藤さん
ユーザーに使用してもらう画面を作成している所だったので,
こちらで学んだログイン画面から入ってもらうようにしたいと思います.
タイミングよい講習でありがとうございました。
<H.Sさん>
受講するかどうか考える際、セッション管理であれば、たぶんググればセッションオブジェクト的なものの使い方は、比較的短時間で調べられるだろうと思って、ちょっと迷いました。

でも、セッションオブジェクトに保存された認証情報をチェックして、ページの表示を制御するロジックをすべてのコントローラーに埋め込んで行くのは芸がないので、たぶんフレームワーク側にそんな仕組が用意されていているはず。

佐藤さんのことですから、そこをわかりやすく整理して頂けているだろうと思って受講してみましたが、期待していた通りの内容で大変勉強になりました。

フィルターの部分については、購入前の講習紹介の中でもう少々強調された方が、購入者が判断しやすい(ぶっちゃけ、購入者が増える)のではないかと感じました。 ログについても使ったことがなかったので、とても勉強になりました。

今回はソースのポイントが解説されていましたので、分からない箇所をググる手間が省けて、学習のスピードもアップできました(ポイントのおかげで、別途ググらなくてもソースが理解できました) 今回も相変わらずすばらしい講習でした。ありがとうございました。
<H.Iさん>
この講習を数年前に受けたかったです。
かなり無駄な作り方をしていたことがわかりました。
作ったシステムの簡易なものを、再作成してみて身につくようにしていきたいです。
このような講習を作成していただき、ありがとうございました。
<I.Kさん>
フィルター、ログアウト、ログのパートがとても勉強になりました。
ありがとうございました。
教材がとても親切で分かりやすかったです。
掲示板機能で稚拙な質問にも答えて頂きこちらもとても助かりました。
何度も教材を読んだり、書いたりしながら引き続き勉強を進めていきたいと思います。
ありがとうございました!
<T.Eさん>
いつも講習ありがとうございます。
現場の手順書のような講習テキストがとても分かりやいです。
フィルター、log4jはうっすら気になっていた部分だったので今回学べて良かったです。
今後も実際の現場で使われているような技術を学んでいきたいと思いますので、よろしくお願いいたします。

講習が期待外れだった場合

講習購入後、アナタの役に立たないのなら、
講習費をいただくのは、私の本意ではありません。

従って、この講習は6か月間の返金保証を行います

返金要求方法は簡単です。
アナタが気にいらない場合、申込されるとメールが届きますので、
そのまま返信で返金要求してください。

さらに特典:強力な追加テキスト

今回、強力な特典もつけました。

ログインアプリを作るにあたって(業務上は)、
シーケンス図(設計図)も必要ですよね。

シーケンス図を基に、プログラム開発する。

今回、この シーケンス図をサクッと描く講習特典でつけました。
この機会に、シーケンス図の技術も身につけましょう。

※シーケンス図の講習を単独で希望の場合は、
こちらのPlantUMLでシーケンス図の講習からご購入ください。

お申込みはこちら

Javaログイン周りの講習
お申し込み期限:12月24日まで
9,800円 です。
以下から決済手段をお選び下さい。


銀 行 振 込
入金後(24h以内に)コンテンツを送付します。


即ダウンロードできます。

カード決済での注意点をご一読ください

追伸:実務に直結するログイン周り

Java(Jspとサーブレット)からWebサイトを作ってみる。
ほとんどのサイトでは、ログイン機能がありますね。

なので、多くの参考書でもログイン機能を題材にしています。

内容としては、JSPの入力画面とサーブレットだけ。
もちろん、超入門としては、それでOKです。

ただし、実務では、もう少し機能と知識が必要になる。

今回のソースは、今後のアナタの財産になるはずです。
末永く使ってくださいませ。

ではでは。またお会いしましょう。
ありがとうございました。

サーチマン佐藤

Copyright(c) 2005-2022 SearchMan Sato . All Rights Reserved. 特定商取引に基づく表示