177
技術社區[雲棲]
《Servlet、JSP和Spring MVC初學指南》——導讀

前言
Java Servlet技術簡稱Servlet技術,是Java開發Web應用的底層技術。由Sun公司於1996年發布,用來代替CGI——當時生成Web動態內容的主流技術。CGI技術的主要問題是每個Web請求都需要新啟動一個進程來處理。創建進程會消耗不少CPU周期,導致難以編寫可擴展的CGI程序。而Servlet有著比CGI程序更好的性能,因為Servlet在創建後(處理第一個請求時)就一直保持在內存中。此後,SUN公司發布了JavaServer Pages(JSP)技術,以進一步簡化servlet程序開發。
自從Servlet和JSP技術誕生後,湧現出大量的基於Java的Web框架來幫助開發人員快速編寫Web應用。這些框架構建於Servlet和JSP之上,幫助開發人員更加關注業務邏輯,無須編寫重複性(技術)代碼。目前,Spring MVC是最為流行的可擴展Java Web應用開發框架。
Spring MVC又叫Spring Web MVC,是Spring框架的一個模塊,用於快速開發Web應用。MVC代表Model-View-Controller,是一個廣泛應用於GUI開發的設計模式。該模式不局限於Web開發,也廣泛應用在桌麵開發技術上,如Java Swing和JavaFX。
Servlet是一個Java程序,一個Servlet應用有一個或多個Servlet程序。JSP頁麵會被轉換和編譯成Servlet程序。
Servlet應用無法獨立運行,必須運行在Servlet容器中。Servlet容器將用戶的請求傳遞給Servlet應用,並將結果返回給用戶。由於大部分Servlet應用都包含多個JSP頁麵,因此更準確地說是“Servlet/JSP應用”。
Web用戶通過Web瀏覽器例如IE、Mozilla Firefox或者穀歌Chrome來訪問Servlet應用。通常,Web瀏覽器又叫Web客戶端。
要運行Java EE應用,需要一個Java EE容器,例如GlassFish、JBoss、Oracle Weblogic或者IBM WebSphere。誠然,我們可以將一個Servlet/JSP應用部署到一個Java EE容器上,但一個Servlet/JSP容器就已經滿足需要了,並且更加輕量。當然,Tomcat和Jetty不是Java EE容器,因此無法運行EJB或JMS技術。
URL中的context部分用來代表應用名稱,該部分也是可選的。一台Web服務器可以運行多個上下文(應用),其中一個可以配置為默認上下文,對於訪問默認上下文中的資源,可以跳過context部分。
最後,一個context可以有一個或多個默認資源(通常為index.html,index.htm或者default.htm)。一個沒有帶資源名稱的URL通常指向默認資源。當存在多個默認資源時,其中最高優先級的資源將被返回給客戶端。
在資源名之後可以有一個或多個查詢語句或者路徑參數。查詢語句是一個Key/Value組,多個查詢語句間用“&”符號分隔。路徑參數類似於查詢語句,但隻有value部分,多個value部分用“/”符號分隔。
目錄
第一部分 Servlets和JSP
第1章 Servlets
1.1 Servlet API概覽
1.2 Servlet
1.3 編寫基礎的Servlet應用程序
1.3.1 編寫和編譯Servlet類
1.3.2 應用程序目錄結構
1.3.3 調用Servlet
1.4 ServletRequest
1.5 ServletResponse
1.6 ServletConfig
1.7 ServletContext
1.8 GenericServlet
1.9 Http Servlets
1.9.1 HttpServlet
1.9.2 HttpServletRequest
1.9.3 HttpServletResponse
1.10 處理HTML表單
1.11 使用部署描述符
1.12 小結
第2章 會話管理
2.1 URL重寫
2.2 隱藏域
2.3 Cookies
2.4 HttpSession對象
2.5 小結
最後更新:2017-05-31 09:31:20