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數位生活區 即時熱門文章