naobe @ ウィキ

サーブレット

最終更新:

Bot(ページ名リンク)

- view
管理者のみ編集可

セッション管理

サーブレット仕様(2.5)

Sun Microsystems社のJavaWebServer(JWS)で提供され、その後分離した仕様として公開された後、J2EEに吸収された。
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インスタンス)。よってスレッドセーフになる。最大インスタンスになると、新しいリクエストは待たされる。

仕様(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>
人気記事ランキング
ウィキ募集バナー