注意:servlet只有在瀏覽器第一次訪問的時候創建,而且只創建一次;如果在servlet裏面定義一個全局變量:
private String username;
這個變量是全局的,不同的用戶去訪問的時候,會造成信息泄露,所以在servlet裏面儘量不要創建全局變量,要創建局部變量!!!
實際開發 中一般自己定義的servlet extends httpservlet
值需要在自定義servlet裏面重寫doGet和doPost方法,因爲在httpservlet裏面的的service方法 裏面有做判斷,根據不同的請求方法分別調用doGet和doPost方法!!!
servletConfig
**servletConfig 是一個對象。javaee規範中定義的一個對象。要求web服務器(tomcat),創建一個servlet的同時,也要去創建一個servletConfig對象。還要給servlet去使用。
serlvetConfig 是我們servlet 一些的配置信息。如果一個servlet 使用的過程中需要一些參數信息。這些參數信息,可以配置到servletConfig中。 之後servlet去使用**
1.如何在配置文件中配置servletConfig的配置信息
2.如何去獲取servletConfig
ServletConfig servlet = getServletConfig();
3.如何去獲取servletConfig中的內容
String config = servlet.getInitParameter(key);
// key就是XML文件裏面的配置信息的 param-name
4.servletConfig配置信息的作用:
比如我們需要在servlet中動態的去設置編碼,可以把編碼放在xml配置文件中去,通過getInitParameter(“charset”);去動態的獲取設置!!
servletContext
1.servletContext:一個對象。代表了當前項目、當前應用。包含了一些的項目相關的信息。
servletContext:可以通過servletConfig這個對象來獲取到。
每一個web工程,只有一個servletContext對象。
2、servletContext對象,在裏面可以存放一些內容。 這些內容,其他的servlet都可以使用。servletContext—理解成一個map(key,value)
servletContext是web應用的全局對象。
servletContext是項目級別的,每個項目**有且僅有有一個**servletContext;每個servlet都可以去使用servletConetext;
servletContext是web應用的全局對象!!!
應該:統計網站的瀏覽次數等,不同的servlet都需要統計,所以需要一個公用的變量去保存當前的訪問數量,這個就可以利用servletContext了!!
// ServletConfig config = getServletConfig();
// ServletContext context = config.getServletContext()
//獲取servletContext,本身提供的方法,鏈式編程調用了
ServletContext context = this.getServletContext();
//拿到servletContext裏面的值
Integer count =
(Integer)context.getAttribute("count");
//設置servletContext裏面的值
context.setAttribute("count", count);