2004年9月2日 星期四

Java Servlet的Spec.當中已經明確指出session在不同web application之間是無法分享的。

Sharing session data between contexts HOW-TO
所以上面這篇文章提出利用ServletContext當中getContext()來將session的資料利用session id為key儲存在一個ServletContext當中,其他Webapp利用getContext()來取得那個ServletContext進而share彼此的資料。

不過ServletContext的api doc已經明確指出「
In a security conscious environment, the servlet container may return null for a given URL.」。
我目前測試也是遇到Container給我null,所以這個方法沒用啦。(或許在特定的Container底下有用)
不過這樣就不portable囉~

文件當中寫「
Note: This guide should apply to all J2EE containers.」應該不是那麼一回是。

張貼留言