Servlet 學習總結(下)

注意: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);

這裏寫圖片描述

發佈了184 篇原創文章 · 獲贊 9 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章