dポイントプレゼントキャンペーン実施中!

Java基礎の本にはmainメソッドから処理が始まるって書いてあるのにServletなどはmainメソッドから始まっていません。
いったいどういう事でしょうか?

A 回答 (3件)

#2の方の回答をもう少し、簡単に説明をすると以下のようになります。



1.初期化[initメソッド]
2.要求/応答処理[serviceメソッド]
3.終了[destroyメソッド]

より詳しく知りたいのであれば、検索エンジンなどで「サーブレット ライフサイクル」をキーワードにすると、いろいろと引っかかると思います。

Javaアプリケーションの全てが、mainメソッドから始まるわけではありません。アプレットなども、サーブレットと同じく、initメソッドから始まりますし、iアプリなどでは、startメソッドから始まります。
    • good
    • 0

まず、Servletを実行するためにはServletコンテナ(J2EEコンテナ,Javaサーバ)が必要です。

mainメソッドはそのServletコンテナ内にあります。
で、TomcatやWeblogicなどのServletコンテナを起動した時に実行されます。

だいたい以下のような感じで実行されます。
(1)mainメソッドを実行してコンテナ起動(Servletコンテナのプロセス起動)
(2)Servletを利用したWebアプリをデプロイする
 -Servletコンテナによって、Webアプリがロードされる
 -Servletを実行するためのスレッドを生成する
(3)コンテナがHTTPリクエストを受取ったら、リクエストを解析しHttpServletRequestとHttpServletResponseオブジェクトを生成する
(4)リクエストURLがマッピングされたServletのserviceメソッドを呼び出す

設定によって多少順番や動きは異なりますがだいたいあってると思います。
    • good
    • 1

Servlet等では使っているクラスライブラリの中にmainメソッドを持つクラスがあり、そこから処理が始まっています。

Servlet等のメソッドはそちらから呼ばれているわけです。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!