httpservletrequest,httpservletresponse:這兩個屬性的作用範圍最小。
時間上:只是本身請求和應答完成就失效,當然**是把當前的request物件取出來傳給另一
個資源,其實本身的request物件還是只生存到本次請求結束,response也同樣。
空間上:只能傳送請求的客戶端有效。
httpsession:一次鏈結到客戶端關閉,時間作用範圍比上面兩個大,空間任用範圍相同。
servletconfig:從乙個servlet被例項化後,對任何客戶端在任何時候訪問有效,但僅對本servlet
有效,乙個servlet的servletconfig物件不能被另乙個servlet訪問。
servletcontext:對任何servlet,任何人在任何時間都有效,這才是真正全域性的物件。那麼,servletconfig引數和servletcontext引數到底應該如何使用,如何取得?
一般來說,對整個應用的配置,為了不使用"硬編碼",應該配置為servletcontext引數,比如字
符集設定。
.................
charset
gb2312
.................
注意以上格式只是2。0以後的標準格式,舊容器(引擎)採用服務商自己的格式配置。注意它的
而如果只有乙個特定的servlet要設定的引數,其它servlet不能共享,應該配置為servletconfig
引數,如乙個讀取附件的servlet要用到絕對目錄,而別的servlet不會用到:
getatt
mail.getattservlet
abspath
/usr/mail/ax/axman/maildir/
不用說,因為在標籤中已經指定了name和class,也就是說只有mail.getattservlet這個
servlet中才能取到path,而別的servlet是不能取到的。
那麼如何訪問這兩個物件的引數呢?
訪問servletconfig引數:
首先要取得servletconfig物件,然後呼叫它的getinitparameter();方法。要訪問
servletconfig物件,jsp中直接使用config內建物件,但因為你的jsp編譯後的servlet一般不會被
加到web.xml中的,所以一般不會通過jsp來取對本jsp編譯後的servlet的配置引數,那麼在servlet
中要得到servletconfig物件有兩種方法:
在inii()方法中取到:通過init的過載方法傳遞
}然後在下面的方法中就可以訪問config物件。但要注意,為了確保能從構造方法中到到當前servlet的
config物件,應該呼叫父類的構造方法:
}通過getservletconfig()方法直接到時,這樣做的好處是不必調手工傳遞屬性,想在任何時候都可
以得到。
還有第三種方法,要自己實現一些介面,這裡作為一般討論就不介紹了。
要訪問servletcontext物件,只要從現有的servletconfig物件getservletcontext()就可以了,然後
呼叫它的getinitparameter()方法就可以獲取它的引數。
servlet中ServletConfig的使用
前言 相對於servletcontext,servletconfig是針對特定的servlet的引數或屬性。servletconfig是表示單獨的servlet的配置和引數,只是適用於特定的servlet。從乙個servlet被例項化後,對任何客戶端在任何時候訪問有效,但僅對本servlet有效,乙...
Servlet入門 servlet路徑問題
1.servlet路徑 url pattern 作用 將乙個請求網路位址和servlet類建立乙個對映關係 servlet可以對映多個url 例如 myservlet com.test.myservlet myservlet mmmyservlet kk2.url對映模式 配置 url位址取值可以是...
servlet中的跳轉
在servlet中,從乙個servlet跳到另乙個servlet,有基於客戶端和伺服器兩個不同的方法。1.基於客戶端,及傳送301,進行重定向 response.sendredirect url 其中 url 是位址的字串,以 開頭是根目錄開始,否則是相對位址。2.基於伺服器,進行分派。reques...