naobe @ ウィキ
サーブレット
最終更新:
Bot(ページ名リンク)
-
view
WEBアプリケーションに戻る
セッション管理
サーブレット仕様(2.5)
Sun Microsystems社のJavaWebServer(JWS)で提供され、その後分離した仕様として公開された後、J2EEに吸収された。
http://jcp.org/aboutJava/communityprocess/mrel/jsr154/index2.html 参照
http://jcp.org/aboutJava/communityprocess/mrel/jsr154/index2.html 参照
インスタンスの数
デフォルト(シングルスレッドモデルでない)では1インスタンス/1サーブレット 複数スレッド/1インスタンス、1スレッド/1リクエスト。SingleThreadModelをimplementしたサーブレットは、1サーブレットに対して複数のインスタンスを持ち、1リクエストに対して1インスタンスを生成するためスレッドセーフになる
Tomcat6の実装を見ると、最大インスタンス数を超えるまでは、複数のインスタンスでリクエストを並行して処理する(1インスタンス/1リクエスト、1スレッド/1インスタンスつまり1スレッド/1インスタンス)。よってスレッドセーフになる。最大インスタンスになると、新しいリクエストは待たされる。
Tomcat6の実装を見ると、最大インスタンス数を超えるまでは、複数のインスタンスでリクエストを並行して処理する(1インスタンス/1リクエスト、1スレッド/1インスタンスつまり1スレッド/1インスタンス)。よってスレッドセーフになる。最大インスタンスになると、新しいリクエストは待たされる。
仕様(2.2)
サーブレットとは
サーブレットはロードすると、意図的に停止しない限りメモリに常駐する。
基本用語
WEBアプリケーション
1WAR/1WEBアプリケーション
リダイレクト
public void doGet(HttpServletRequest request, HttpServletResponse response) { response.setContentType("text/html; charset=Shift_JIS"); response.sendRedirect(url);
フォームデータ
URL
htt://ホスト名/コンテキスト/サーブレットURL/?パラメータ名1=値1&パラメータ名2=値2&・・・&パラメータ名n=値n
サーブレットからは、doGet()のrequestからgetParameter(パラメータ名)で値を読む。
リスナ
WEBアプリケーションの起動、シャットダウンを検知する
「javax.servlet.ServletContextListener」はWebアプリケーションの起動/シャットダウンを検知するリスナー
web.xmlへの登録
filterの後、servletの前に登録する。
<web-app> ... </filter-mapping> <listener> <listener-class>InitializationListener</listener-class> </listener> <servlet> ... </web-app>