Re: [JSP ] 請問JSP生命週期與全域變數問題
※ 引述《NewSpec (新規格)》之銘言:
: 1. JSP所translate出來, 用以實際render網頁輸出的servlet實體
: 在web container中的數量與存活時間大概是多久?
: 我找了好一陣子, 都沒有找到什麼相關資料
: 我想當然一定是implementation dependent的
: 但還是想看看有沒有什麼確切的資料或文獻可以佐證的~
: 例如如果同時有m個request進來的話, JSP servlet會產生n個實體
: 在t時間內如果沒有其他request發生, 該n個實體會被清除掉這樣.
: 推 PsMonkey:你可以先看一下這篇 #1I7Zjb4B 10/22 11:41
: → swpoker:好快~我也是想到這篇! 10/22 11:46
:
: 痾... 我不是以初學者的身分發這些問題的
: 只是我帶的人有這些小問題, 以 "這樣做比較好" 並不足以打發他們
: 所以我需要一些更確切的答案:P
說真的,不是我想吐槽... [下略數十字]
zanyking 那篇,如果擺明的是初學者
我還不敢要他去看,因為... 連我自己都快看不懂了 [淚目]
(俺是寫 GWT 的,管什麼 JSP 嘛真是的 [誤])
//////// zanyking 原文引言分隔線 ////////
2. 請問Container如果突然覺得JSP應該重新Compile 一次,我們能保證他Compile 出
來的『新的』JspServlet,仍然跟舊的名稱一樣、記憶體結構一樣嗎?
答案是:
不能保證,JSP Engine高興做啥就做啥,有些高級Java Web Server,為了支援線上
動態編輯JSP,然後直接動態掛載執行,會把改過的JSP Compile 成不同的servlet
Name但是吃同樣的servlet path,這是因為在多緒執行環境裡,可能某些User
已經在存取使用該JSP前一版的servlet class instance了,所以不可以直接下線
,得要先把新版的準備好,把流量導過去後才把舊的版本從classLoader裡卸載。
/////////////////////////////////////////
zanyking 的第二點就說了
連什麼時候 container 什麼時候重新 compile 一次都無法保證
那就某種程度上回答了你的第一個問題
如果你要問實務面,那我告訴你 AppEngine 上的狀況
AppEngine 會在 webapp idle 的時候把整個 container 都砍掉
另外,自己複寫 servlet 的 destroy() 去實驗不是比較實在嗎?
你自己都知道這是 implementation dependence(我比較相信是 setting)
那還不如在你的環境上實際實驗
雖然我不知道怎麼在 jsp 裡頭寫 destroy() [喂喂]
--
錢鍾書: 說出來的話
http://www.psmonkey.org
比不上不說出來的話
Java 版 cookcomic 版
只影射著說不出來的話
and more......
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.34.226.85
推
10/22 12:38, , 1F
10/22 12:38, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 4 篇):
java 近期熱門文章
PTT數位生活區 即時熱門文章