2022-10-29 一、web中的兩個介面: (1)ServletConfig: 說明:每當有一個servlet對象時,就會有唯一 一個servletConfig配置文件對象 功能:能獲得Servlet名稱(該名稱是web.xml中配置的servlet-name的值),使用方法:如下,可寫在 創建 ...
2022-10-29
一、web中的兩個介面:
(1)ServletConfig:
說明:每當有一個servlet對象時,就會有唯一 一個servletConfig配置文件對象
功能:能獲得Servlet名稱(該名稱是web.xml中配置的servlet-name的值),使用方法:如下,可寫在
創建該類的“init”方法中
String servletName = servletConfig.getServletName();
System.out.println("servletName = " + servletName);
能獲取全局上下文ServletContext對象;
ServletContext servletContext = servletConfig.getServletContext();
System.out.println("servletContext = " + servletContext);
獲取Servlet初始化參數
首先先設置ServletConfig的初始化參數:
位置:在“web.xml”(web Application項目)文件中的“<servlet>”中,初始化參數的位置也是有要求的,要放置在<load-on-startup>自啟動標簽的上面。
如:
<init-param> <param-name>path</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param>
之後獲得Servlet初始化參數
// 初始化參數 String path = servletConfig.getInitParameter("path"); System.out.println("path = " + path); Enumeration<String> initParameterNames = servletConfig.getInitParameterNames(); while(initParameterNames.hasMoreElements()){ System.out.println(initParameterNames.nextElement()); }
之後,啟動伺服器
點擊運行按鈕。
運行的結果:
(2)ServletContext(全局上下文對象)
說明:一個web項目只有一個ServletContext對象。
所有的servlet(每次有一個新的功能就會有一個servlet對象)共用一個ServletContext對象。
ServletContext對象是由伺服器啟動的時候,Tomcat來創建的。
獲取ServletContext對象的方式:
通過ServletConfig來獲取
通過request來獲取(常用)
ServletContext servletContext = servletRequest.getServletContext();
System.out.println("servletContext = " + servletContext);
ServletContext的功能:
獲取項目的上下文路徑
String contextPath = servletContext.getContextPath();
System.out.println("contextPath = " + contextPath);
獲取虛擬路徑所映射的本地真實路徑(由相對路徑得到絕對路徑)
String realPath = servletContext.getRealPath("/haha"); System.out.println("realPath = " + realPath);
獲取WEB應用程式的全局初始化參數
首先,先創建全局初始化參數,設置的位置在“web.xml”中的跟結點下,例如:
<context-param> <param-name>servletContextInitParamKey</param-name> <param-value>servletContextInitParamValue</param-value> </context-param>
調用全局初始化參數的函數,如下:
String servletContextInitParamKey = servletContext.getInitParameter("servletContextInitParamKey"); System.out.println("servletContextInitParamKey = " + servletContextInitParamKey); Enumeration<String> initParameterNames = servletContext.getInitParameterNames(); while (initParameterNames.hasMoreElements()){ System.out.println("initParameterNames.nextElement() = " + initParameterNames.nextElement()); }
作為域對象共用數據:
域對象:在一定的作用域(範圍)能夠被共用數據的對象。