《Java Web程式設計基礎教程》前言
阿新 • • 發佈:2019-01-29
前 言
在多年的教學過程中,作者使用了多本JSP的教材,應該說這些教材都寫得挺好。但是實際瞭解到的情況是學生聽課的時候可以聽懂,學完之後卻不知道怎麼去應用,要自己編寫一個網站程式還是有困難。這幾年作者也一直在研究其中的原因,逐漸發現了一些問題,並且想了一些方法來解決,還在一些班級進行了實驗,效果比較好。現在想把這些想法與其他老師分享,讓學生也能學有所用。
本書運用的思想
● 應用驅動而不是知識點驅動。
現有教材的編寫基本上都是按照JSP知識點的分類來進行的,例如:JSP概述、JSP基礎、內部物件、JSP動作和指令、JavaBean、JDBC、表示式語言、國際化、標準標籤庫等。這些教材都是以知識點驅動的,強調的是知識點。
在實際應用中我們需要解決各種問題,不同的問題需要不同的知識點,即實際中是以問題為驅動的。所以本書以應用為中心,圍繞如何解決應用中的問題進行講解,即完成相關功能需要什麼知識點,就介紹什麼知識點。
同時為了使學生能夠全面掌握知識,我們在每一部分列出了相關的知識點。
● 提供完整的專案而不是不相關的例子。
多數JSP圖書的不同章節採用的例項都沒有關聯性,這樣在學完整個課程之後,學生會感覺例子很亂,沒有整體的概念。
本書的所有內容都圍繞一個專案進行,每一部分完成專案的一個功能,實訓也是整個專案的一部分。這樣當課程結束之後,學生就可以完成一個完整的專案。
● 不僅教學生如何實現,並且教學生如何設計。
對於每一個例子,不僅教學生如何編寫程式,更重要的是教學生如何進行設計,這樣學生就可以觸類旁通了。
● 先模仿後自創。
每次介紹完一個案例之後,都要求學生完成一個類似的功能,通過這樣的模仿來加深理解所學的知識,最後由學生再獨立完成一部分功能。
● 理論與實訓並重。
每部分內容都包括教師講授和學生實訓兩部分,使得理論與實訓結合緊密。
● JSP用於顯示,Servlet用於控制。
在JSP的發展早期,開發Java Web應用的主要方式是在網頁中嵌入Java程式碼,但這種方式的弊端逐漸顯露出來。Java Web開發經常是由多種技術協同完成的:JSP主要完成與使用者的互動過程,不應該包含處理程式碼和控制程式碼;而Servlet在顯示資訊方面沒有優勢,所以堅決不使用Servlet顯示資訊。本書嚴格遵循這種思想。
本書的內容組織
本書的內容組織圍繞一個比較通用的專案——網上書店系統。整個專案分成三個部分:
● 圖書資訊管理。
● 使用者管理。
● 購物車和訂單管理。
每一部分的內容基本上都覆蓋了JSP的所有知識點。整個課程的安排按照兩條線進行:教師授課和學生實訓。
教師授課內容是使用者管理功能部分。把使用者管理功能分解成各個小的案例,每個案例都可以完成一個功能,每個案例包含若干知識點。授課時邊講解邊帶領學生操作,把知識點融合在案例中。
學生實訓內容是圖書資訊管理部分。每章最後都會有一個學生實訓,這個實訓與本章授課內容吻合,與教師講解的案例功能基本相同。例如,教師講解使用者資訊修改功能,學生實訓的內容就是圖書資訊修改功能。
在完成基本內容的講解和實訓之後,在本書的最後給出了一個綜合例項:購物車和訂單管理。這部分內容由教師介紹知識點,然後由學生進行實訓。
本書內容是根據JSP的最新規範編寫的,採用的模式是MVC模式,它是幾乎所有Java Web應用開發所採用的模式。JSP主要用於顯示資訊,所以在用到JSP的時候,要避免在JSP中嵌入Java程式碼。雖然Servlet能夠像JSP一樣向用戶顯示資訊,但是Servlet主要用於控制。本書嚴格遵循這種思想,只在Servlet中編寫控制程式碼。
學習任何一門語言時,學習者除錯程式的能力都是一項非常基礎但卻非常重要的能力。本書專門使用一章的內容對常見的除錯錯誤進行了分析,並對常用的除錯方法進行了介紹。
本書首先描述目標,然後通過執行效果進一步展示目標,並根據目標分析程式設計思路,最後一步一步告訴讀者如何編寫這個程式碼。
學習目標
通過學習本書,學生應該達到以下目標:
● 建立一個網站。
包括搭建執行環境,建立網站的框架。
● 展示資訊。
可以採用多種向用戶展示資訊的方式,通常情況下展示資訊是Web應用的最基本的
功能。
● 提交資訊。
通過介面提交資訊到伺服器是網站中資訊更新功能所必需的。
● 檢索資訊。
資訊檢索功能能夠幫助使用者從網站提供的大量資訊中查詢需要的資訊。這樣的功能對於一個資訊量非常大的網站來說是必不可少的。
● 處理資訊。
能夠完成網站中資訊的處理。
● 管理資訊。
能夠管理各種網站中的大量資訊。
● 進行安全控制。
包括實現登入功能和許可權控制。
● 進行異常處理。
能夠處理網站中的各種異常。
● 進行分頁顯示。
分頁顯示在很多網站中都存在,學習完本課程後,讀者應該能夠掌握其方法。
● 完成購物車管理。
幾乎所有的電子商務網站中都有購物車功能,學習完本課程後,學生應該能夠編寫各種網站中的購物車管理程式碼。
主要內容
全書共分15章。第1章介紹如何構建Java Web應用。第2章和第3章介紹如何解決Java Web應用的輸入和輸出問題。第4~6章對登入功能進行了3次重構,這也就是Java Web技術的3個發展階段。第7~10章進一步強化MVC模式的運用,並介紹資料庫的常用操作。第11~13章介紹了Java Web應用的國際化、異常處理和安全控制問題。第14章是綜合實訓,分析了購物車功能和訂單管理功能的主要編寫思路,並給出了關鍵的知識點。第15章介紹了在編寫和執行Java Web應用的過程中經常出現的錯誤以及如何除錯程式。
本書最後有3個附錄。附錄A列出了Java Web開發中常用的功能,可以方便讀者的學習。附錄B列出了JSP技術中非常重要的API方法,讀者在學習的過程中可以查詢使用。附錄C是本書的知識點索引,因為本書沒有像其他書那樣按照知識點分章節,而是按照應用劃分,所以要查詢知識點可以通過該索引進行。
編者分工
本書第1章及第9~15章由李緒成編寫,第2、3章由閆海珍編寫,第4~6章由王紅編寫,第7、8章由張陽編寫。全書由李緒成統稿,閆海珍審定。
給學生的建議
● 一定要動手寫程式,只有動手了才能發現問題。
● 不要害怕出錯,編寫程式不可能不出錯,熟練之後,就會少出錯了。
● 充分利用網路,網路上的各種資源非常豐富。
● 要學好英語,因為很多文件都是英文的。
● 要掌握Java基礎,本書對JSP的語法講得不多,難就難在Java語言本身。
給老師的建議
● 給學生動手的時間,不管你講得有多好,如果學生不自己動手,一切都是徒勞。
● 幫助學生除錯程式,除錯程式的時候要給學生講解,最好能夠把你除錯程式過程中心中想的東西告訴學生。要鼓勵學生試著自己除錯程式。
預備知識
預備知識包括三個方面:Java、HTML和JavaScript語言。
Java Web開發技術是以Java語言為基礎的,其編碼使用的都是Java的基本語法,最後也是按照Java程式的執行方式執行的。如果讀者對Java不熟悉,需要補習一下Java。能夠用到的Java知識包括:
● Java的基本語法,包括識別符號、運算子、變數、方法和流程控制等。
● Java的面向物件特性,包括包、類、介面的定義和使用。
● Java的常用類庫,包括字串相關的String和StringBuffer、日期處理相關的Date和Calendar、日期和數字的格式化DateFormate和NumberFormat以及Collection框架等。
● 異常處理,在編寫Java檔案的時候不可避免地要使用它。
對於HTML語言,我們需要掌握最基本的語法,包括以下幾個方面:
● 網頁的結構。
● 表單元素。
JavaScript語言在客戶端執行,所以如果希望在瀏覽器端執行功能,就需要使用JavaScript語言。現在在網站中使用比較多的JavaScript內容有客戶端驗證。
進一步學習的建議
Java Web開發技術屬於Java企業級應用的一部分,屬於Java企業級應用中的Web層。如果想更完整地學習Java企業級應用的各方面,可以學習Java EE企業級開發技術,它包括企業級JavaBean(EJB)技術和RMI、JNDI、JTA、JTS、資料來源、JavaMail、JAAS、聯結器等服務。
另外,本書介紹的是最基本的Java Web開發技術。為了提高Web應用的開發效率和方便Web應用的管理維護,人們設計出了很多基於Java Web技術的框架。常見的Web應用框架有:JSF、Struts、Tapestry和WebWork。它們都屬於Web層框架,主要用於開發Web應用,其功能基本相同,但特性各有千秋。在Java企業級應用的最新版本中,JSF已經屬於Java Web技術的一個組成部分。讀者可以選擇一種Web應用框架進行學習。
除了這些Web應用框架之外,還有一些能夠簡化對資料庫進行操作的技術,通常稱為持久層框架,常見的有Hibernate和TopLink。Hibernate相對來說比較流行,在很大程度上影響了後來的EJB3中Java永續性API的規範。讀者可以從Hibernate和TopLink中選擇其一進行學習,但如果讀者要學習Java企業級應用,則可以不用學習這些永續性框架,因為在Java企業級應用中包含了Java永續性API,而且在Java企業級應用的早期版本中還有實體Bean。
還有一個比較流行的技術Spring,它是一個企業級應用的框架,與Java EE平行。它雖然不屬於Java企業級應用開發的標準,但卻非常成功,也是讀者可以選擇學習的一個不錯的技術。
編 者
2007年9月