Java Servlet 考量

WebSphere® Application Server 傳統版9.0 版支援 Servlet 3.1 規格。 瞭解 Servlet 3.1 的特性和行為變更。

新特性 新特性:
本產品支援 Servlet 3.1,其中包括 Servlet 3.0 規格中引進的特性和行為變更。如需相關資訊,請參閱 Servlet 3.1 特性功能。如果您要從 Servlet 2.5 或更早版本移轉至 Servlet 3.1,請一併考量 Servlet 3.0 的行為變更。newfeat

Java™ Servlet 3.1 有許多強大的特性。其中某些特性未完全收錄在 Servlet 3.0 規格中,也可能是需要有所取捨。請參閱下列主題來充分利用新的特性。

註釋

Servlet 2.5 Web 模組中可以使用 Java Servlet 3.0 註釋,包括將 Servlet 公開在 Web。 升級舊版應用程式的必要項目時請小心,因為會處理新的註釋,而必要項目 JAR 檔可能包含您不想套用的註釋。

檔案上傳

使用 Servlet 3.0 新增的檔案上傳(多組件部分)支援時,用來寫入檔案的預設位置與 javax.servlet.context.tempdir Servlet 環境定義屬性的值相同。 例如,為具有下列屬性的配置產生 C:\opt\WAS\profiles\node1\temp\node1\server1\fragmentTest\fragmentTest24.war
  • profile home=C:\opt\WAS\profiles\node1
  • server name=server1
  • enterprise application name=fragmentTest
  • web module name=fragmentTest24.war
相對路徑也相對於這個預設位置。

您可以設定 com.ibm.websphere.servlet.temp.dir 系統內容,將 javax.servlet.context.tempdir Servlet 環境定義屬性的值變更為相對於不同的目錄。 這個系統內容會影響整部伺服器的所有應用程式。比方說,如果將 com.ibm.websphere.servlet.temp.dir 設定為 /foo,則應用程式暫存目錄就是 /foo/node1/server1/fragmentTest/fragmentTest24.war。 如果要在應用程式層次變更此值,請使用 scratchdir JavaServer Pages (JSP) 屬性。如需 scratchdir 屬性的相關資訊,請參閱 JSP 引擎配置參數主題。

程式化或動態 HTTP 階段作業配置

程式化 HTTP 階段作業配置可讓應用程式透過 web.xml 檔案配置或 API 方法呼叫,來修改使用中的階段作業配置。 在應用程式啟動之後,動態修改的 Cookie 名稱就無法變更。基於安全理由,針對應用程式之間可共用的特定 Cookie,管理者可以停用程式化階段作業配置。 一般來說,如果應用程式使用唯一的 Cookie 名稱或路徑,則可以放心修改 Cookie 配置。 您可以變更每個應用程式的預設 Cookie 路徑,以透過階段作業管理來使用環境定義根目錄。
重要: 變更路徑會影響某些依賴讓多個應用程式使用一個 Cookie 的 IBM® 延伸,例如階段作業共用或 IBMSessionExt.invalidateAll 方法。
動態 Cookie 會對媒介服務造成下列影響:
  • 企業 Proxy 會在應用程式啟動時自動擷取動態 Cookie,並使用該 Cookie 來維持階段作業親緣性。
  • 中低安全模式下的 DMZ Proxy 也會在應用程式啟動時自動擷取動態 Cookie。 對於高安全模式下的 DMZ Proxy,則不會自動擷取;在匯出目標遞送資訊之前,應用程式必須已在執行中。
  • Web 伺服器外掛程式無法自動取得動態 Cookie,因為它不會與應用程式伺服器通訊來取得配置資訊。 您必須啟動應用程式、產生外掛程式配置、將配置傳播給外掛程式,然後重新載入外掛程式的配置,才能取得 Cookie。
  • 在叢集環境中,每一部伺服器上產生的動態 Cookie 名稱必須相同,否則前端媒介服務可能無法遞送要求。

指出主題類型的圖示 概念主題



時間戳記圖示 前次更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cweb_consid
檔名:cweb_consid.html