




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、JSP程序設(shè)計(jì)從入門到精通 編者:符湛QQ:36837503 ,fu_z999 第1篇入門篇7第1章 Jsp概述 技術(shù)分析71.1Jsp簡(jiǎn)介與歷史背景7日新月異的Web技術(shù)7什么是JSP8技術(shù)有以下幾個(gè)顯著的優(yōu)點(diǎn)9和其他類似或相關(guān)技術(shù)的一個(gè)簡(jiǎn)單比較101.2 JSP環(huán)境安裝配置12下JSP環(huán)境的配置12建立自己的Jsp工作目錄131.3 JSP語法介紹14頁面中的元素14語法概要15關(guān)于模板文本(靜態(tài)HTML)161.4 運(yùn)行第一個(gè)Jsp程序161.5本章小結(jié)20第2章Jsp 基礎(chǔ)學(xué)習(xí)202.1 JSP基本語法20語法之聲明21語法之表達(dá)式21語法之Scriptlet212.2 JSP的指令2
2、2指令(Directive)22指令(Directive)242.3 JSP的動(dòng)作25動(dòng)作25動(dòng)作27動(dòng)作29動(dòng)作30動(dòng)作31動(dòng)作31注釋312.4 JSP 9種基本內(nèi)置組件312.5 JSP中Session的使用342.6 JSP中forward的使用362.7 JSP運(yùn)行時(shí)錯(cuò)誤處理與應(yīng)該注意的六個(gè)常見問題372.8 JSP小實(shí)例38實(shí)例1(在JSP中定義函數(shù))38實(shí)例2(獲取各種CGI環(huán)境變量)39實(shí)例3(JSP里request變量列表)422.9本章小結(jié)44第3章JavaBean組件443.1 什么是JavaBeans45簡(jiǎn)介45屬性45的事件503.2 在Jsp中使用JavaBeans
3、553.3 JavaBeans的scope屬性573.4 JavaBeans應(yīng)用實(shí)例59實(shí)例1(HelloWord.java)59實(shí)例2(People.java)60實(shí)例子3數(shù)組應(yīng)用 (Example2_3.java)60實(shí)例子4運(yùn)算符、表達(dá)式應(yīng)用 (Example3_1.java)613.5 本章小結(jié)62第4章Jsp與Servlet624.1 什么是Servlets63JavaServlet的解釋63什么是Jsp65得到一個(gè)Servlets和JSP的運(yùn)行環(huán)境66實(shí)現(xiàn)第一個(gè)JSP和SERVELT674.2 Servlet規(guī)范定義的Servlet 生命周期704.3 JSP/Servlet的重定
4、向技術(shù)綜述7272734.4 理解會(huì)話74會(huì)話狀態(tài)跟蹤API75在會(huì)話對(duì)象中保存數(shù)據(jù)76實(shí)例:顯示會(huì)話信息764.5 用Java Servlets代替CGI784.6 JSP/Servlet 中的漢字編碼問題804.7 圖解Eclipse+Tomcat集成開發(fā)Servlet844.8 Servlets/JSP開發(fā)技術(shù)問答934.9 Servlet小實(shí)例97實(shí)例1(輸出)98實(shí)例2(獲取表單參數(shù))99實(shí)例3(獲取jsp各種參數(shù))1014.10 本章小結(jié)103第2篇 數(shù)據(jù)庫操作103第5章 全面解析JDBC1045.1 JDBC接口綜述1045.2 JDBC產(chǎn)品組件1075.3 如何建立JDBC連
5、接?1085.3 JDBC驅(qū)動(dòng)管理內(nèi)幕是怎么樣的?1125.4 如何利用JDBC發(fā)送SQL 語句?1135.5如何獲得SQL 語句的執(zhí)行結(jié)果?1165.6 JDBC TM技術(shù)解析1195.3 JDBC API123記錄集接口123新的SQL 語句接口(Statement 接口)129處理新的SQL 數(shù)據(jù)類型(ARRAY REF)1335.4 JDBC API 3.0 簡(jiǎn)介136獲取ParameterMetaData 接口實(shí)例對(duì)象的方法137接口的方法1375.5 本章小結(jié)140第6章 JDBC廠商選擇性實(shí)現(xiàn)包1406.1 RowSet包140包含的接口140簡(jiǎn)介141接口144類1486.2
6、CachedRowSet 包148包簡(jiǎn)介148類149類1496.3 數(shù)據(jù)庫連接緩沖池1536.4 JNDI 和RowSet1546.5 RowSet之實(shí)踐1576.6 本章小結(jié)164第7章 JSP數(shù)據(jù)庫操作例程1647.1安裝mysql165第一步:下載mysql165第二步:安裝、配置mysql165第三步:Mysql客戶端連接Mysql服務(wù)器166第四步:安裝JDBC驅(qū)動(dòng):166第五步:在MySQ中建數(shù)據(jù)庫,數(shù)據(jù)表167第六步:在JSP連接mysql1697.2 JSP連接數(shù)據(jù)庫方法大全1717.3 Jsp連接mysql調(diào)用數(shù)據(jù)源方法175對(duì)mysql數(shù)據(jù)庫最基本的DB操作175調(diào)用對(duì)D
7、B操作的方法1827.4 Jsp數(shù)據(jù)分頁顯示1847.5 jsp編寫的留言本188在mysql中建表188編寫的留言本1897.6 本章小結(jié)200第3篇 案例精講200第8章 學(xué)生課績(jī)管理系統(tǒng)2008.1系統(tǒng)概述200學(xué)生課績(jī)管理系統(tǒng)的需求200學(xué)生課績(jī)管理系統(tǒng)的概要設(shè)計(jì)201學(xué)生課績(jī)管理系統(tǒng)的詳細(xì)設(shè)計(jì)2028.2 數(shù)據(jù)庫設(shè)計(jì)207創(chuàng)建數(shù)據(jù)庫207數(shù)據(jù)表設(shè)計(jì)2088.3 數(shù)據(jù)連接213建立數(shù)據(jù)庫連接213安全策略2148.4 學(xué)生課績(jī)管理系統(tǒng)設(shè)計(jì)214數(shù)據(jù)庫操作公用模塊214學(xué)生模塊228教師模塊238管理模塊253、管理學(xué)生255管理教師272管理課程286管理班級(jí)3038.5 學(xué)生課績(jī)管理
8、系統(tǒng)的疑難分析3258.6學(xué)生課績(jī)管理系統(tǒng)的測(cè)試與發(fā)布3258.7 本章小結(jié)327附錄1 TOMCAT完全攻略327附錄2 java常用開發(fā)工具介紹332附錄3 圖解利用Eclipse3+Lomboz3+Tomcat開發(fā)JSP335本書較為全面地介紹了JSP技術(shù),由淺入深、循序漸進(jìn)地介紹了JSP的運(yùn)行系統(tǒng),基本概念,語法規(guī)范及其相關(guān)內(nèi)容,從基本的JSP概述、與其他技術(shù)的對(duì)比,到JSP的運(yùn)行系統(tǒng)和模式,逐步深入地對(duì)JSP語法規(guī)范進(jìn)行了詳細(xì)的講解,并結(jié)合應(yīng)用實(shí)例加以鞏固。全書與實(shí)際開發(fā)結(jié)合緊密,是學(xué)習(xí)JSP開發(fā)的一本很易上手的工具書。前言: 網(wǎng)絡(luò)世界的現(xiàn)狀 我們生活在一個(gè)日新月異的年代,稍不留神,
9、眼前的一切就已經(jīng)成為過時(shí)的東西了。尤其是計(jì)算機(jī)技術(shù),自誕生以來給人類的生活方式帶來了根本性的變化。在最近幾年,Internet技術(shù)又得到了持續(xù)、迅猛的發(fā)展,已成為計(jì)算機(jī)產(chǎn)業(yè)中的一個(gè)技術(shù)熱點(diǎn)?,F(xiàn)在只要大家一進(jìn)入互聯(lián)網(wǎng),那些無窮無盡的內(nèi)容就會(huì)讓我們目不暇接,當(dāng)然那些精彩的界面更會(huì)給我們帶來美好的享受??梢哉f,促進(jìn)Internet高速發(fā)展的主要因素之一就是WWW技術(shù)?,F(xiàn)在即使是一個(gè)普通的老百姓都不會(huì)對(duì)“網(wǎng)上沖浪”、“Internet”等詞匯感到陌生。許多人正在或者正準(zhǔn)備學(xué)習(xí)網(wǎng)絡(luò)的知識(shí),進(jìn)行網(wǎng)絡(luò)開發(fā)或者建立自己的個(gè)人站點(diǎn)。 實(shí)際上,當(dāng)今活躍的Web技術(shù)是建立在一系列“活躍”的交互操作上的。通常人們用客
10、戶用服務(wù)器這個(gè)詞來描述Web。這是一個(gè)交互的概念,一般把提出請(qǐng)求的一方稱為客戶端,而把響應(yīng)請(qǐng)求的一方稱為服務(wù)器端。這種簡(jiǎn)單的模型是靜態(tài)的,他們只能對(duì)對(duì)方的激勵(lì)作出響應(yīng)。而在活躍的Web中雙方都應(yīng)該是活躍的,只有這樣才能把客戶機(jī)和服務(wù)器結(jié)合起來產(chǎn)生最強(qiáng)的交互。在這種交互中,可以平衡工作,并在最合理的地方處理工作。這樣就引出了我們所說的動(dòng)態(tài)網(wǎng)頁的概念。 在Web空間中,有幾十萬乃至上百萬的站點(diǎn)相互之間正在進(jìn)行著激烈的競(jìng)爭(zhēng),他們想盡一切辦法來吸引用戶的注意力。簡(jiǎn)單的、靜態(tài)的頁面對(duì)用戶不會(huì)有太大的吸引力。只有動(dòng)態(tài)的、有條理的數(shù)據(jù)加上友好的、交互性強(qiáng)的界面,最后加上豐富的內(nèi)容,才能構(gòu)成用戶所樂于訪問的界
11、面。當(dāng)然,數(shù)據(jù)的自動(dòng)更新也非常的重要。你可能會(huì)說,這怎么聽起來像是在討論應(yīng)用程序呢?是的,在短短的幾年時(shí)間里,Web的面貌己經(jīng)發(fā)生了非常重要的變化?,F(xiàn)在,我們可以在Web頁面中創(chuàng)建應(yīng)用程序、訪問數(shù)據(jù)庫,這樣它無論在感覺上、操作中還是實(shí)際的用途方面都與Windows中的應(yīng)用程序非常的類似?,F(xiàn)在,商家們可以與潛在客戶、目前的客戶、員工以及其他人中的任何一個(gè)進(jìn)行溝通,并實(shí)施一些在線的服務(wù)類的商業(yè)活動(dòng)。 為了占領(lǐng)Internet這個(gè)誘人的市場(chǎng),各個(gè)公司和廠家都拿出了自己的一套解決方案。IBM推出了Visual Age for Java和NetData。前者是一個(gè)集成的開發(fā)環(huán)境,用于測(cè)試Java程序、J
12、avaBean或者應(yīng)用程序;而后者是專門為非編程人員設(shè)計(jì)的,它可以按照用戶的要求生成動(dòng)態(tài)的Web頁面,它們都可以調(diào)用DB2強(qiáng)大的數(shù)據(jù)庫功能。著名的數(shù)據(jù)庫廠商Sybase也在其開發(fā)工具PowerBuilder 60的版本中加入了Web特性,使用戶可以在瀏覽器中直接訪問“Data Window”等著名控件,并且可以使用它來開發(fā) Web應(yīng)用程序。同樣,曾經(jīng)靠著瀏覽器在Internet上一夜騰飛的網(wǎng)景公司,現(xiàn)在也已推出自己的Web Server及完整的Web開發(fā)工具。所有的這些都說明了一個(gè)問題:所有的商家都想在這里占領(lǐng)一席之地:可以說Web領(lǐng)域是一個(gè)必爭(zhēng)之地。 在這種情況下,SUN公司也不甘落后,在它
13、的倡導(dǎo)下,許多公司共同參與建立了一種新的動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)一一Java server pages。 SUN應(yīng)用Java社團(tuán)性過程開發(fā)JSP技術(shù)。在開發(fā)JSP規(guī)范的過程中,SUN公司與許許多多主要的Web服務(wù)器、Web應(yīng)用服務(wù)器和開發(fā)工具供應(yīng)商,以及各種各樣富有經(jīng)驗(yàn)的開發(fā)團(tuán)體進(jìn)行合作,結(jié)果找到了一種適合于應(yīng)用和頁面開發(fā)人員的開發(fā)方法,它具有極佳的可移植性和易用性。針對(duì)JSP的產(chǎn)品,SUN授權(quán)了工具提供商(如 Macromedia),結(jié)盟公司(如 APache,Netscape),最終用戶,協(xié)作商及其他人。最近,SUN將最新版本的JSP和Java Servlet(JSP11, Java Servle
14、t 22)的源代碼發(fā)放給Apache,以求JSP與Apache緊密結(jié)合、共同發(fā)展。Apache,SUN和許多其他的公司及個(gè)人公開成立了一個(gè)健壯的咨詢機(jī)構(gòu)以便任何公司和個(gè)人都能免費(fèi)取得信息。這樣,SUN公司就在這個(gè)領(lǐng)域中穩(wěn)穩(wěn)地站住了腳跟。 Java server pages作為一門新興的Web技術(shù),目前在國(guó)內(nèi)還沒有受到它應(yīng)有的重視。甚至可以說,現(xiàn)在國(guó)內(nèi)的許多人對(duì)JSP還很陌生。其實(shí),這項(xiàng)技術(shù)即使在國(guó)外也只不過剛剛起步。我想這種狀況,給我國(guó)的Web發(fā)展創(chuàng)造了一個(gè)不可多得的機(jī)遇。我們可以借此機(jī)會(huì)大力發(fā)展,來縮短與國(guó)外的差距。 JSP技術(shù)為非專業(yè)人員開發(fā)高水平的網(wǎng)站提供了良好的工具。但是應(yīng)該通過什么途
15、徑來學(xué)習(xí)呢?目前,在市場(chǎng)上關(guān)于這方面的書籍還很少,專門介紹JSP的書籍就更不用說了。只有在網(wǎng)上,我們可以找到一些介紹JSP的技術(shù)網(wǎng)站;但是這些多數(shù)都是國(guó)外的站點(diǎn),即使是一些中文站點(diǎn),上面所提供的也多數(shù)是對(duì)一些外文資料的翻譯。這些網(wǎng)站,幾乎成了我們現(xiàn)在學(xué)習(xí)JSP的唯一途徑。但是,并不是每一位網(wǎng)絡(luò)愛好者都有這樣的條件的,更不用說這種學(xué)習(xí)方法還要求你有一定的英語水平。正是為了適應(yīng)廣大網(wǎng)絡(luò)愛好者的需要,筆者將自己所掌握的有關(guān)JSP技術(shù)方面的知識(shí)寫成本書,與大家分享,使得更多的人加入到我們的行列。 本書在編寫過程中,汲取了很多網(wǎng)站中關(guān)于JSP技術(shù)的精華并加以綜合,形成了一個(gè)較完整的體系。內(nèi)容力求由淺入深
16、,逐步提高,無論是對(duì)一個(gè)網(wǎng)絡(luò)新手,還是一個(gè)久經(jīng)沙場(chǎng)的網(wǎng)絡(luò)高手,都能夠起到一定的指導(dǎo)作用,都可以從本書中找到一些有益的知識(shí)。同時(shí),在本書中,筆者還總結(jié)了以往學(xué)習(xí)的經(jīng)驗(yàn),在講解的時(shí)候加入了不少的實(shí)例,希望讀者讀完本書之后,既學(xué)習(xí)到了理論,又掌握了一些解決問題的方法。內(nèi)容簡(jiǎn)介: 本書較為全面地介紹了JSP技術(shù),根據(jù)作者的開發(fā)經(jīng)驗(yàn),由淺入深、循序漸進(jìn)地介紹了JSP的運(yùn)行系統(tǒng),基本概念,語法規(guī)范及其相關(guān)內(nèi)容,并提供了大量的應(yīng)用實(shí)例。 全書共分為8章,從基本的JSP概述、與其他技術(shù)的對(duì)比,到JSP的運(yùn)行系統(tǒng)和模式,逐步深入地對(duì)JSP語法規(guī)范進(jìn)行了詳細(xì)的講解,并結(jié)合應(yīng)用實(shí)例加以鞏固。 本書是為那些對(duì)Web開
17、發(fā)感興趣的讀者而編寫的。不論是Web編程的高手,還是初學(xué)Web開發(fā)的網(wǎng)絡(luò)愛好者,他都能夠得到很大的幫助;從實(shí)際應(yīng)用的角度來看,也是一本實(shí)用的工具書。第1篇 入門篇學(xué)會(huì)使用Java服務(wù)器頁將動(dòng)態(tài)內(nèi)容傳遞到Web頁。本書是對(duì)這種服務(wù)器端腳本語言的理想介紹,它首先介紹了創(chuàng)建代碼塊,比如JSP語法、腳本元素、隱含對(duì)象和標(biāo)記庫。隨后,您將學(xué)習(xí)如何構(gòu)造可靠的JSP結(jié)構(gòu)、創(chuàng)建實(shí)際的Web應(yīng)用程序、實(shí)現(xiàn)應(yīng)用程序安全測(cè)量并將數(shù)據(jù)庫集成到自己的JSP結(jié)構(gòu)中。這種循序漸進(jìn)的自學(xué)方法會(huì)立刻帶您完成JSP的入門。本篇由5章組成:第1章對(duì)JSP進(jìn)行介紹,講解了JSP的發(fā)展?fàn)顩r與歷史背景,接著用圖解的方式對(duì)JSP環(huán)境安裝配
18、置進(jìn)行講解,及對(duì)JSP語法進(jìn)行介紹,最后通過一個(gè)Jsp程序的執(zhí)行來使讀者對(duì)JSP有個(gè)大概了解。第2章 主要是講解JSP的標(biāo)簽、內(nèi)置組件、語法及其他在運(yùn)用JSP來進(jìn)行WEB開發(fā)時(shí)基本操作,最后通過一個(gè)小實(shí)例,對(duì)本章所學(xué)進(jìn)行鞏固。第3章主要講解JavaBean組件技術(shù)、基本的屬性。第4章由幾個(gè)實(shí)用例子講解Jsp與Servlet,通過它們使對(duì)JS有更深的理解,對(duì)Servlet技術(shù)更加明確。每章最后都有一個(gè)小結(jié),可以增加讀者的理解。第1章 Jsp概述 技術(shù)分析 本章簡(jiǎn)介:在章中,我們將了解JSP的發(fā)展?fàn)顩r與歷史背景、接著用圖解的方式對(duì)JSP環(huán)境安裝配置進(jìn)行講解,及對(duì)JSP語法進(jìn)行介紹,最后通過一個(gè)Js
19、p程序的執(zhí)行來使讀者對(duì)JSP有個(gè)大概了解。通過對(duì)這章的講解,可以使讀者了解JSP的背景和開發(fā)設(shè)計(jì)步驟。本章中讀者需要重點(diǎn)掌握的內(nèi)容有:1、JSP技術(shù)的特點(diǎn)2、JSP環(huán)境的配置3、大概了解JSP語法1.1Jsp簡(jiǎn)介與歷史背景WWW是目前Internet上最主要的信息服務(wù)類型,它深入影響到政治、科技、商業(yè)以及教育等各個(gè)領(lǐng)域的發(fā)展和進(jìn)步。WWW服務(wù)的基礎(chǔ)是HTML語言,而在本書中我們要學(xué)習(xí)的JSP正是開發(fā)和維護(hù)Web站點(diǎn)的一種重要工具,它在HTML語言的基礎(chǔ)上使用腳本語言對(duì)網(wǎng)頁的對(duì)象模型進(jìn)行編程,為創(chuàng)建顯示動(dòng)態(tài)生成內(nèi)容的Web頁面提供了一個(gè)簡(jiǎn)捷而快速的方法。 日新月異的Web技術(shù) 在1989年,瑞士
20、的歐洲原子物理實(shí)驗(yàn)室(CEBN)的科學(xué)家們提出了一種通過Internet共享文檔的方法。這些文檔中包含有超文本鏈接和圖形信息。它最具革命性的一步是能在不同的計(jì)算機(jī)平臺(tái)之間工作。裝有不同操作系統(tǒng)的計(jì)算機(jī)能毫無疑問的存儲(chǔ)和顯示共享信息。超文本鏈接也可以指向不同操作系統(tǒng)的計(jì)算機(jī)上的文檔。 1993年,(美國(guó))國(guó)家超級(jí)計(jì)算應(yīng)用中心(National Center for Supercomputing Applications,NCSA)的Mare Andressen成功地開發(fā)出Microsoft Windows上的Mosaic軟件,該軟件很快成為流行的網(wǎng)頁測(cè)覽器,并在很大程度上促進(jìn)了WWW的流行。隨著
21、網(wǎng)頁瀏覽器的層出不窮,Web的面貌也隨之發(fā)生了翻天覆地的變化。但是,在Web誕生之初的一段較長(zhǎng)的時(shí)間里,卻一直是完全靜態(tài)的。也就是說,它只是基于一種簡(jiǎn)單的傳輸協(xié)議,僅用于向用戶發(fā)送簡(jiǎn)單的文本信息。不過,最初設(shè)計(jì)WWW的目的完全是為了共享數(shù)據(jù)信息,或者是幫助學(xué)術(shù)界解決一些研究論文的共享。所以,它只是通過超鏈接將一系列的文件連接起來,這在當(dāng)時(shí)看起來已經(jīng)是足夠好的事了。 在當(dāng)今的Web世界里,有幾十萬甚至上百萬的站點(diǎn)相互之間正在進(jìn)行著激烈的競(jìng)爭(zhēng),他們想盡一切辦法來獲取用戶的注意。簡(jiǎn)單的、靜態(tài)的頁面是無法完成這個(gè)任務(wù)的。動(dòng)態(tài)的、有條理的數(shù)據(jù)和友好的、交互性較強(qiáng)的界面,再加上豐富多彩的內(nèi)容,才是用戶所樂
22、于訪問的。當(dāng)然,與此同時(shí)數(shù)據(jù)的自動(dòng)更新也是非常重要的。 現(xiàn)在,在Web頁面內(nèi)創(chuàng)建應(yīng)用程序、訪問數(shù)據(jù)庫,使其無論在感覺上、操作上以及用途上都與真正的應(yīng)用程序非常類似。今天,商家們所需要的不再僅僅是一個(gè)宣傳的媒體,而是一個(gè)交互性極強(qiáng)的應(yīng)用平臺(tái)。利用它,商家可以與潛在的客戶、目前的客戶、員工以及其他人之間進(jìn)行溝通,并實(shí)施一些在線的服務(wù)類商務(wù)活動(dòng)。 什么是JSPJSP是Java Server Papes(Java服務(wù)器系統(tǒng)頁面)的縮寫,它是由Sun Microsystems公司倡導(dǎo)的、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn),其在動(dòng)態(tài)網(wǎng)頁的創(chuàng)建中有強(qiáng)大而特殊的功能,就是JavaServer Page
23、s(JSP)是一種實(shí)現(xiàn)普通靜態(tài)HTML和動(dòng)態(tài)HTML混合編碼的技術(shù)。在 Sun正式發(fā)布Java server pages之后,一這種新的Web應(yīng)用開發(fā)技術(shù)很快便引起了人們的關(guān)注。Java server pages為創(chuàng)建高度動(dòng)態(tài)的Web應(yīng)用提供了一個(gè)獨(dú)特的開發(fā)環(huán)境。 Java server pages(以下簡(jiǎn)稱為JSP)是Java平臺(tái)上用于編寫包含諸如HTML,DHTML,XHTML和XML等含有動(dòng)態(tài)生成內(nèi)容的Web頁面的應(yīng)用程序的技術(shù)。JSP技術(shù)功能強(qiáng)大,使用靈活,為創(chuàng)建顯示動(dòng)態(tài)Web內(nèi)容的頁面提供了一個(gè)簡(jiǎn)捷而快速的方法。JSP技術(shù)的設(shè)計(jì)目的是使構(gòu)造基于Web的應(yīng)用程序更加容易和快捷,而這些應(yīng)
24、用程序能夠與各種Web服務(wù)器、Web應(yīng)用服務(wù)器、瀏覽器和開發(fā)工具共同工作。許多由CGI程序生成的頁面大部分仍舊是靜態(tài)HTML,動(dòng)態(tài)內(nèi)容只在頁面中有限的幾個(gè)部分出現(xiàn)。但是包括Servlet在內(nèi)的大多數(shù)CGI技術(shù)及其變種,總是通過程序生成整個(gè)頁面。JSP使得我們可以分別創(chuàng)建這兩個(gè)部分。例如,下面就是一個(gè)簡(jiǎn)單的JSP頁面:<!DOCTYPE HTML PUBLIC "-/W3C/DTD HTML 4.0 Transitional/EN"><HTML><HEAD><TITLE>歡迎訪問</TITLE></HEAD&g
25、t;<BODY><H1>歡迎</H1><SMALL>歡迎,<!- 首次訪問的用戶名字為"New User" -> <!- out.println用來輸出內(nèi)容 -> <% out.println(Utils.getUserNameFromCookie(request); %>要設(shè)置帳號(hào)信息,請(qǐng)點(diǎn)擊<A HREF="Account-Settings.html">這里</A></SMALL><P>頁面的其余內(nèi)容。.</BOD
26、Y></HTML> JSP技術(shù)有以下幾個(gè)顯著的優(yōu)點(diǎn) 一、把應(yīng)用程序內(nèi)容與頁面顯示分離 使用JSP技術(shù),Web頁面開發(fā)人員可以使用HTML或者XML標(biāo)記來設(shè)計(jì)和格式化最終頁面,使用JSP標(biāo)記或者Scriptlet來生成頁面上的根據(jù)請(qǐng)求而變化的動(dòng)態(tài)內(nèi)容(例如請(qǐng)求用戶信息或者特定的一種商品的價(jià)格)。生成內(nèi)容的邏輯被封裝在標(biāo)記和JavaBean組件中,并且捆綁在Scriptlet中,所有的腳本程序在服務(wù)器端運(yùn)行。這樣Web管理人員和頁面設(shè)計(jì)者,能夠編輯和使用JSP頁面,而不影響內(nèi)容的生成。 在服務(wù)器端,由JSP引擎解釋JSP標(biāo)記和Scriptlet,生成所請(qǐng)求的內(nèi)容(例如,通過訪問J
27、avaBean組件,使用JDBC技術(shù)訪問數(shù)據(jù)庫,或者包含文件),并且將結(jié)果以HTML(或者XML)頁面的形式發(fā)送回瀏覽器。這樣既可以保護(hù)作者自己的程序代碼,又可以保證任何基于HTML的Web瀏覽器的完全可用性。 與Servlet相比,JSP能提供所有Servlet的功能,但它比用println編寫和修改HTML更方便。此外,還可以更明確地進(jìn)行分工,Web頁面設(shè)計(jì)人員編寫HTML,只需要留出地方讓Servlet程序員插人動(dòng)態(tài)部分即可。 二、一次編寫,到處運(yùn)行 由于JSP頁面的內(nèi)置腳本語言是基于Java編程語言的,而且所有的JSP頁面都要被編譯成為Servlet,JSP頁面就具有Java技術(shù)的所有
28、優(yōu)點(diǎn),包括健壯的存儲(chǔ)管理和安全性等。當(dāng)然其中最重要的一點(diǎn)就是“一次編寫,到處運(yùn)行”。 JSP技術(shù)是與設(shè)計(jì)平臺(tái)完全無關(guān)的,包括它的動(dòng)態(tài)Web頁面,它的Web服務(wù)器和底層的服務(wù)器組件。你可以在任何平臺(tái)上編寫JSP頁面,在任何Web服務(wù)器或者Web應(yīng)用服務(wù)器上運(yùn)行,或者通過任何Web瀏覽器訪問。你還可以在任何平臺(tái)上建立服務(wù)器組件并且在任何服務(wù)器上運(yùn)行它們,目前主要是JavaBean和Servlet。有了這個(gè)優(yōu)點(diǎn),隨著越來越多的供應(yīng)商將JSP支持添加到他們的產(chǎn)品中,你就可以使用自己所選擇的服務(wù)器和工具,更改工具或服務(wù)器并不會(huì)影響到當(dāng)前的應(yīng)用。 三、強(qiáng)調(diào)可重用的組件 絕大多數(shù)JSP頁面依賴于可重用的、跨
29、平臺(tái)的組件(JavaBeans或者企業(yè)版的JavaBeans組件)來執(zhí)行應(yīng)用程序中所要求的更為復(fù)雜的處理。開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者或者客戶團(tuán)體所使用。這些組件有助于將網(wǎng)頁的設(shè)計(jì)與邏輯程序的編寫分開,節(jié)約了開發(fā)時(shí)間,同時(shí)充分發(fā)揮了Java和其他腳本語言的跨平臺(tái)的能力和靈活性?;诮M件的方法加速了總體開發(fā)過程,并且使得各種組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開發(fā)努力中得到平衡。 四、采用標(biāo)記簡(jiǎn)化頁面的開發(fā)Web頁面開發(fā)人員不一定都是熟悉腳本語言的編程人員。JSP技術(shù)封裝了許多功能,這些功能是在易用的、與JSP相關(guān)的XML標(biāo)記中進(jìn)行動(dòng)態(tài)內(nèi)容生成時(shí)所必需的。
30、標(biāo)準(zhǔn)的JSP標(biāo)記能夠訪問和實(shí)例化JavaBean組件,設(shè)置或者檢索組件屬性,下載Applet,以及執(zhí)行用其他方法更難于編碼和耗時(shí)的功能。 JSP和其他類似或相關(guān)技術(shù)的一個(gè)簡(jiǎn)單比較一、簡(jiǎn)介目前,最常用的三種動(dòng)態(tài)網(wǎng)頁語言有ASP(Active Server Pages),JSP(JavaServer Pages),PHP (Hypertext Preprocessor)。ASP全名Active Server Pages,是一個(gè)WEB服務(wù)器端的開發(fā)環(huán)境,利用它可以產(chǎn)生和執(zhí)行動(dòng)態(tài)的、互動(dòng)的、高性能的WEB服務(wù)應(yīng)用程序。ASP采用腳本語言VBScript(Java script)作為自己的開發(fā)語言。PH
31、P是一種跨平臺(tái)的服務(wù)器端的嵌入式腳本語言。它大量地借用C,Java和Perl語言的語法, 并耦合PHP自己的特性,使WEB開發(fā)者能夠快速地寫出動(dòng)態(tài)產(chǎn)生頁面。它支持目前絕大多數(shù)數(shù)據(jù)庫。還有一點(diǎn),PHP是完全免費(fèi)的,不用花錢,你可以從PHPJSP是Sun公司推出的新一代網(wǎng)站開發(fā)語言,Sun公司借助自己在Java上的不凡造詣,將Java從Java應(yīng)用程序和Java Applet之外,又有新的碩果,就是JSP,Java Server Page。JSP可以在Serverlet和JavaBean的支持下,完成功能強(qiáng)大的站點(diǎn)程序。三者都提供在 HTML代碼中混合某種程序代碼、由語言引擎解釋執(zhí)行程序代碼的能力
32、。但JSP代碼被編譯成 Servlet并由Java虛擬機(jī)解釋執(zhí)行,這種編譯操作僅在對(duì)JSP頁面的第一次請(qǐng)求時(shí)發(fā)生。在ASP 、PHP、JSP環(huán)境下,HTML代碼主要負(fù)責(zé)描述信息的顯示樣式,而程序代碼則用來描述處理邏輯。普通的 HTML頁面只依賴于Web服務(wù)器,而ASP 、PHP、JSP頁面需要附加的語言引擎分析和執(zhí)行程序代碼。程序代碼的執(zhí)行結(jié)果被重新嵌入到HTML代碼中,然后一起發(fā)送給瀏覽器。ASP 、PHP、JSP三者都是面向Web服務(wù)器的技術(shù),客戶端瀏覽器不需要任何附加的軟件支持。二、技術(shù)特點(diǎn):(一)ASP的技術(shù)特點(diǎn):1、 使用VBScript 、JScript等簡(jiǎn)單易懂的腳本語言,結(jié)合H
33、TML代碼,即可快速地完成網(wǎng)站的應(yīng)用程序。2、無須compile編譯,容易編寫,可在服務(wù)器端直接執(zhí)行。3、使用普通的文本編輯器,如Windows的記事本,即可進(jìn)行編輯設(shè)計(jì)。 4、 與瀏覽器無關(guān)(Browser Independence), 客戶端只要使用可執(zhí)行HTML碼的瀏覽器,即可瀏覽Active Server Pages所設(shè)計(jì)的網(wǎng)頁內(nèi)容。Active ServerPages 所使用的腳本語言(VBScript 、 Jscript)均在WEB服務(wù)器端執(zhí)行,客戶端的瀏覽器不需要能夠執(zhí)行這些腳本語言。5、Active Server Pages能與任何ActiveX scripting語言兼容。除
34、了可使用VB Script或JScript語言來設(shè)計(jì)外,還通過plugin的方式,使用由第三方所提供的其它腳本語言,譬如REXX 、Perl 、Tcl等。腳本引擎是處理腳本程序的COM(Component Object Model) 對(duì)象。6、可使用服務(wù)器端的腳本來產(chǎn)生客戶端的腳本。7、ActiveX Server Components(ActiveX 服務(wù)器組件 )具有無限可擴(kuò)充性??梢允褂肰isual Basic 、Java 、Visual C+ 、COBOL等程序設(shè)計(jì)語言來編寫你所需要的ActiveX Server Component 。(二)PHP的技術(shù)特點(diǎn): 1、 數(shù)據(jù)庫連接 PHP
35、可以編譯成具有與許多數(shù)據(jù)庫相連接的函數(shù)。PHP與MySQL 是現(xiàn)在絕佳的群組合。你還可以自己編寫外圍的函數(shù)去間接存取數(shù)據(jù)庫。通過這樣的途徑當(dāng)你更換使用的數(shù)據(jù)庫時(shí),可以輕松地修改編碼以適應(yīng)這樣的變化。PHPLIB就是最常用的可以提供一般事務(wù)需要的一系列基庫。但PHP提供的數(shù)據(jù)庫接口支持彼此不統(tǒng)一,比如對(duì)Oracle, MySQL ,Sybase的接口,彼此都不一樣。這也是PHP的一個(gè)弱點(diǎn)。(三)JSP的技術(shù)特點(diǎn):1、將內(nèi)容的產(chǎn)生和顯示進(jìn)行分離 使用JSP技術(shù),Web頁面開發(fā)人員可以使用HTML或者XML標(biāo)識(shí)來設(shè)計(jì)和格式化最終頁面。使用JSP標(biāo)識(shí)或者小腳本來產(chǎn)生頁面上的動(dòng)態(tài)內(nèi)容。產(chǎn)生內(nèi)容的邏輯被封
36、裝在標(biāo)識(shí)和JavaBeans群組件中,并且捆綁在小腳本中,所有的腳本在服務(wù)器端執(zhí)行。如果核心邏輯被封裝在標(biāo)識(shí)和Beans中,那么其它人,如Web管理人員和頁面設(shè)計(jì)者,能夠編輯和使用JSP頁面,而不影響內(nèi)容的產(chǎn)生。在服務(wù)器端,JSP引擎解釋JSP標(biāo)識(shí),產(chǎn)生所請(qǐng)求的內(nèi)容(例如,通過存取JavaBeans群組件,使用JDBC技術(shù)存取數(shù)據(jù)庫),并且將結(jié)果以HTML(或者XML)頁面的形式發(fā)送回瀏覽器。這有助于作者保護(hù)自己的代碼,而又保證任何基于HTML的Web瀏覽器的完全可用性。2、強(qiáng)調(diào)可重用的群組件 絕大多數(shù)JSP頁面依賴于可重用且跨平臺(tái)的組件(如:JavaBeans或者Enterprise Jav
37、aBeans)來執(zhí)行應(yīng)用程序所要求的更為復(fù)雜的處理。開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者或者用戶團(tuán)體所使用?;诮M件的方法加速了總體開發(fā)過程,并且使得各種群組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開發(fā)努力中得到平衡。 3、采用標(biāo)識(shí)簡(jiǎn)化頁面開發(fā)Web頁面開發(fā)人員不會(huì)都是熟悉腳本語言的程序設(shè)計(jì)人員。JavaServer Page技術(shù)封裝了許多功能,這些功能是在易用的、與JSP相關(guān)的XML標(biāo)識(shí)中進(jìn)行動(dòng)態(tài)內(nèi)容產(chǎn)生所需要的。標(biāo)準(zhǔn)的JSP標(biāo)識(shí)能夠存取和實(shí)例化JavaBeans組件,設(shè)定或者檢索群組件屬性,下載Applet,以及執(zhí)行用其它方法更難于編碼和耗時(shí)的功能。通過開發(fā)定制化
38、標(biāo)識(shí)庫,JSP技術(shù)是可以擴(kuò)展的。今后,第三方開發(fā)人員和其它人員可以為常用功能建立自己的標(biāo)識(shí)庫。這使得Web頁面開發(fā)人員能夠使用熟悉的工具和如同標(biāo)識(shí)一樣的執(zhí)行特定功能的構(gòu)件來工作。 JSP技術(shù)很容易整合到多種應(yīng)用體系結(jié)構(gòu)中,以利用現(xiàn)存的工具和技巧,并且擴(kuò)展到能夠支持企業(yè)級(jí)的分布式應(yīng)用。作為采用Java技術(shù)家族的一部分,以及Java 2EE的一個(gè)成員,JSP技術(shù)能夠支持高度復(fù)雜的基于Web的應(yīng)用。由于JSP頁面的內(nèi)置腳本語言是基于Java程序設(shè)計(jì)語言的,而且所有的JSP頁面都被編譯成為Java Servlet,JSP頁面就具有Java技術(shù)的所有好處,包括健壯的存儲(chǔ)管理和安全性。作為Java平臺(tái)的一
39、部分,JSP擁有Java程序設(shè)計(jì)語言“一次編寫,各處執(zhí)行”的特點(diǎn)。隨著越來越多的供貨商將JSP支持加入到他們的產(chǎn)品中,您可以使用自己所選擇的服務(wù)器和工具,修改工具或服務(wù)器并不影響目前的應(yīng)用。 三、應(yīng)用范圍:ASP是Microsoft 開發(fā)的動(dòng)態(tài)網(wǎng)頁語言,也繼承了微軟產(chǎn)品的一貫傳統(tǒng),只能執(zhí)行于微軟的服務(wù)器產(chǎn)品,IIS(Internet Information Server) (windows NT)和PWS(Personal Web Server)(windows 98)上。Unix下也有ChiliSoft的組件來支持ASP,但是ASP本身的功能有限,必須通過ASPCOM的群組合來擴(kuò)充,Unix
40、下的COM實(shí)現(xiàn)起來非常困難。PHP3可在Windows,Unix,Linux的Web服務(wù)器上正常執(zhí)行,還支持IIS,Apache等一般的Web服務(wù)器,用戶更換平臺(tái)時(shí),無需變換PHP3代碼,可即拿即用。JSP同PHP3類似,幾乎可以執(zhí)行于所有平臺(tái)。如Win NT,Linux,Unix。在NT下IIS通過一個(gè)外加服務(wù)器,例如JRUN或者ServletExec,就能支持JSP。知名的Web服務(wù)器Apache已經(jīng)能夠支持JSP。由于Apache廣泛應(yīng)用在NT、Unix和Linux上,因此JSP有更廣泛的執(zhí)行平臺(tái)。雖然現(xiàn)在NT操作系統(tǒng)占了很大的市場(chǎng)份額,但是在服務(wù)器方面Unix的優(yōu)勢(shì)仍然很大,而新崛起的
41、Linux更是來勢(shì)不小。從一個(gè)平臺(tái)移植到另外一個(gè)平臺(tái),JSP和JavaBean甚至不用重新編譯,因?yàn)镴ava字節(jié)碼都是標(biāo)準(zhǔn)的與平臺(tái)無關(guān)的。四、性能比較:有人做過試驗(yàn),對(duì)這三種語言分別做回圈性能測(cè)試及存取Oracle數(shù)據(jù)庫測(cè)試。在循環(huán)性能測(cè)試中,JSP只用了令人吃驚的四秒鐘就結(jié)束了2000020000的回圈。而ASP、PHP測(cè)試的是20002000循環(huán)(少一個(gè)數(shù)量級(jí)),卻分別用了63秒和84秒。(參考PHPLIB)。 數(shù)據(jù)庫測(cè)試中,三者分別對(duì) Oracle 8 進(jìn)行 1000 次 Insert,Update,Select和Delete: JSP 需要 13 秒,PHP 需要 69 秒,ASP則
42、需要 73 秒。(五)、前景分析:目前在國(guó)內(nèi)PHP與ASP應(yīng)用最為廣泛。而JSP由于是一種較新的技術(shù),國(guó)內(nèi)采用的較少。但在國(guó)外,JSP已經(jīng)是比較流行的一種技術(shù),尤其是電子商務(wù)類的網(wǎng)站,多采用JSP。采用PHP的網(wǎng)站如新浪網(wǎng)(sina)、中國(guó)人(Chinaren)等,但由于PHP本身存在的一些缺點(diǎn),使得它不適合應(yīng)用于大型電子商務(wù)站點(diǎn),而更適合一些小型的商業(yè)站點(diǎn)。首先,PHP缺乏規(guī)模支持。其次,缺乏多層結(jié)構(gòu)支持。對(duì)于大負(fù)荷站點(diǎn),解決方法只有一個(gè):分布計(jì)算。數(shù)據(jù)庫、應(yīng)用邏輯層、表示邏輯層彼此分開,而且同層也可以根據(jù)流量分開,群組成二維數(shù)組。而PHP則缺乏這種支持。還有上面提到過的一點(diǎn),PHP提供的數(shù)
43、據(jù)庫接口支持不統(tǒng)一,這就使得它不適合運(yùn)用在電子商務(wù)中。ASP和JSP則沒有以上缺陷,ASP可以通過Microsoft Windowsd的COM/DCOM獲得ActiveX規(guī)模支持,通過DCOM和Transcation Server獲得結(jié)構(gòu)支持;JSP可以通過SUN Java的Java Class和EJB獲得規(guī)模支持,通過EJB/CORBA以及眾多廠商的Application Server獲得結(jié)構(gòu)支持。三者中,JSP應(yīng)該是未來發(fā)展的趨勢(shì)。世界上一些大的電子商務(wù)解決方案提供商都采用JSP/Servlet。比較出名的如IBM的Ebusiness,它的核心是采用JSP/Servlet的Web Sphe
44、re。它們都是通過CGI來提供支持的。但去年10月后它推出了Enfinity,一個(gè)采用JSP/Servlet的電子商務(wù)Application Server,而且聲言不再開發(fā)傳統(tǒng)軟件。總之,ASP,PHP,JSP三者都有相當(dāng)數(shù)量的支持者,由此也可以看出三者各有所長(zhǎng)。正在學(xué)習(xí)或使用動(dòng)態(tài)頁面的朋友可根據(jù)三者的特點(diǎn)選擇一種適合自己的語言。 1.2 JSP環(huán)境安裝配置JSP環(huán)境配置有好多種,下面我們就拿Tomcat下配置來介紹一下。Tomcat下JSP環(huán)境的配置第一步:下載j2sdk和Tomcat到sun/download.html)下載j2sdk,注意下載版本為WindowsTomcatTomcat-
45、5/)下載TomcatTomcat); 第二步:安裝和配置你的j2sdk和Tomcat執(zhí)行j2sdk和Tomcat的安裝程序,按默認(rèn)設(shè)置進(jìn)行安裝即可。 1、安裝j2sdk以后,需要配置一下環(huán)境變量,在我的電腦->屬性->高級(jí)->環(huán)境變量->系統(tǒng)變量中添加以下環(huán)境變量(假定你的j2sdk安裝在C:j2sdk): JAVA_HOME=C:j2sdk classpath=.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar;(.;一定不能少,因?yàn)樗懋?dāng)前路徑) 。path=%JAVA_HOME%bin 接著可以寫一個(gè)簡(jiǎn)單的java程序
46、來測(cè)試J2SDK是否已安裝成功: public class example1 public static void main(String args) 將上面的這段程序保存為文件名為example1.java的文件。 然后打開命令提示符窗口,cd到你的example1.java所在目錄,然后鍵入下面的命令 javac example1.java / java的編譯命令javacjava example1 /執(zhí)行Test.java類此時(shí)如果看到打印出來This is a test program.的話說明安裝成功了,如果沒有打印出這句話,你需要仔細(xì)檢查一下你的配置情況。 2、安裝Tomcat后,
47、在我的電腦->屬性->高級(jí)->環(huán)境變量->系統(tǒng)變量中添加以下環(huán)境變量(假定你的Tomcat安裝在C:Tomcat5: CATALINA_HOME=C:Tomcat5; CATALINA_BASE=C:Tomcat5; 然后修改環(huán)境變量中的classpath,把tomat安裝目錄下的commonlib下的Servlet.jar追加到classpath中去,修改后的classpath如下: classpath=.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar;%CATALINA_HOME%commonlibServlet.jar;
48、 接著可以啟動(dòng)Tomcat,在IE中訪問http:/localhost:8080,如果看到Tomcat的歡迎頁面的話說明安裝成功了。注8080為Tomcat使用的端口,可以在配置文件tcomcat目錄下的confserver.xml進(jìn)行修改。建立自己的Jsp工作目錄 1、到Tomcat的安裝目錄的webapps目錄,可以看到ROOT,examples, Tomcat-docs之類Tomcat自帶的的目錄; 2、在webapps目錄下新建一個(gè)目錄,起名叫myapp; 3、myapp下新建一個(gè)目錄WEB-INF,注意,目錄名稱是區(qū)分大小寫的; 4、WEB-INF下新建一個(gè)文件web.xml(也可從
49、examples目錄下的webapp下拷貝過來用),內(nèi)容如下: <?xml version="1.0" encoding ="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-/Sun Microsystems, Inc./DTD Web Application 2.3/EN" <web-app> <display-name>My Web Application</display-name> <description> A applica
50、tion for test. </description> </web-app> 5.在myapp下新建一個(gè)測(cè)試的jsp頁面,文件名為index.jsp,文件內(nèi)容如下: <html><body><center> </center></body></html> 6、重啟Tomcat 7、打開瀏覽器,輸入http:/localhost:8080/myapp/index.jsp 看到當(dāng)前時(shí)間的話說明就成功了。 1.3 JSP語法介紹 這里把JSP的語法一個(gè)小的總結(jié),意為讓讀者對(duì)JSP有個(gè)大概的了解。更為詳
51、細(xì)的介紹將在第2章中。 JSP頁面中的元素JavaServer Pages(JSP)使得我們能夠分離頁面的靜態(tài)HTML和動(dòng)態(tài)部分。HTML可以用任何通常使用的Web制作工具編寫,編寫方式也和原來的一樣;動(dòng)態(tài)部分的代碼放入特殊標(biāo)記之內(nèi),大部分以“<%”開始,以“%>”結(jié)束。例如,下面是一個(gè)JSPWeb+Programming這個(gè)URL打開該頁面,則結(jié)果顯示“Thanks for ordering Core Web Programming”。 源程序如下:Thanks for ordering<I><%= request.getParameter("titl
52、e") %></I>JSP頁面文件通常以.jsp為擴(kuò)展名,而且可以安裝到任何能夠存放普通Web頁面的地方。雖然從代碼編寫來看,JSP頁面更象普通Web頁面而不象Servlet,但實(shí)際上,JSP最終會(huì)被轉(zhuǎn)換成正規(guī)的Servlet,靜態(tài)HTML直接輸出到和Servlet service方法關(guān)聯(lián)的輸出流。 JSP到Servlet的轉(zhuǎn)換過程一般在出現(xiàn)第一次頁面請(qǐng)求時(shí)進(jìn)行。因此,如果你希望第一個(gè)用戶不會(huì)由于JSP頁面轉(zhuǎn)換成Servlet而等待太長(zhǎng)的時(shí)間,希望確保Servlet已經(jīng)正確地編譯并裝載,你可以在安裝JSP頁面之后自己請(qǐng)求一下這個(gè)頁面,這樣JSP頁面轉(zhuǎn)換成Servle
53、t了。 另外也請(qǐng)注意,許多Web服務(wù)器允許定義別名,所以一個(gè)看起來指向HTML文件的URL實(shí)際上可能指向Servlet或JSP頁面。 除了普通HTML代碼之外,嵌入JSP頁面的其他成分主要有如下三種:腳本元素(Scripting Element),指令(Directive),動(dòng)作(Action)。腳本元素用來嵌入Java代碼,這些Java代碼將成為轉(zhuǎn)換得到的Servlet的一部分;JSP指令用來從整體上控制Servlet的結(jié)構(gòu);動(dòng)作用來引入現(xiàn)有的組件或者控制JSP引擎的行為。為了簡(jiǎn)化腳本元素,JSP定義了一組可以直接使用的變量(預(yù)定義變量),比如前面代碼片斷中的request就是其中一例。 J
54、SP語法概要 1、JSP表達(dá)式:<%= expression %> 計(jì)算表達(dá)式并輸出結(jié)果。 等價(jià)的XML表達(dá)是: <jsp:expression> expression </jsp:expression> 可以使用的預(yù)定義變量包括:request,response,out,session,application,config,pageContext。這些預(yù)定義變量也可以在JSP Scriptlet中使用。 JSP Scriptlet <% code %> 插入到service方法的代碼。 等價(jià)的XML表達(dá)是: <jsp:scriptlet&
55、gt; code </jsp:scriptlet> 2、JSP聲明: <%! code %> 代碼被插入到Servlet類(在service方法之外)。 等價(jià)的XML表達(dá)是: <jsp:declaration> code </jsp:declaration> 3、page指令 <% page att="val" %> 作用于Servlet引擎的全局性指令。 等價(jià)的XML表達(dá)是 <jsp:Directive.page att="val">。 合法的屬性如下表: import="
56、;package.class" contentType="MIME-Type" isThreadSafe="true|false" session="true|false" buffer="size kb|none" autoflush="true|false" extends="package.class" info="message" errorPage="URL" isErrorPage="true|false
57、" language="java" 4、include指令 <% include file="URL" %> 當(dāng)JSP轉(zhuǎn)換成Servlet時(shí),應(yīng)當(dāng)包含本地系統(tǒng)上的指定文件。 等價(jià)的XML表達(dá)是: <jsp:Directive.include file="URL">. 其中URL必須是相對(duì)URL。 利用jsp:include動(dòng)作可以在請(qǐng)求的時(shí)候(而不是JSP轉(zhuǎn)換成Servlet時(shí))引入文件。 5、JSP注釋 <%- comment -%> 注釋;JSP轉(zhuǎn)換成Servlet時(shí)被忽略。 如果要把
58、注釋嵌入結(jié)果HTML文檔,使用普通的HTML注釋標(biāo)記<- comment ->。 6、jsp:include動(dòng)作 <jsp:include page="relative URL" flush="true"/> 當(dāng)Servlet被請(qǐng)求時(shí),引入指定的文件。 如果你希望在頁面轉(zhuǎn)換的時(shí)候包含某個(gè)文件,使用JSP include指令。 注意:在某些服務(wù)器上,被包含文件必須是HTML文件或JSP文件,具體由服務(wù)器決定(通常根據(jù)文件擴(kuò)展名判斷)。 7、jsp:useBean動(dòng)作 <jsp:useBean att=val*/> 或者 <jsp:useBean att=val*> . </jsp:useBean> 尋找或?qū)嵗粋€(gè)Java Bean。 可能的屬性包括: id="name" scope="page|request|session|application" class="package.class" type="package.class" beanName="package.class" 8、jsp:setProperty動(dòng)作 <jsp:setProperty att=val*
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)開戶銀行合同范本
- 個(gè)體老板合同范本
- vr公司合同范本
- 2025年煙臺(tái)駕駛資格證模擬考試
- 化妝店轉(zhuǎn)租上海合同范本
- 獸醫(yī)診所轉(zhuǎn)讓合同范本
- 副業(yè)兼職合同范本
- 二手車行業(yè)勞動(dòng)合同范本
- 軍旅衣服租賃合同范本
- 農(nóng)村房屋場(chǎng)地出租合同范本
- 離心機(jī)操作規(guī)程
- 富氫水水素水推廣方法
- 煤礦職業(yè)衛(wèi)生培訓(xùn)課件2023
- 某小學(xué)申報(bào)廣州市義務(wù)教育規(guī)范化學(xué)校自評(píng)分說明
- 面神經(jīng)炎課件完整版
- 根據(jù)銅價(jià)計(jì)算各種電纜參考價(jià)格
- 湘教版五年級(jí)下冊(cè)美術(shù)教學(xué)計(jì)劃
- WB/T 1066-2017貨架安裝及驗(yàn)收技術(shù)條件
- SB/T 10446-2007成品油批發(fā)企業(yè)管理技術(shù)規(guī)范
- 瀝青路面施工質(zhì)量控制要點(diǎn)課件
- 對(duì)建筑工程施工轉(zhuǎn)包違法分包等違法行為認(rèn)定查處管理課件
評(píng)論
0/150
提交評(píng)論