複習: 1、國際化 1)要jsp頁面中,引入資源文件的信息(資源標識,fmt:set base="msg",語言代碼,區域代碼 2)要有對應的資源文件,msg_zh_CN.properties,編碼 3)要使用fmt標簽,引入資源文件中,key,key=value.利用動作指令taglib 來添加,
複習:
1、國際化
1)要jsp頁面中,引入資源文件的信息(資源標識,fmt:set base="msg",語言代碼,區域代碼
2)要有對應的資源文件,msg_zh_CN.properties,編碼
3)要使用fmt標簽,引入資源文件中,key,key=value.利用動作指令taglib 來添加,uri=jstl fmt.
4)我們現在做的東西也僅是實現了菜單頁面的國際化。
2、filter
1)定義,實現filter 的介面(實現 初始化 銷毀的方法,doFilter)
2)配置過濾器的範圍,(web.xml filter filtermapping),而且過濾,伺服器啟動的時候就創建,創建順序,取決於在filter-mapping中的配置順序。
3)在servlet/jsp 被請求之前,經過過濾器,完成過濾後,進行放行,或者返回操作.servlet做出響應後,先把response交給filter,然後才到客戶端,所以過濾器的過濾是雙向的。
4)所以具有重覆性的通用型的功能,都是在過濾器中完成的。
所以可以做的東西有編碼過濾器,登錄驗證過濾器。
1、監聽器:
監聽器,也是一個類的對象,實際上是一個比較特殊的servlet(同filter很相似,不過也有不同之處)
監聽器對應的對象是提供好的,它針對了類和對象(並且可以寫多個)
可以監聽到的有:
request、session、servletContext 對象層面
request、session、servletContext中屬性的監聽。主要針對對象中屬性的創建,移除,替換。
監聽器在服務啟動以後,就會完成創建和初始化,並且處於監聽狀態。
這裡面有兩點需要說明,其一是:如果跳轉到jsp頁面的話,我們說jsp中有9大內置對象,所以一旦跳到jsp頁面,就會監聽到session的創建。從而調用對應的方法。
其二是:servletContext在伺服器一啟動,就會監聽到有屬性的添加,這個添加,是tomcat添加的,因為在tomcat伺服器中,有多個工程,每個工程都有對應的application對象,來進行對應,用以標識不同的工程。完成在瀏覽器中的對應關係。這個點也是要強調一下。
2、自定義標簽:
1)標簽的處理程式
2)tld標簽的描述符的文件
3)引用標簽,利用taglib引入到jsp中。
作用:1、使java代碼和jsp頁面徹底分離。
2、使代碼更加安全(裡面可能會有一些核心演算法,和商業業務邏輯)我們通常只需要調用,不太可能接觸甚至寫出。所以對於這個地方項目經理十分看重,可以說這個地方算是一個比較能體現一個人的能力的點。
三個例子:
1、沒有標簽體 也沒有屬性
2、有標簽題 但是沒有屬性
3、通用的分頁標簽
過濾器與監聽器的區別:
在web.xml中的配置不相同,過濾器中不僅要配置filter還要配置filter-mapping,監聽器只需要配置listener-class 一個屬性。就夠了。