JSP/Servlet学习笔记

From Gossip@caterpillar

開源框架: JSP/Servlet

在 Java EE 的藍圖中,JSP/Servlet是屬於Web層技術,JSP與Servlet是一體的兩面,您可以使用單獨一項技術來解決動態網頁呈現的需求,但最好的方式是取兩者的長處,JSP是網頁設計人員導向的,而Servlet是程式設計人員導向的,釐清它們之間的職責可以讓兩個不同專長的團隊彼此合作,並降低相互間的牽制作用。






準備工作
    動態網頁的請求發送大都是透過表單,所以先對表單製作簡單的整理一下,Servlet 容器(Container)主要是管理JSP/Servlet資源的,文件撰寫過程中使用的是Tomcat
 5.5.4。
  • 關於表單(Form)
  • 關於 Servlet 容器

JSP
    JSP是基於Java語法,只要您瞭解Java的基本語法,就可以只使用JSP來撰寫動態網頁。
  • 基礎入門
先來看看如何撰寫基本的JSP動態網頁,以及JSP背後運作的機制,JSP事實上也是轉譯為 Servlet,骨子裡還是個Servlet程式。
    • 第一個 JSP程式
    • 註解與Quoting
    • Scripting Elements
    • page Directive Element
    • include Directive Element
    • Cookie
    • 錯誤處理
    • JSP 生命週期
  • 隱含物件(Implicit Object)
JSP轉譯之後就是Servlet,各個隱含物件都對應於 Servlet API中的某個物件,如果您對隱含物件的功能有什麼不瞭解的,查詢Servlet API文件中該物件的說明就可以瞭解了。
    • out
    • request
    • response
    • config
    • application
    • exception
    • session (1)
    • session (2)
    • pageContext
  • Action 元素
JSP中有數種類型的Action元素,有一些使用於 JavaBean,有一些使用於自訂標籤等等,這邊先介紹幾個常用的元素。
    • <jsp:plugin> (Applet標籤輸出)
    • & lt;jsp:include>、 <jsp:forward>、<jsp:param>、<jsp: params>

JSP 與 Model 1 架構
    在HTML標籤間混合程式碼會使得程式邏輯與網頁邏輯都難以維護,Model 1是將程式碼與網頁邏輯分離的一種架構,JSP中有一些技術用以支持這種架構的實現。
  • JavaBean
JavaBean 是一個純綷的Java類別,它遵守一些規則與命名方式,它是一個公開(public)的類別,具有公開的setter與getter方法,在JSP中可以使用它將程式的邏輯處理與呈現部份分離。
    • 簡介 JavaBean
    • 深入 JavaBean
    • JavaBean 的值設定
    • JavaBean 的多型(Polymorphic)
  •  Expression Language
Expression Language在JSP 2.0中納入了JSP的標準,它定義了變數存取、運算、隱含物件、函式等內容,配合JavaBean或其它標籤庫,可以實現較好的邏輯與視圖分離之目的。
    • 簡介 Expression Language
    • 使用 EL 存取屬性
    • [] 或 . 的選擇
    • EL 隱含物件
    • EL 運算子
    • 自訂 EL 函式

  • 標籤庫(Tag Library)
您可以將一些網頁格式處理或是限定存取之類的需求,使用標籤庫來處理,程式邏輯撰寫在標籤處理類別(Tag Handler Class)中,並定義好標籤庫定義檔案(.tld),而在JSP網頁中使用自訂標籤來撰寫網頁。
    • 簡介 Tag Library
    • TagSupport 類別
    • BodyTagSupport 類別
    • 自訂標籤屬性
    • 自訂動態標籤屬性
    • SimpleTagSupport 類別(<jsp:attribute>)
    • Scripting Variable

  • Tag File
Tag File是從JSP 2.0開始新增的功能,主要的目的是讓撰寫JSP網頁的網頁設計人員即使在不懂Java語法的情況下,也可以使用JSP語法來自訂標籤。
    • 簡介 Tag File
    • <jsp: doBody>、<jsp:invoke>與指令元素

Servlet
    JSP網頁最後是轉譯為Servlet,從Java程式設計人員的角度來看,Servlet其實就是一個 Java類別,它實作Servlet介面,通常我們會繼承實作該介面的GenericServlet類別或HttpServlet類別。
  • 基礎入門
如果您瞭解JSP 中的隱含物件之意義,再來瞭解 Servlet中的對應物件,則學習Servlet就不是件難事。
    • 第一個Servlet程式
    • Servlet/JSP 的物件對應
    • Servlet 執行緒安全
    • Servlet 生命週期
    • Listener 與 Event

  • Filter
使用 Filter,您可以先對request作一些前置處理,例如進行身份驗證、過濾不安全的請求、監視統計請求的來源與出處等等,或是對response進行後置處理,例如對輸出先進行壓縮、對XML的呈現進行轉換等等。
    • Filter(1)
    • Filter(2)

JSP/Servlet 與 Model 2 架構
    這邊藉由實作一個簡單的 Model 2 Web 應用程式,瞭解如何以JSP/Servlet 技術實現一個 Model 2 架構的簡單應用程式。
  • 控制器(Servlet)
  • 使用 Model 收集值
  • 視圖(JSP)

附錄
  • 簡介 JSTL
  • Oreilly MultiPartRequest 檔案上傳
  • 使用 DBCP
  • 一個動態產生圖片的例子
 

你可能感兴趣的:(java,jsp,servlet,filter,library,scripting)