
2010年11月10日
要理解這個首先要有個概念: 我們寫的servlet程序,只是整個系統(tǒng)程序中的一個部件,整個系統(tǒng)的主體框架(這里指的是Servlet引擎)已經(jīng)有了,自己寫的servlet只是提供給它去調(diào)用。。 主體框架讀配置文件,根據(jù)配置文件生成ServletConfig對象,然后調(diào)用你寫的Servlet類的實例對象的init方法把ServletConfig對象 傳遞給servlet實例對象。
如果要在其他的地方應(yīng)用servletConfig對象,定義一個:
private ServletConfig config;
暴露ServletConfig對象的引用
public ServletConfig getServletConfig() {
}
方法:getInitParameterNames();初始化參數(shù)的名稱
getParameter(String name); 初始化參數(shù)的值
等等
回調(diào)方法和工具方法:專門被系統(tǒng)調(diào)用的方法叫做回調(diào)方法
Servlet是一個要被容器調(diào)用的組件類,運行過程都是由servlet容器控制的,我們只負責(zé)編寫這些方法,而調(diào)用是由容器完成的。
posted @
2010-11-10 20:42 慟哭明天 閱讀(500) |
評論 (0) |
編輯 收藏
Servlet引擎采用多線程模式運行,為并發(fā)的每個訪問都預(yù)備一個獨立的線程進行相應(yīng),這樣做提高了性能,但是也帶來了線程安全問題(一個servlet實例對象被多個線程同時調(diào)用的問題)。
解決的最好辦法 是在Service方法中編寫多線程同步控制的代碼,而不要采用單線程的運行模式。。
哪些情況下要注意線程安全:
除了在那些訪問成員變量的時候要注意線程安全,訪問共享資源(session和數(shù)據(jù)庫內(nèi)容)的時候也要注意線程安全的問題(如果沒有這些內(nèi)容就是讀不改一般也不會出現(xiàn)線程安全的問題)。
posted @
2010-11-10 17:30 慟哭明天 閱讀(116) |
評論 (0) |
編輯 收藏