ORACLE JAPAN Server Release 6.1

 

  |  

  WebLogic Server ホーム   |     FAQ   |   前へ   |   次へ   |   目次   |   PDF 版

FAQ: サーバサイド Java(サーブレット)

 


URL でパラメータを指定してサーブレットを呼び出すには、どうすれば良いですか。

サーブレット パラメータの通常の書式は name=value で、URLの最後の疑問符(?)の後に記述します。これらのパラメータにアクセスするには、HttpServletRequest オブジェクトで getParameter() メソッドを呼び出し、文字列をテストするコードを記述します。たとえば、URL パラメータが「func=topic」の場合、URL は次のようになります。

http://www.myserver.com/myservlet?func=topic

この場合は、次のようにしてパラメータを解析できます。ここで、「req」は HttpServletRequest オブジェクトです。

String func = req.getParameter("func");
if (func.equalsIgnoreCase("topic")) {
. . . do some work
}


同じ WebLogic Server インスタンスで同じサーブレット クラスの複数のインスタンスを実行する方法を教えてください。

複数のインスタンスを実行する場合、サーブレットはSingleThreadModel インタフェースを実装する必要があります。SingleThreadModel インタフェースを実装したクラスのインスタンスは、同時に複数のスレッドで呼び出されないことが保証されています。SingleThreadModel インタフェースの複数のインスタンスを使用して、それぞれをシングル スレッドで実行しながら、同時に発生するリクエストを処理します。

サーブレットの設計時に、ファイルやデータベースへのアクセスのようなサーブレット クラスの外部の共有リソースの使い方に注意を払う必要があります。同一のサーブレット インスタンスが複数あり、まったく同じリソースを使用する可能性があるため、SingleThreadModel インタフェースを実装した場合でも、解決の必要がある同期と共有の問題が発生します。


http セッションをデシリアライズするにはどうすればよいですか。

hppt セッションをデシリアライズするには、現在のスレッドの contextclassloader を使用してアプリケーション コンテキスト内のユーザ定義オブジェクトをロードするユーティリティ クラスを作成します。そして、このユーティリティ クラスを、システムの CLASSPATH に追加します。

 

back to top previous page next page