Servlet&JSP學習之servlet屬性和監聽(1)_servletConfig和servletContext
servletConfig方法列表
| 返回name的實際初始化值 |
以數組的形式返回所有的初始化值 | |
返回上下文 | |
返回這個servlet實例的名稱 |
在XMl中的代碼表現形式是這樣滴:
<servlet>
<init_param>
<param_name>myEmailAddress</param_name>
<param_value>pengjunxlx@yahoo.com.cn</param_value>
</init_param>
</servlet>
在servlet代碼中:
String emailAddress = getServletconfig().getInitparameter("myEmailAddress");//這里的myEmailAddress也就是上面在XML中定義的<param_name>myEmailAddress</param_name>
容器初始化一個servlet的時候,他會讀DD,就是XML配置文件,并為servletConfig創建名/值對。具體的步驟是這樣:
- 容器讀取這個servlet的部署描述文件,包括servlet初始化參數(<init_param></init_param>)
- 容器為這個servlet創建一個新的servletConfig實例
- 容器為每個servlet初始化參數創建一個String 名/值對。
- 容器想servletConfig提供String 名/值初始化參數的引用
- 容器為servlet類創建一個實例
- 容器調用servlet的init()方法,傳如servletConfig引用
問題來了:這個數據要是JSP也想用怎么辦呢?
在servlet中:request.setAttribute("jspEmail",emailAddress );
然后在JSP中:request.getAttribute("jspEmail");
但是,如果想這樣一個屬性,需要在很多地方用到,那就最好用上下文初始化參數了:servletContext
servletContext
servletContext與servletConfig的比較學習:
servletConfig | servletContext | |
適用范圍 | 只對配置了<init_param>響應的servlet適用 | 適用于整個web項目 |
部署表述文件 | <web_app> ... ... <servlet> <init_param> <param_name></param_name> <param_value></param_value> </init_param> </servlet> ...... </web_app> | <web_app> ... ... <servlet> ... ... </servlet> <context_param> <param_name></param_name> <param_value></param_value> </context_param> ... ... </web_app> |
servlet代碼中的表現 | getServletconfig().getInitparameter(" ") | getServletContext().getInitParameter(" ); |
servletContext還能做什么?看看servletContext主要的一些方法吧:
servletContext是JSP活著servlet與容器及WEB應用其他部分的一個連接。
| 通過name得到屬性 |
得到屬性數組 | |
| 得到初始化參數 |
得到初始化參數數組 | |
| 設置屬性 |
| 刪除屬性 |
請求分派 |
posted on 2008-12-22 14:19 peterJ 閱讀(578) 評論(0) 編輯 收藏 所屬分類: Servlet&JSP