【まずはざっくり理解する】Javaサーブレットとは?

  • このエントリーをはてなブックマークに追加
  • Pocket

サーブレットとはJavaでWebアプリケーションを作っていくときの仕組みだ。それように用意されたパッケージというかクラスやメソッドの一集まりだと思ってもらうといいだろう。

このページでは「サーブレットとは」について解説した。まずは概念だけ理解していただければ幸いだ。

Javaのサーブレット(Servlet)とは?

サーブレットとはJavaでWebアプリケーションを作るときの仕様(仕組み)だ。そのために必要な部品(クラスやメソッド)のかたまりと思ってもらっていいだろう。

サーブレットは大切な部品ではあるが、それ単体では動かない。動かす環境であるWebコンテナ(サーブレットコンテナ)が必要となる。

サーブレットはJavaのWebアプリケーションの中心を担う重要な部品だ。Webアプリケーションを作る際には、基本の仕組みをしっかりと理解しておこう。

サーブレットの特徴

マルチスレッド

Webアプリケーションでは、複数のブラウザから1つのサーバーに様々な要求が同時にくる。

以前から広く普及しているCGI(Common Gateway Interface)は、クライアントから要求があるたびにプロセスを1つ起動するため、多くの要求がある場合に極端にレスポンスが悪くなる。

プロセスの起動は、大変コストのかかる処理なのだ。

そのため、サーブレットは要求の度にプロセスを起動したりせず、要求はサーバープロセス内の1スレッドとして処理している。

つまりWebブラウザからの1回のリクエストを1つのスレッドとして同じプロセスの中で扱っている。このように1プロセスのリソースをスレッド間で共有することで、パフォーマンスを改善している。

スレッドという言葉がわからない方は下記を参考に。

サーブレットコンテナ

ライフサイクルの管理

サーブレットが起動してから破棄されるまでの一連の流れを、「ライフサイクル」という。

サーブレットでは、プロセスの起動やスレッドの立ち上げはコンテナが管理して行っており、起動時のみ実行されるメソッド、リクエストがあった時に実際に処理を実行するメソッド、最後に破棄される時に実行されるメソッドも決まっている。

そして、要求が来るたびにクラスファイルを読み込んで・・・といった処理をするのではなく、クラスが一度読み込まれたら、次の要求を処理する際はすでに読み込まれたクラスを共用して処理を行っている。

このように、Webコンテナがライフサイクルを管理することで、プログラマはあらかじめ決められた部分のみの作成を行えばよく、品質を保てるとともに、レスポンスが極端に遅くなるようなことを避けやすくなる仕組みになっている。

また、セッションを管理する機能も備わっているので、簡易な記述でセッションを管理することができる。

実行環境を選ばない

サーブレットは、WebコンテナがあればOSにかかわらず動かすことができる。つまりWindowsでもLinuxでもMacでも動く。

というわけで、大変便利なツール群だ。

まとめ

このページでは「サーブレットとは」についてまとめてお伝えをしてきた。細かいところはまたお伝えしていくが、ざっくりとこのあたりの知識は持っておきたいところだ。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できる。

短期間でエンジニアになる方法

・「まったくの初心者だけどエンジニアになりたい!」

・「プログラマーとして転職をしたい!」

という方はリナックスアカデミーの資料を見てみてください。短期間で未経験からエンジニアになることができるスクールとして15年間選ばれ続けてきた理由やノウハウが載った資料です。

エンジニアの入り口に立つために必要な勉強技術の最新動向本当に使えるIT資格学習に役立つ国からの奨励金などの情報が詰まっています。

無料で2,3日中にお手元にお届けします。


資料を見てみる

SNSでもご購読できます。

コメントを残す

*