1.如何建立和使用Cookie?java
2.簡述session的工做原理瀏覽器
3.使session失效的3種方法是什麼?關閉瀏覽器能夠使session失效嗎?服務器
4.HttpServletResponse中支持URL重寫的兩個方法是什麼?有什麼區別?session
5.簡述ServletContext的生命週期函數
6.在Servlet中,如何獲取與當前Web應用程序相關聯的ServletContext對象?this
1.如何建立和使用Cookie?url
Servlet API中提供了javax.servlet.http.Cookie類,能夠經過構造函數建立Cookie,
spa
例如:Cookie c1 = new Cookie("name","value");code
2.簡述session的工做原理orm
(1).當客戶端向服務器端初次提交請求時,請求中並不包含SessionID。
(2).服務器端的Servlet容器會根據getSession()方法建立一個HttpSession對象,並分配一個SessionID。HttpSession對象保存在服務器端,此時的HttpSession處於新會話狀態。
(3).服務器將處理請求的相應結果連同SessionID回傳到客戶端
(4).當客戶再次提交請求時會將請求連同其SessionID一塊兒提交給服務器。
(5).服務器接收到請求以及SeesionID後,將請求和保存在服務器端的session對象聯繫起來,根據SessionID判斷哪些鏈接是來自同一個客戶端的會話範圍內的鏈接。此時的session對象已不是新的會話
(6).循環執行(3)~(5)步,知道session失效。
3.使session失效的3種方法是什麼?關閉瀏覽器能夠使session失效嗎?
session失效的三種方式:
(1)顯示的調用HttpSession.invalidate()方法
(2)客戶端兩次訪問的間隔時間已經超過了session的有效時間
(3)服務器端被關閉
因此很明顯:關閉服務器不會使session失效,session失效通常是經過session存活時間設置的最大有效時間
4.HttpServletResponse中支持URL重寫的兩個方法是什麼?有什麼區別?
(1).「String encodeURL(String url) 」:重寫超級連接、form表單的action值
(2).「String encodeRedirectedURL(String url)」:重寫重定向的URL地址
5.簡述ServletContext的生命週期
(1)當新的Servlet容器啓動時,服務器端會建立一個ServletContext對象。
(2)Servlet容器運行期間,ServletContext對象一直存在。運行於Servlet容器內的Servlet之間能夠共享ServletContext對象中的信息資源。
(3)當Servlet容器中止工做時,ServletContext 對象會被銷燬,ServletContext生命週期結束。
6.在Servlet中,如何獲取與當前Web應用程序相關聯的ServletContext對象?
例子:
ServletContext ctx =this.getServletContext(); //實例化一個Servlet】Context對象 Integer userCount = (Integer) ctx.getAttribute("userCount"); //經過getAttribute(「name」)獲得想要的屬性