プログラム

(秘)JavaServlet技法

初心者から上級者まで。Java言語によるプログラミングの真髄をレクチャーします。Webシステム開発のエキスパート「株式会社 慶」が発行。

全て表示する >

(秘)JavaServlet技法

2004/07/12

**************************************************************************
_/_/_/_/_/_/_/_/_/_/_/_/_/  (秘)JavaServlet技法  _/_/_/_/_/_/_/_/_/_/_/_/
**************************************************************************
第101号  2004/07/12 発行現在の購読者数:4414
  ▼  Servlet技法:第101回
  ▼  コラム
  ▼  次回予告
  ▼  編集後記
  ▼  編集長からのお知らせ

*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  Servlet技法:第101回
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
前回はいかがだったでしょうか?
今回からまた通常通りになりますがこれからも宜しくお願いします。
疑問・質問等ありましたらお気軽にメールしてくださいね。

↓ご意見・ご質問はこちら↓
mag@kei-ha.co.jp

では、今回も早速いきたいと思います。
今回は前回の質問集でもありましたセッションについて、
もう少し詳しく見ていきたいと思います。


HTTPプロトコルでは片方がサーバ、もう片方がクライアントです。
通信は、クライアントからのリクエスト(要求)により始まります。
サーバは、クライアントからの要求を受け取る(アクセプト)と、
それに対する何らかの応答(レスポンス)を返します。
つまり、リクエストがあると通信が確立され、
サーバからのレスポンス終了後、通信は終了します。
このように1対のやりとり毎に通信が切れる方式をステートレスと言います。
反対に通信が継続する方式をステートフルと言い、
メールサーバなどで採用されています。


◆クッキーを利用したセッション

静的なページを見るだけならステートレスで十分です。
しかし通販サイトなどのようにいくつかのページで商品を見て回る、
かごに入れる、などのようにクライアントは何度もサーバに対して
リクエストを出します。
したがってやりとりのたびに通信が切れてしまうステートレスでは、
サーバは「通信の続き」を認識することが出来ません。
さらにサーバは商品を見に来た人と、商品を買い物かごに入れた人、
そして会計をしようとする人など、その人が同一人物ということが
分からないのです。

それを解決する仕組みとしてクッキーが考えられました。
HTTPプロトコルでは、本文の他にヘッダも送受信しています。
クライアントからサーバに初めてリクエストを出した際、
サーバはクライアントに対してキーを発行し、
レスポンスのヘッダにこのキーを含めます。
レスポンスを受信したクライアントは、
キーを自分のハードディスクに記憶しておき、
次回から同じサーバにリクエストをする時には、
ヘッダにこのキーを含めます。
このようにすることで、サーバはキーを通して通信の続きを知ることが出来ます。
この仕組みをクッキーと言います。


◆クッキーを利用しないセッション

クッキーなどを利用して「通信の続き」を管理する技術をセッションと言います。
セッションには通信が切れても、
次のリクエストで引き続き使いたい情報を記録します。

クッキーを無効にしているクライアントには
「URLリライティング」という方法を使います。
セッションIDをURLの後ろにつけてリクエストするものです。

IDとパスワードをセッションに記録しておかなければ、
クライアントはページをリクエストするたびに、
IDとパスワードを入力させられることになってしまいます。

それは例えば認証した時のIDとパスワードなど、
セキュリティに関わる情報もあるので、
クッキーのように毎回毎回ヘッダと共に送受信するわけにもいきません。
セッション情報はサーバ側で管理し、そのIDだけをクッキーに載せることを
「バインドする」といいます。


次回は実際にセッションを使ったサンプルを作ってみたいと思います。

                               モリモリ
----☆PR☆---------------------------------------------------------------
  オブジェクト指向を勉強したい!,Javaを勉強したい!
  メールマガジン『JavaScript&Javaで目指そう!基本情報技術者試験』
を購読してますか?  (無料)執筆は,宿題メールでおなじみの斎藤末広
  登録  http://www.mag2.com/m/0000066251.htm
  詳細  http://www.3721p.com/java/jmaga/
---------------------------------------------------------------☆PR☆---

*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  コラム
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
クライアント側とサーバ側で動作するJavaの違い

結論から言えば、利用するAPIが違うというだけで、基本的には同じものです。

Javaはネットワークや通信を扱う機能が充実した言語で、
一般的なソケットによる通信やJava言語に特化された通信方法が使えます。
クライアント側で動作するJavaとは、これらの通信方法でサーバに
アクセスするもので、ブラウザ上で動作するコンポーネントである
アプレットの場合と、単独で動作するJavaアプリケーションの場合があります。
サーバ側で動作するJavaは同様にこららの通信方法でサービスを
提供するものですが、サーブレット、JSP、EJB、RMIサーバ、
データベースやFTPなど、何らかの従来型サービスを提供する
Javaアプリケーションというように、様々な種類があります。

J2EEでは、クライアント層、Web層、EJB層、
EIS層の4層からなる多層モデルを設定して、中間層であるWeb、
EJBとバックエンド層であるEISサーバ側と位置付けられています。
「サーバサイドJava」という言い方がされるとき、
普通はWeb層で動作するサーブレットや、JSP、EJB層で動作する
EJBを指しています。

                                  智

*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  次回予告
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  □  Servlet技法:102回
  □  コラム
  □  次回予告
  □  編集後記
  □  編集長からのお知らせ
      次号は、7月19日発行予定です。乞うご期待!!
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  編集後記
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
梅雨明けも間近ですね。
今年はホントに梅雨なんてあったのか、と思うくらい、
晴天の日が多かったですね。
こうなると水不足が心配になってしまう、ゆーいちです。こんにちわ。

このメルマガが出る頃には、参院選の結果も出ていることでしょう。
有権者の方、選挙には行きましたでしょうか。
今回の投票率はどれくらいいったのでしょうか。
選挙に行かないで政治に文句行ってる人間はどうかと思いますね。

さて、本来ならこれから、だんだんと暑くなっていくのですが、
正直これ以上暑くなったら・・・、と考えると・・・(゚口゚;)
熱中症には気をつけてくださいネ(゚0゚)ノ

                                ゆーいち
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
              *  *  *  編集長からのお知らせ  *  *  *
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
◆━◇ PR ◇━◆
□■□-------------------------------------------------------------------
■◇■モバイルコマースなら「K-CODE」http://kcode.jp/kcode/index.html
□■□-------------------------------------------------------------------

  ┏━━━━━━━━━━━━┓
  ┃携帯メルマガサイト誕生!┃
  ┗━━━━━━━━━━━━┛
  ☆☆☆お気楽"無料"マガジンサイト『プッチマガ』☆☆☆
  登録も配信もラクラク♪3分でメルマガ配信できちゃう!

  ●●●今週のオススメ『プッチマガ』●●●
  真のSEに贈る、品質管理のノウハウ集
  【品質の番人】!これまで誰も書かなかった
  「システムの品質を実現する方法」を具体的に伝授します。
  登録はもちろん無料!毎週火曜日発行です。

  ↓メルマガ購読&登録はコチラ
  http://kcode.jp/pmag/index.html 提供:株式会社慶
-------------------------------------------------------------------------
  ┏━━━━━━━━━━━━━┓
  ┃あなたのソースを再チェック┃
  ┗━━━━━━━━━━━━━┛
  ☆KSCCでJava、HTML、SQL等々ソースコードを総チェック!☆
  ・性能劣化の原因となるロジックの自動検出機能
  ・プログラムのステップ数計測(Javaは実ステップ数も)
  etc。。他にも機能満載!↓無料お試し&ご注文はコチラ
  ☆近々バージョンアップ予定!☆
  http://kcode.jp/shop/ks 提供:株式会社慶
-------------------------------------------------------------------------
  ┏━━━━━━━━━━━┓
  ┃ソフトウェア業界航海術┃
  ┗━━━━━━━━━━━┛
  ソフトウェア業界の本質をまとめました
  「皆に読ませちゃいました」(某中小ソフトウェア会社社長)
  「こういう視点で書かれた本は他にない。」(某フリーSE)
 「バイブル的存在の位置付けとし、業務に対する考え方(自覚)を、
  社員にも広めて行ければと考えております。」(某大手ソフトウェア会社課長)
   http://kcode.jp/shop/ks 提供:株式会社慶
-------------------------------------------------------------------------
  ┏━━━━━━━━━━━━┓
  ┃航空ファン要チェック!!┃
  ┗━━━━━━━━━━━━┛
  ♪♪♪航空祭でも出店中!♪♪♪
  新作続々登場!ダイキャストモデルも完成しました!
  T-シャツからお子様用飛行服まで豊富な品揃え!
  一度遊びにきて下さいね♪
   http://kcode.jp/shop/bluemax 提供:BlueMax
-------------------------------------------------------------------------
  ┏━━━━━━━━━━━━━┓
  ┃   (秘)Linuxサーバ      ┃
  ┗━━━━━━━━━━━━━┛
  ☆☆新メールマガジン「(秘)Linuxサーバ」☆☆

    Linux初心者が「Linuxとは何なのか」というところから、
    どのようにしてLinuxサーバを構築していけば良いのか
    といったところまで幅広い分野を扱っていくメールマガジンです。
    Linuxに興味をお持ちの方は、ぜひご購読ください。

    ↓ご登録はこちらから↓
    http://www.kei-ha.co.jp/magmenu.html  提供:株式会社慶
-------------------------------------------------------------------------
  ┏━━━━━━━━━━━━━┓
  ┃  (秘)データベース構築術  ┃
  ┗━━━━━━━━━━━━━┛
  ☆☆新メールマガジン「(秘)データベース構築術」☆☆

「DBをやってみたいけど〜」と思っていた方、今回を機に登録してみてください。
気づいたらDBを構成できるようになっているはずです。

http://www.kei-ha.co.jp/magdb.html  提供:株式会社慶
-------------------------------------------------------------------------
∞〜∞〜∞〜∞〜∞〜∞〜∞〜∞〜∞〜∞〜∞〜∞〜∞〜∞〜∞〜∞〜∞〜∞〜∞

                  このメールマガジンは、

                  まぐまぐ
                  http://www.mag2.com/

                  melma!
                  http://www.melma.com/

                  Macky
                  http://macky.nifty.com/index.htm

                  カプライト
                  http://kapu.biglobe.ne.jp/index.html

                  を利用して発行しています。

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
        「(秘)JavaServlet技法」は株式会社慶が発行しています。
                  http://www.kei-ha.co.jp/mag.html
             ご意見・ご質問等はこちら→mag@kei-ha.co.jp
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

規約に同意してこのメルマガに登録/解除する

メルマガ情報

創刊日:2001-10-02  
最終発行日:  
発行周期:毎週月曜発行  
Score!: - 点   

コメント一覧コメントを書く

この記事にコメントを書く

上の画像で表示されている文字を半角英数で入力してください。

※コメントの内容はこのページに公開されます。発行者さんだけが閲覧できるものではありません。 コメントの投稿時は投稿者規約への同意が必要です。

  • コメントはありません。