Interstage Application Serverにおいて、Tomcat4.1ベースのServletサービスからTomcat5.5ベースのServletサービスに移行したところ、URLでポート指定をしない場合のgetServerPortの復帰値が変わってしまいました。
- Tomcat4.1ベースのServletサービスからTomcat5.5ベースのServletサービスに移行したところ、URLでポート指定をしない場合のgetServerPortの復帰値が変わってしまいました。原因と対処方法を教えてください。
- [原因]
Interstage HTTP Serverを使用している場合、ServletAPIの規約改定に伴い、Tomcat5.5ベースのServletサービス(Servlet2.4)から、getServerPortはHostヘッダの有無によって以下のように異なる値を返却するようになったためです。
-
Hostヘッダがある場合
Hostヘッダの「:」よりあとの部分 -
Hostヘッダがない場合
クライアントとの接続を受け付けたサーバのポート番号
[対処方法]
Tomcat5.5ベースのServletサービス(Servlet2.4)では、処理に応じて以下のAPIを利用してください。
getServerPort
getLocalPort
APIの詳細については、Servlet2.4仕様を参照してください。
-
製品・サービス区分 | Interstage | ||||||
---|---|---|---|---|---|---|---|
製品・サービス情報 |
|
||||||
アンサー種別 | 構築(導入/移行) |