servlet中ServletConfig的使用

2021-06-01 12:54:01 字數 1771 閱讀 1131

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...