《Java Web程序设计基础教程》

发布时间:2018-08-09 14:37:52 编辑:Admin 手机版

 在多年的教學過程中,作者使用了多本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企業級應用開發的標準,但卻非常成功,也是讀者可以選擇學習的一個不錯的技術。

 

本文已影响0
+1
0