JSP概述(一)

JSP

201677

9:37

 jsp:java server page  JAVA服務器腳本語言

js頁面要被web容器翻譯成java類,按照servlet規範,所有jsp翻譯生成了的類必須實現HttpJspPage接口。而HttpJspPageServlet的子接口。所以所有jsp翻譯生成類也會實現Servletjsp本質是Servletjsp重在頁面顯示,而servlet重在於邏輯處理。

jsp引擎:是web容器編寫的類,負責將jsp頁面翻譯成java類。在web容器/conf/web.xml中進行註冊。

Jsp生命週期1、由jsp引擎將jsp頁面翻譯成java代碼2、將java代碼編譯成class字節碼文件3、加載到容器4、由容器實例化對象5、初始化jspInit()6、調用_jspService()7、銷燬

 

Jsp網頁主要由元素(Element)和模版數據(TemplateDate)兩個部分組成:

  • 模版數據是jsp的靜態部分, web容器不處理
  • 元素是必須經由web容器解釋 ,元素是以xml做爲語法基礎,並且大小寫要一致

 

web容器支持兩種不同格式的jsp語法,普通格式和xml兼容格式      

  •  普通jsp語法是設計給開發者用的
  • xml兼容jsp語法是設計用來容易被開發工具使用的

 

jsp腳本元素:

聲明:<%!     %>定義jsp類的成員變量、靜態變量、和方法

腳本:<%      %>豐富_jspService(),在腳本中定義的變量,全部是_jspService()方法的局部變量。

表達式:<%=     %>豐富下劃線_jspService(),相當於out.print()向頁面輸出內容。注意,後邊不能加分號。

jsp註釋:

jsp註釋:<%-- --%>容器不翻譯,只在元代碼中可見,最爲安全

html註釋:<!-- -->容器翻譯到客戶端,最不安全。

java註釋://    /*   */java代碼書寫的註釋,只在服務器端可見。

 

page指令:

contentType:設置mime類型和編碼集

pageEncoding:設置編碼集,MIME類型默認爲text/html

import:導入jsp類中所用到的類。導入多個,中間以逗號分開。

session:默認爲true。表示訪問該jsp頁面時,產生會話對象。

errorPage:表示當前jsp頁面如果爆出了運行異常,則跳轉指定出錯頁面

isErrorPage:表示該jsp頁面爲出錯處理頁面。定義了exception隱式對象,接收異常對象。

 

過濾器概述:一箇中間web組件,用於過濾攔截源數據和目的數據之間的消息

EL表達式 ${userName} 可以獲得值,從小的作用域開始找值,找到即停止找值

${sessionScope.userName} 指定搜索的範圍,如果沒有值,不會去其它範圍查找

配置Filter

手動註冊: <filter>

             <filter-name>index</filter-name>

            <filter-class>util.IndexFilter</fil ter-class>

    </filter>

   <filter-mapping>

          <filter-name>index</filter-name>

          <url-pattern>/index.jsp</url-pattern>    <%-- 針對路徑過濾--%>

        <servlet-name>dd</servlet-name>                  <%-- 針對servlet過濾--%>

<dispatcher>FORWARD</dipathcher>

  </filter-mapping>

 

註解註冊:@WebFilter("/*")

 

過濾器的類型:

1REQUEST:表示直接請求,按請求路徑進行過濾。 默認方式

2FORWARD: 表示通過內部轉發到達目標資源之前,進行過濾。

3INCLUDE: 表示包含指定資源時,進行過濾。

4ERROR:表示發生異常時,進行過濾。

 

過濾器鏈:當一個請求到達目標資源時,可能會經過多個過濾器。這就形成了過濾器鏈。過濾器鏈執行順序是:先經過<url-pattern>標籤,再經過<servlet-name>標籤。如果一個請求經過多個<url-pattern>標籤,按部署順序執行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章