JSP是一種如日中天的新型Internet/Intranet開發(fā)語(yǔ)言,可以在多種操作系統(tǒng)平臺(tái)和多種Web服務(wù)器下使用。本書從最基礎(chǔ)的JSP開發(fā)開始,循序漸進(jìn)地介紹了JSP 開發(fā)技術(shù),并涵蓋了許多高級(jí)主題,如需要在企業(yè)級(jí)Web應(yīng)用中使用的特性—Enterprise JavaBeans、JDBC 2.0、數(shù)據(jù)庫(kù)連接池和自定義標(biāo)簽庫(kù)。本書既適合初學(xué)者閱讀,也適合具有一定JSP基礎(chǔ)的開發(fā)人員深入研究使用。
前 言 JSP是SUN公司推出的一種新型的Internet/Intranet開發(fā)語(yǔ)言,和前一代Internet/Intranet開發(fā)語(yǔ)言(ASP、PHP)相比,JSP在以下幾個(gè)方面有了重大的突破: 1) 通過JSP的擴(kuò)展標(biāo)簽庫(kù)和JavaBeans功能,網(wǎng)站邏輯和網(wǎng)站界面可以完美地分離。 2) 使用Enterprise JavaBeans,可以輕松地在JSP開發(fā)的Web中實(shí)現(xiàn)事務(wù)、安全、會(huì)話等等企業(yè)級(jí)應(yīng)用所需要的功能。 3) JDBC2.0提供了不同的數(shù)據(jù)庫(kù)產(chǎn)品無(wú)關(guān)的數(shù)據(jù)庫(kù)連接方式,更重要的是,數(shù)據(jù)庫(kù)連接池提供了一種比普通的數(shù)據(jù)庫(kù)連接方式效率高得多的連接方式。 JSP的語(yǔ)法基本上和Java是相同的,有Java基礎(chǔ)的讀者可以很快學(xué)會(huì)如何使用JSP,而沒有Java語(yǔ)言基礎(chǔ)的讀者,只要循序漸進(jìn)地閱讀本書,一樣可以成為JSP編程的高手。本書主要分為兩個(gè)部分:第一部分為JSP基礎(chǔ)部分。通過這一部分的學(xué)習(xí),讀者可以掌握J(rèn)SP的基本使用方法,學(xué)會(huì)如何使雖JSP來(lái)開發(fā)一般的中、小型Web應(yīng)用。這一部分使用常見的Apache Group的Tomcat作為JSP引擎的例子。第二部分為JSP高級(jí)應(yīng)用部分。這一部分主要講述如何使用JSP進(jìn)行大型Web應(yīng)用的開發(fā),為了方便讀者學(xué)習(xí),本書還專門講述了SUN公司的J2SDKEE和B趴公司的Webloglc應(yīng)用服務(wù)器的基本使用方法。 JSP可以在各種操作系統(tǒng)和各種Web服務(wù)器下使用,其代碼基本上不需要任何改動(dòng)就可以使用。本書為了適應(yīng)大多數(shù)讀者的情況,使用了Windows操作系統(tǒng)作為例子,具體的試驗(yàn)平臺(tái)如下: Windows 2000Advanced Server Apachel.3.14 Intemetln允rmation Server 5.0 Tomcat 3.1 J2SDKEE l.2 BEA Wiblogic 5.1 除了上述平臺(tái),書中的代碼還在如下平臺(tái)進(jìn)行了測(cè)試: RedhatUnux 6.1 Apache l.3.12 TOmcat 3.1 BEA Weblogic 4.51 數(shù)據(jù)庫(kù)系統(tǒng)主要使用了Microsoft SQL Server 7.0,部分代碼使用了MySQL。
目錄
第一部分?? JSP入門
第1章?? 概述?
1.1?? Java技術(shù)?
1.1.1?? Java技術(shù)的發(fā)展?
1.1.2?? JavaBeans?
1.1.3?? JDBC?
1.1.4?? J2EE?
1.1.5?? EJB?
1.1.6?? Java Servlet?
1.2?? JSP技術(shù)?
1.2.1?? JSP技術(shù)概述?
1.2.2?? JSP的優(yōu)勢(shì)及與其他Web開發(fā)工具的比較?
1.3?? JSP開發(fā)Web的幾種主要方式?
1.3.1?? 直接使用JSP?
1.3.2?? JSP+JavaBeans?
1.3.3?? JSP+JavaBeans+Servlet?
1.3.4?? J2EE開發(fā)模型?
1.4?? 本書用到的軟件及獲取?
第2章? 預(yù)備知識(shí)?
2.1?? Java程序設(shè)計(jì)基礎(chǔ)?
2.1.1?? Java語(yǔ)言規(guī)則?
2.1.2?? Java變量和函數(shù)?
2.1.3?? 子類?
2.1.4?? this和super?
2.1.5?? 類的類型?
2.1.6?? 抽象類?
2.1.7?? 接口?
2.1.8?? 包?
2.2?? JavaBeans?
2.2.1?? JavaBeans的屬性?
2.2.2?? JavaBeans的事件?
2.2.3?? 持久化?
2.2.4?? 用戶化?
2.3?? Java Servlet?
2.3.1?? HTTP Servlet API?
2.3.2?? 系統(tǒng)信息?
2.3.3?? 傳送HTML信息?
2.4?? SQL語(yǔ)言?
2.4.1?? SQL子類型?
2.4.2?? SQL語(yǔ)言的具體命令和使用?
2.5?? JDBC?
2.5.1?? 什么是 JDBC?
2.5.2?? JDBC 產(chǎn)品?
2.5.3?? 連接概述?
2.5.5?? 一個(gè)簡(jiǎn)單的例子?
第3章?? JSP開發(fā)平臺(tái)的建立:Tomcat?
3.1?? Tomcat的安裝和直接使用?
3.2?? Tomcat和Apache的配合?
3.3?? Tomcat和IIS的配合?
3.4?? Tomcat的配置和常見問題?
3.4.1?? Tomcat的主配置文件:server.xml?
3.4.2?? Windows下代碼保護(hù)的問題?
3.4.3?? Apache、IIS和Tomcat協(xié)作時(shí)工作
目錄的添加?
3.4.4?? 設(shè)定Tomcat作為Windows的服務(wù)而啟動(dòng)?
3.4.5?? 在Tomcat中建立新的Web應(yīng)用程序?
第4章?? JSP的語(yǔ)法和語(yǔ)義?
4.1?? 通用的語(yǔ)法規(guī)則?
4.1.1?? 元素的語(yǔ)法規(guī)則?
4.1.2?? JSP中的相對(duì)路徑?
4.2?? 注釋?
4.3?? 指令?
4.3.1?? page指令?
4.3.2?? include指令?
4.3.3?? taglib指令?
4.4?? 內(nèi)置對(duì)象?
4.5?? 腳本元素?
4.5.1?? 聲明?
4.5.2?? 表達(dá)式?
4.5.3?? 腳本代碼?
4.6?? 動(dòng)作?
4.6.1?? id和scope屬性?
4.6.2?? 標(biāo)準(zhǔn)動(dòng)作?
第5章?? 作為XML的JSP?
5.1?? 為什么要使用XML相容的語(yǔ)法形式?
5.2?? 關(guān)于文本類型的語(yǔ)法?
5.2.1?? jsp:root元素?
5.2.2?? 公共標(biāo)識(shí)符?
5.3?? 指令?
5.3.1?? page指令?
5.3.2?? include指令?
5.3.1?? taglib指令?
5.4?? 腳本元素?
5.4.1?? 聲明?
5.4.2?? 腳本代碼?
5.4.3?? 表達(dá)式?
5.5?? 如何將一個(gè)普通的JSP文件轉(zhuǎn)換為一個(gè)XML
文檔?
5.6?? JSP1.1的DTD文件?
第6章?? JSP基礎(chǔ)實(shí)例?
6.1?? 第一個(gè)JSP程序—HelloWorld!?
6.2?? 注釋的使用?
6.3?? 腳本元素?
6.3.1?? 聲明?
6.3.2?? 表達(dá)式?
6.3.3?? 腳本代碼?
6.4?? page指令?
6.4.1?? import?
6.4.2?? session?
6.4.3?? 錯(cuò)誤處理?
6.5?? 包含其他文件?
6.6?? 使用JavaBean?
6.7?? 內(nèi)置對(duì)象?
6.7.1?? 用request對(duì)象獲取客戶端的數(shù)據(jù)?
6.7.2?? 用response對(duì)象向客戶端發(fā)送信息?
6.7.3?? 其他內(nèi)置對(duì)象?
6.8?? <jsp:forward>?
6.9?? 使用插件?
6.10?? 使用session對(duì)象?
6.10.1?? 會(huì)話的概念?
6.10.2?? session對(duì)象可用的方法和屬性?
6.10.3?? session對(duì)象的基本例子?
6.10.4?? 利用session制作一個(gè)購(gòu)物車?
6.10.5?? JavaBeans的作用域?
6.10.6?? 利用JavaBeans制作的購(gòu)物車?
6.11?? 使用application對(duì)象?
6.11.1?? 應(yīng)用的概念?
6.11.2?? application對(duì)象可用的方法和屬性?
6.11.3?? application對(duì)象內(nèi)包含的系統(tǒng)信息?
6.11.4?? 利用application建立一個(gè)簡(jiǎn)單的聊天室?
第7章? 用JSP實(shí)現(xiàn)常見的Web應(yīng)用?
7.1?? 常見的Web應(yīng)用及分析?
7.1.1?? 留言板、論壇和社區(qū)?
7.1.2?? 聊天室?
7.1.3?? 搜索引擎?
7.1.4?? 電子商務(wù)?
7.1.6?? 后臺(tái)管理系統(tǒng)?
7.2?? 留言板?
7.2.1?? 功能分析?
7.2.2?? 功能實(shí)現(xiàn)和技術(shù)要點(diǎn)?
7.2.3?? 代碼和分析?
7.3?? 進(jìn)一步完善的留言板?
7.3.1?? 功能分析?
7.3.2?? 功能實(shí)現(xiàn)和技術(shù)要點(diǎn)?
7.3.3?? 代碼和分析?
7.4?? 聊天室?
7.4.1?? 功能實(shí)現(xiàn)和技術(shù)要點(diǎn)?
7.4.2?? 代碼和分析?
7.5?? 下一步?
第二部分?? 高級(jí)JSP技術(shù)
第8章 JSP開發(fā)平臺(tái)的搭建:J2EE?
8.1?? J2SDKEE的安裝和使用?
8.1.1?? 軟硬件的支持?
8.1.2?? 安裝?
8.2?? J2SDKEE的配置?
8.2.1?? JDBC的配置?
8.2.2?? 事務(wù)處理?
8.2.3?? 服務(wù)的端口號(hào)?
8.2.4?? 日志文件?
8.2.5?? 安全?
8.2.6?? 鈍化發(fā)生的內(nèi)存極限?
8.2.7?? JNDI服務(wù)器主機(jī)?
8.2.8?? HTTP服務(wù)的發(fā)布目錄?
8.3?? WebLogic的安裝和使用?
8.3.1?? 軟硬件要求?
8.3.2?? 安裝和啟動(dòng)?
8.4?? WebLogic的配置?
8.4.1?? 系統(tǒng)級(jí)參數(shù)的設(shè)置?
8.4.2?? 將WebLogic作為HTTP服務(wù)器使用?
8.4.3?? 使用ISAPI橋連接WebLogic和IIS?
8.4.4?? WebLogic配置示例?
第9章? 擴(kuò)展JSP標(biāo)簽?
9.1?? 概述?
9.1.1?? 擴(kuò)展標(biāo)簽的作用?
9.1.2?? 如何開發(fā)擴(kuò)展標(biāo)簽?
9.1.3?? 簡(jiǎn)單的擴(kuò)展標(biāo)簽?
9.1.4?? 包含內(nèi)容處理的擴(kuò)展標(biāo)簽?
9.1.5?? 能夠協(xié)作的擴(kuò)展標(biāo)簽?
9.1.6?? 定義了腳本變量的擴(kuò)展標(biāo)簽?
9.2?? 標(biāo)簽處理類的開發(fā)?
9.2.1?? 接口和基類?
9.2.2?? 開發(fā)?
9.3?? 標(biāo)簽庫(kù)文件?
9.3.1?? taglib?
9.3.2?? tag?
9.4?? 定位一個(gè)tld文件?
9.4.1?? 在Web.xml中定位一個(gè)tld文件?
9.4.2?? 直接在JSP文件中定位tld文件?
9.5?? 擴(kuò)展標(biāo)簽實(shí)例?
9.5.1?? 得到父標(biāo)簽的數(shù)據(jù)?
9.5.2?? TestTag類?
9.5.3?? Title類?
9.5.4?? Data類?
9.5.5?? TLD文件?
9.5.6?? 在JSP中使用擴(kuò)展標(biāo)簽?
第10章?? Enterprise JavaBeans?
10.1?? Java服務(wù)器端組件標(biāo)準(zhǔn)—EJB?
10.1.1?? EJB和JavaBeans?
10.1.2?? EJB的開發(fā)與使用中的角色?
10.2?? Session Bean?
10.2.1?? Session Bean的狀態(tài)管理模式?
10.2.2?? Session Bean的生命周期?
10.3?? Entity Bean?
10.3.1?? Entity Bean的特性?
10.3.2?? Entity Bean的生命周期?
10.4?? EJB的開發(fā)?
10.4.1?? Enterprise JavaBeans的實(shí)際處理文件?
10.4.2?? 實(shí)現(xiàn)EJBObject文件?
10.4.3?? 實(shí)現(xiàn)EJBHome文件?
10.4.4?? 生成ejb-jar.xml文件?
10.4.5?? 打包生成JAR文件?
10.5?? EJB的部署—J2SDKEE?
10.5.1?? 使用deploytool打包EJB?
10.5.2?? 使用deploytol部署EJB?
10.6?? EJB的部署—BEA WebLogic?
10.6.1?? 生成可部署的ejb-jar包?
10.6.2?? 部署WbLogic的ejb-jar包?
10.7?? 使用EJB?
10.7.1?? 本地訪問EJB?
10.7.2?? 遠(yuǎn)程訪問EJB?
10.8?? JSP和EJB?
10.9?? EJB開發(fā)實(shí)例—電子商務(wù)應(yīng)用?
10.9.1?? EJB的實(shí)現(xiàn)文件—TestCartEJB?
10.9.2?? 實(shí)現(xiàn)Home接口TestCartHome?
10.9.3?? 實(shí)現(xiàn)遠(yuǎn)程Object接口TestCart?
10.9.4?? EJB的Web組件TestCartWebImp?
10.9.5?? JSP文件?
10.9.6?? 實(shí)例的內(nèi)部運(yùn)行邏輯?
第11章?? 其他高級(jí)功能?
11.1?? JDBC2.0和JDBC數(shù)據(jù)庫(kù)連接池?
11.1.1?? JDBC2.0新功能概述?
11.1.2?? 結(jié)果集增強(qiáng)功能?
11.1.3?? 批處理更新?
11.1.4?? 對(duì)Java對(duì)象的持久性?
11.1.5?? 數(shù)據(jù)庫(kù)連接池使用實(shí)例?
11.2?? 文件上載?
11.2.1?? 實(shí)現(xiàn)機(jī)理?
11.2.2?? 文件上載實(shí)例?
第12章?? JSP高級(jí)應(yīng)用實(shí)例:網(wǎng)上書店?
12.1?? 概述?
12.2?? 擴(kuò)展標(biāo)簽的使用?
12.2.1?? 數(shù)據(jù)集作用的BookList標(biāo)簽?
12.2.2?? 讓數(shù)據(jù)循環(huán)輸出的Books標(biāo)簽?
12.2.3?? 輸出數(shù)據(jù)的標(biāo)簽?
12.2.4?? 控制頁(yè)面前進(jìn)、后退的標(biāo)簽?
12.2.5?? 測(cè)試標(biāo)簽?
12.3?? EJB及其Web組件?
12.3.1?? ShoppingCart?
12.3.2?? Books?
附錄A?? JSP應(yīng)用實(shí)例:網(wǎng)上教育代碼?
附錄B?? JavaServer Pages白皮書?
附錄C?? 常用JSP相關(guān)網(wǎng)址?.
此書收到不少朋友的email,原因是沒收到,所以現(xiàn)在我把它上傳到網(wǎng)上去了,大家可以去這個(gè)地址下載:
http://dl8.ohshare.com/v/6336366/JSP_39640_32423_32534_31243_.zip.html? ,如果下載不下載,大家可以email給我,我通過郵件發(fā)給大家。