Welcome to Yumao′s Blog.
Hello JSP Day03
, 2012年05月02日 , Java Language , 评论 在〈Hello JSP Day03〉中留言功能已關閉 ,

1、用于禁止cookie以後,如何繼續使用session
(1)什麼是url重寫?
在要訪問的組件地址後面添加sessionId。
比如,要訪問 “count”這個地址,需要在”count”
後面添加上sessionId,變成
“sessionId;jsessionid=CFEFDA0BD57D9314B
4C883A056064327″。
(2)如何進行url重寫
//會在url後面添加上sessionId
//鏈接、表單提交
a, String response.encodeURL(String url);
比如:

">

//會在url後面添加上sessionId
//重定向
b, String response.encodeRedirectURL(String url);
比如:
response.sendRedirect(
response.encodeRedirectURL(“abc.do”));

2、過濾器
(1)過濾器是什麼?
Servlet規範當中定義的一種特殊的類,
其作用是對容器的調用過程進行攔截並處理。
(2)編程
step1 寫一個java類,實現Filter接口。
step2 在doFilter方法里,實現過濾的邏輯。
step3 在web.xml配置過濾器。
(3)配置初始化參數
step1 在web.xml中,使用
配置初始化參數
step2 使用FilterConfig.getInitParameter(String
paramName);獲得初始化參數值。
(4)過濾器的優先級
如果有多個過濾器都滿足過濾條件,此時,
過濾器按照的配置的先後
順序來執行。
(5)過濾器的優點
a,將一些通用的處理邏輯(比如權限處理、
日誌、安全、編碼等等)寫在過濾器類里同,
方便代碼的維護。
b,可以實現代碼的”可插拔性”。增加或者減少
某個模塊,不會影響到整個程序的正常執行。

練習:
寫一個過濾器CommentFilter2, 檢查用戶的留言的
長度,如果超過指定的長度(web.xml中配置),則提示
留言長度非法,否則,調用CommentServlet輸出
留言信息。
3、監聽器
1)什麼是監聽器?
servlet規範中定義的一種特殊的類,用於監聽
servlet容器產生的事件並且處理。
主要是兩大類事件:
a, 生命周期相關事件:
servlet容器在創建或者銷毀request,
session,ServletContext這三個對象時,
產生的事件。
b,綁訂事件:
當對request, session,ServletContext這三個
對象調用setAttribute,removeAttribute方法
時,產生的事件。
2)、如何寫一個監聽器
統計在線人數
3)、ServletContext接口
(Servlet上下文)
a, servlet容器在啟動的時候,會為每一個
應用創建唯一的一個servlet上下文對象。該對象
會一直存在,除非關閉服務器。
b,作用:
作用一 綁訂數據
setAttribute,getAttribute,
removeAttribute
作用二 訪問全局的初始化參數
String getInitParameter(String paramName)
作用三 獲得邏輯路徑對應的實際的物理路徑
String getRealPath(String url);
c,如何獲得ServletContext?
方法一:ServletContext
GenericServlet.getServletContext()
方法二: ServletContext
Httpsession.getServletContext();
方法三: ServletContext
ServletConfig.getServletContext();
統計在線人數。

jsp_day04.tar.gz
课堂内容

评论已关闭