版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、JSP程序設(shè)計,hbcgg@yahoo.com.cn經(jīng)濟管理學(xué)院信息管理教研室 陳岡,本課程主要講述內(nèi)容:JSP技術(shù)基礎(chǔ)環(huán)境配置HTML基礎(chǔ)JSP語法JSP內(nèi)置對象JSP文件操作JSP中訪問數(shù)據(jù)庫ServletJavaBean,需要具備的相關(guān)知識:數(shù)據(jù)庫基本知識網(wǎng)絡(luò)基礎(chǔ)知識Dreamweaver的使用Eclipse3.2Java語言(成為JSP高手必備)本課程以實戰(zhàn)為導(dǎo)向。課后認(rèn)真自學(xué)上述相關(guān)基礎(chǔ)知識。
2、布置的思考與練習(xí)題目,盡可能課后認(rèn)真上機實踐(經(jīng)濟管理學(xué)院機房已經(jīng)具備JSP環(huán)境)。,如何成為一個優(yōu)秀的jsp程序員,1、建立并且理解你的Web Server。2、 保證你理解 HTML ?;〞r間學(xué)習(xí)手工寫作html是很有必要的。因為你將會使用 JSP 和 HTML 混合編程,精通HTML語法是重要的。所以,你必須能流利地寫 HTM
3、L 。 訓(xùn)練時間:2 ~ 4 個星期。3、開始學(xué)習(xí) Java 。理解 Java 基礎(chǔ)是很重要的。不用擔(dān)心學(xué)習(xí)Swing或 Java 的圖形方面,因為在JSP 中你不會使用這些特征。集中精力在 Java 工作的細(xì)節(jié),學(xué)習(xí) Java 的邏輯,也在 Java
4、Bean上花時間。學(xué)習(xí)Applet是好的, 但是就象Swing, JSP 的大多數(shù)應(yīng)用將不使用小程序。訓(xùn)練時間:3 ~ 6 個星期。,如何成為一個優(yōu)秀的jsp程序員,3、學(xué)習(xí) JavaScript學(xué)習(xí)怎么將 JavaScript在HTML中驗證輸入的Form元素。也學(xué)習(xí) JavaScript怎么能在一 HTML 頁以內(nèi)修改F
5、orm的元素。最后要求你能從一 HTML 頁內(nèi)的事件中觸發(fā) JavaScript Function。 訓(xùn)練時間:1~ 2 個星期。4、學(xué)習(xí)并且理解你的Web Server的更多細(xì)節(jié)。熟悉Web Server的特征,這是很重要的。 訓(xùn)練時間:2 天。,如何成為一個優(yōu)秀的jsp程序員,5、建立你的 JSP
6、;Server推薦以Tomcat開始。它可以很好地運行JSP程序。當(dāng)你不能在生產(chǎn)使用Tomcat時,學(xué)習(xí)盡可能多的知識以便于更好的運行程序。另外, 許多 JSP 程序員使用Tomcat。因此當(dāng)你遇到一個問題時,你將容易發(fā)現(xiàn)幫助。 安裝時間:1~ 2 天。6、開始學(xué)習(xí) JSP ?;镜?#160;JSP 學(xué)習(xí)通過的步驟 1到步驟6可
7、以完成, 然后使用 JSP 對象和腳本寫 JSP 程序來聯(lián)系。學(xué)習(xí) JSP 的另外一個方面可以學(xué)習(xí)怎么創(chuàng)建一個分布式的應(yīng)用程序。 訓(xùn)練時間:4 ~ 6 個星期。,如何成為一個優(yōu)秀的jsp程序員,7、學(xué)習(xí)更多的 JSP server。 沒有關(guān)于更多的 JSP Server當(dāng)然也可以運行
8、jsp程序。然而, 許多 JSP server都由自己特殊的特征,可以讓你更好的理解你的JSP 工程。學(xué)習(xí)更多的Jsp server如何處理jsp程序是有必要的。同樣也可以優(yōu)化你的 JSP 應(yīng)用程序,并且使之運行得更快而不出任何問題。 訓(xùn)練時間:2 ~ 7 天。,如何成為一個優(yōu)秀的jsp程序員,8、 學(xué)習(xí)
9、;JDBC 。JSP 大多數(shù)應(yīng)用將使用數(shù)據(jù)庫,JDBC 被用于數(shù)據(jù)庫連接。經(jīng)常忽略的一個事實就是,每個 JDBC Driver 所支持的東西是相當(dāng)不同的。了解并熟悉在jsp工程上被使用的 JDBC driver的細(xì)節(jié)是很重要的。(有時這部分的學(xué)習(xí)被包含在前面 Java 或JSP的學(xué)習(xí)中了 。) 訓(xùn)練時間:1~
10、60;2 個星期。,到現(xiàn)在,你已經(jīng)成為了熟練的 JSP 程序員。仍然有很多需要學(xué)習(xí),你可以考慮擴展你的知識比如 DHTML , XML ,java證書, JSP Tag Libraries 或 Servlets , 看你想要造什么類型的網(wǎng)站而決定了。 這些訓(xùn)練是JSP 的核心
11、。你不必都學(xué)習(xí)上面所有的, 取決于你在工程中分配到什么任務(wù)和你已經(jīng)有什么知識。但是這是成功地訓(xùn)練程序員的時間表。關(guān)鍵的單元是時間。平均的說, 5 個月時間確實能夠訓(xùn)練一個人 ( 從開始到完成 ) 成為一個對jsp熟悉程序員。5 個月時間似乎很長,但要成為一個資深的WEB程序員所學(xué)的東西遠(yuǎn)遠(yuǎn)不止這一些。,本課程涉及的軟件,Java開發(fā)工具包JDK1.5Tom
12、cat5.5.7、resin2.xDreamweaver2004MXmySQL4.x、mySQL-Front3.1Eclipse3.2,其它參考書籍:1.《JSP深入編程》 希望電子出版社2.《網(wǎng)絡(luò)編程語言 JSP實例教程》 電子工業(yè)出版社3.《JSP/HTML編程實作教程 》 希望電子出版社4..《JSP程序設(shè)計指南--初級程序員的基本技能》 清華大學(xué)出版社5.《JSP入門與提高》清華大學(xué)出版社,第一章 配
13、置系統(tǒng)環(huán)境,1。安裝JDK1.5.0:http://Java.sun.com2。安裝Tomcat5.5.7著名的Apache Group的Jakarta小組開發(fā)(http://www.jakarta.org)。3。設(shè)置環(huán)境變量JAVA_HOME:c:\java\jdk1.5.0classpath:.;C:\java\jdk1.5.0\lib\tools.jar;C:\java\jdk1.5.0\lib\dt.jarpath:
14、%JAVA_HOME%\bin;這一句放在最前面,否則eclipse啟動不了,4。安裝mySQL數(shù)據(jù)庫、mySQL-front管理程序,MySQL是一個精巧的SQL數(shù)據(jù)庫管理系統(tǒng)。由于它的強大功能、靈活性、以及精巧的系統(tǒng)結(jié)構(gòu),受到了廣大自由軟件愛好者甚至是商業(yè)軟件用戶的青睞,特別是與Apache結(jié)合,為建立基于數(shù)據(jù)庫的動態(tài)網(wǎng)站提供了強大動力!MySQL有瑞典的T.c.X公司負(fù)責(zé)開發(fā)和維護。MySQL是一個真正的多用戶、多線程SQL數(shù)據(jù)
15、庫服務(wù)器。MySQL 主要目標(biāo)是快速、健壯和易用。它可媲美任何昂貴的大型數(shù)據(jù)庫,但速度更快。自1996年以來,許多機構(gòu)一直都在使用MySQL。MySQL建立的基礎(chǔ)是業(yè)已用在高要求的生產(chǎn)環(huán)境多年的一套實用例程。盡管MySQL仍在開發(fā)中,但它已經(jīng)提供一個豐富和極其有用的功能集。MySQL的官方發(fā)音是“My Ess Que Ell”(不是 MY-SEQUEL )。,5。安裝Eclipsehttp://www.e
16、clipse.org/downloads/index.php 目前為止,大多數(shù) Java? 程序員都聽說過 Eclipse,它正迅速成為最流行的 Java 編程環(huán)境。在目前所有的IDE中,Eclipse可以說是最有發(fā)展前途的產(chǎn)品之一。Eclipse最初由OTI和IBM兩家公司的IDE產(chǎn)品開發(fā)組創(chuàng)建,起始于1999年4月。目前由IBM牽頭,圍繞著Eclipse項目已經(jīng)發(fā)展成為了一個龐大的Eclipse聯(lián)盟,有150多家軟件公司
17、參與到Eclipse項目中,其中包括Borland、Rational Software、Red Hat及Sybase,最近Oracle也計劃加入到Eclipse聯(lián)盟中。 Eclipse 是否與其他花錢的 IDE 一樣好? 答案非常確定!對于編碼、調(diào)試、重構(gòu)、單元測試等等, Eclipse 可以與任何一種 IDE 匹敵,甚至比它們還要好。與昂貴的 JBuilder2005 版本相比,您可能會發(fā)現(xiàn) Ecli
18、pse 對很多特性的支持都比 JBuilder 更好。,6。下載MyEclipse Eclipse插件,收費軟件。使Eclipse支持EJB、JSP、Servlet等等。功能強大!http://www.myeclipseide.com/ContentExpress-display-ceid-10.html 下載后安裝即可。,2.1 網(wǎng)絡(luò)計算模式計算模式:描述它們在平臺上的分布以及在數(shù)據(jù)處理中之間的
19、關(guān)系。(網(wǎng)絡(luò)計算結(jié)構(gòu))兩種模式:C/s、B/S,第二章 JSP技術(shù)概述,2.2 JSP技術(shù)介紹2.2.1 Web編程技術(shù) Web編程技術(shù)隨著計算機技術(shù)的進步而不斷發(fā)展。早期的web技術(shù)主要以獲取靜態(tài)文本、信息為主。隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,靜態(tài)頁面不能適應(yīng)需求,動態(tài)網(wǎng)站技術(shù)應(yīng)運而生。動態(tài)網(wǎng)站特性:后臺數(shù)據(jù)庫支持站點信息及時更新動態(tài)顯示效果,補充說明:靜態(tài)網(wǎng)頁是預(yù)先編寫好的HTML文件,當(dāng)瀏覽器訪問時,WEB服務(wù)器將文件傳送
20、給瀏覽器,整個過程中網(wǎng)頁內(nèi)容不被改變。HTML的表單、動態(tài)GIF圖、FLASH、Applet和瀏覽器端腳本不等于動態(tài)網(wǎng)頁。動態(tài)網(wǎng)頁可以看作是預(yù)先編寫好的HTML模板文件。當(dāng)瀏覽器訪問動態(tài)網(wǎng)頁時,WEB服務(wù)器根據(jù)一定的程序邏輯填寫模板,并將最終生成的內(nèi)容傳送給瀏覽器。,常用動態(tài)Web編程技術(shù): Perl、ISAPI、ASP、ASP+、ASP.net、PHP、JSP、XSP等等。1.1.2 JSP的形式和特點JSP為創(chuàng)建動態(tài)生
21、成內(nèi)容的Web頁面提供了一個簡捷而快速的方法,在眾多Web開發(fā)工具中一枝獨秀、獨領(lǐng)風(fēng)騷。 ,特點:適用于任何平臺、支持者眾多程序的執(zhí)行效率高擁有Java優(yōu)勢強大的服務(wù)器組件強大的數(shù)據(jù)庫支持Write once, run anywhere!錢途無量的JSP!提示:在國外,JSP+Servlet+J2EE已經(jīng)成為開發(fā)電子商務(wù)的主流技術(shù)。,2.2 JSP與主流動態(tài)網(wǎng)頁技術(shù)比較,2.3 JSP的運行環(huán)境2.3.1 JSP運
22、行環(huán)境需要的組件Java 2軟件開發(fā)工具箱。可以在sun公司http://Java.sun.com免費下載。JSP引擎(JSP應(yīng)用服務(wù)器)。Resin、Tomcat、JRun、JSWDK、Weblogic等等。,2.3.2 常見的JSP應(yīng)用服務(wù)器的配置Tomcat5.5.7的配置著名的Apache Group的Jakarta小組開發(fā)(http://www.jakarta.org)。 服務(wù)器主要配置:conf\server.x
23、ml文件。 自己開發(fā)的網(wǎng)站一般放置在webapps下。 網(wǎng)站配置一般放在自己站點的WEB-INF/web.xml中Resin2.1.14的配置著名的Caucho公司的產(chǎn)品(http://www.caucho.com/download/)。速度特別快,幾乎是tomcat的3倍! Resin可以不作任何配置,除非有特殊要求。,2.3.3 JSP執(zhí)行過程,執(zhí)行過程:,瀏覽器IE,Tomcat,2.3.4 JSP程序的初步體驗一
24、個簡單的JSP程序:我的第一個JSP程序,1.如何配置系統(tǒng)環(huán)境?2.分別用tomcat和resin作為Web服務(wù)器,配置一個自己的站點,并編寫一個顯示“歡迎光臨本站點”的index.jsp程序。3.如何將自己站點的默認(rèn)端口設(shè)置為80?4.站點目錄能否放置在webapps以外的其它地方?5.創(chuàng)建一個站點,包含admin文件夾,該文件夾下的所有文件只允許用戶admin(密碼:123)、deparb(密碼:456)
25、訪問。6.如何將自己站點的默認(rèn)主頁設(shè)置為myweb.jsp?,思考與練習(xí),第三章 HTML基礎(chǔ),3.1 標(biāo)記基礎(chǔ)HTML語言是控制網(wǎng)頁內(nèi)容顯示格式的標(biāo)記集合,標(biāo)記給瀏覽器提供了格式化Web文檔的指令。1. 基本的HTML語法在HTML語言中,所有的標(biāo)記都必須用尖括號(即小于號“”)括起來。也有一些標(biāo)記只要求單一標(biāo)記符號,例如換行標(biāo)記。HTML標(biāo)記不區(qū)分大小寫,但通常約定使用大寫字母來表示,以利于HTML文檔的維
26、護。2. 標(biāo)記符的屬性大多數(shù)標(biāo)記都擁有一個屬性集,通過這些屬性可以對作用的內(nèi)容進行更多的控制。在HTML語言中,所有屬性都放置在開始標(biāo)記的尖括號內(nèi)。例如:心想事成。,3.2 HTML文檔的基本結(jié)構(gòu)一個基本的HTML文檔通常包含以下三對頂級標(biāo)記。1. HTML標(biāo)記...2. 首部標(biāo)記...首部標(biāo)記用于提供與Web頁有關(guān)的各種信息。在首部標(biāo)記中,可以使用:和和和等等。,3. 正文標(biāo)記...正文標(biāo)記包含了
27、文檔的內(nèi)容,文字、圖像、動畫、超鏈接以及其他HTML元素均位于該標(biāo)記中。正文標(biāo)記有下列屬性。(1) BACKGROUD:指定文檔背景圖像的URL地址,圖像平鋪在頁背景上。(2) BGCOLOR:指定文檔的背景顏色。(3) TEXT:指定文檔中文本的顏色。(7) ONLOAD:指定文檔首次加載時調(diào)用的事件處理程序。(8) ONUNLOAD:用于指定文檔卸載時調(diào)用的事件處理程序。顏色屬性的值有兩種表示方法:使用顏色名稱:例如
28、紅色、綠色和藍色分別用red、green和blue表示;使用十六進制格式數(shù)值:#RRGGBB來表示,RR、GG和BB分別表示顏色中的紅、綠、藍三基色的兩位十六進制數(shù)據(jù)。,4. HTML文檔的基本結(jié)構(gòu)HTML文檔的基本結(jié)構(gòu)可以表示如下:標(biāo)題文字文本、圖像、動畫、HTML指令等5 添加注釋注釋由開始標(biāo)記構(gòu)成。,3.3 設(shè)置文本格式3.3.1 分段與換行段落是文檔的基本信息單位。將文檔劃分為段落,可以通過
29、使用分段標(biāo)記、換行標(biāo)記、標(biāo)題標(biāo)記或插入水平線來實現(xiàn)。1. 分段標(biāo)記P2. 換行標(biāo)記BR標(biāo)記強行規(guī)定了當(dāng)前行的中斷,使后續(xù)內(nèi)容在下一行顯示。,3. 標(biāo)題標(biāo)記Hn其中n的取值是1到6;...標(biāo)記表示字體最大的標(biāo)題,…標(biāo)記表示字體最小的標(biāo)題。4. 水平線標(biāo)記HRHR標(biāo)記在文檔中添加一條水平線,用來分開文檔的兩個部分。該標(biāo)記有以下屬性:(1) ALIGN:指定線的對齊方式,取值為left(左對齊)、center(居中對齊
30、)或right(右對齊),默認(rèn)值為center。(2) COLOR:指定線的顏色。(3) NOSHADE:若指定該項,則顯示一條無陰影的實線。(4) SIZE:指定線的寬度,以像素為單位。(5) WIDTH:指定線的長度,單位可以是像素或百分比(占頁面寬度的百分比)。,3.3.2 設(shè)置段落對齊方式使用ALIGN屬性來設(shè)置段落的對齊方式。ALIGN屬性的取值可以是:left(左對齊)、center(居中對齊)、r
31、ight(右對齊)以及justify(兩邊對齊)。3.3.3 設(shè)置字體、字號和顏色字體標(biāo)記...來設(shè)置文本的字符格式,并通過FACE、SIZE和COLOR屬性來設(shè)置文本的字體、字號和顏色。例如:超文本標(biāo)記語言,3.3.4 設(shè)置字符樣式...粗體...大字體...斜體...刪除線...小字體...刪除線...上標(biāo)...下標(biāo)...固定寬度字體...下劃
32、線,,,3.3.5 插入特殊字符可以使用兩種方式來輸入特殊符號:即使用字符實體名稱或數(shù)字表示方式。例如,若要在網(wǎng)頁中輸入一個無間斷空格,可以輸入“ ”或“ ”,等等。表2.3列出了常用特殊符號的實體名稱或數(shù)字表示。,3.4 使用圖像使用IMG標(biāo)記在網(wǎng)頁中插入一個圖像。1. SRC和ALT屬性IMG標(biāo)記有許多屬性,其中最常用的是SRC和ALT屬性SRC屬性給出圖像文件的URL地址,圖像可以
33、是JPEG文件、GIF文件或PNG文件。ALT屬性給出圖像的簡單文本說明。2. 指定圖像的高和寬 當(dāng)使用IMG標(biāo)記在網(wǎng)頁中插入一個圖像時,可以通過HEIGHT和WIDTH屬性來設(shè)置圖像的高度和寬度,3.5 使用字幕和背景音樂3.5.1 插入字幕要滾動顯示的文本信息MARQUEE標(biāo)記的主要屬性有:(1) ALIGN:指定字幕與周圍文本的對齊方式,其取值可以是top、middle或bottom。(2) B
34、EHAVIOR:指定文本動畫的類型,其取值可以是scroll、slide或alternate。(3) BGCOLOR:指定字幕的背景顏色。(4) DIRECTION:指定文本的移動方向,其取值可以是down、left、right或up。(5) HEIGHT:指定字幕的高度,以像素或百分比為單位。(6) HSPACE:整數(shù),指定字幕的外部邊緣與瀏覽器窗口之間的左右邊距(像素)。(7) SCROLLAMOUNT:整數(shù),指定字幕文本
35、每次移動的距離,以像素為單位。(8) SCROLLDEALY:整數(shù),指定與前段字幕文本延遲多少ms后重新開始移動文本。(9) VSPACE:整數(shù),指定字幕的外邊緣與瀏覽器窗口之間的上下邊距(像素)。,3.5.2 插入背景音樂使用標(biāo)記在網(wǎng)頁中添加背景音樂,該標(biāo)記只允許放置在HEAD部分。標(biāo)記的屬性:(1) BALANCE:整數(shù),指定如何將聲音分成左聲道和右聲道。取值為-10,000~+10,000,默認(rèn)值為0。(2) LOO
36、P:整數(shù),指定聲音播放的次數(shù)。如果設(shè)置為0,則播放一次;如果設(shè)置為大于0的整數(shù),則播放指定的次數(shù);如果設(shè)置為-1,則聲音反復(fù)播放,直到頁面卸載。(3) SRC:指定要播放的聲音文件的URL。常用的聲音文件類型是波形文件(.wav)、MIDI文件(.mid)、AIFF文件(.aif)、AU文件(.au)以及MP3文件(*.mp3)等。(4) VOLUME:整數(shù),指定音量高低,其取值為-10,000~0,默認(rèn)值為0。,3.6 使用表格
37、表格標(biāo)題文字標(biāo)題標(biāo)題…標(biāo)題數(shù)據(jù)數(shù)據(jù)…數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)…數(shù)據(jù)……數(shù)據(jù)數(shù)據(jù)…數(shù)據(jù),3.7 使用超鏈接1. 理解超鏈接超鏈接是由源端點到目標(biāo)端點的一種跳轉(zhuǎn)。主要形式: (1) 文件鏈接:這種鏈接的目標(biāo)端點是的一個文件,它可以位于當(dāng)前網(wǎng)頁所在的服務(wù)器,也可以位于其他服務(wù)器。名稱(2) E-mail鏈接:通過這種鏈接可以啟動電子郵件客戶端程序(如Outlook或F
38、oxMail等),并允許訪問者向指定的地址發(fā)送郵件。給我寫信,2. 理解路徑路徑是指從站點根文件夾或當(dāng)前文件夾起到目標(biāo)文件所經(jīng)過的路線。路徑有以下幾種類型:(1) 絕對路徑:也稱為絕對URL,它給出目標(biāo)文件的完整URL地址,包括傳輸協(xié)議在內(nèi)。如果要鏈接的文件位于外部服務(wù)器上,則必須使用絕對路徑。(2) 相對路徑:也稱為相對URL,是指以當(dāng)前文檔所在位置為起點到目標(biāo)文檔所經(jīng)過的路徑。,3.8 使用表單什么是表單? 表單
39、是用來收集站點訪問者信息的域集。3.8.1 創(chuàng)建表單在HTML語言中,表單通過FORM標(biāo)記來定義,基本語法格式如下:……FORM標(biāo)記具有以下屬性:(1) NAME:指定表單的名稱,以標(biāo)識表單。命名表單后,可以使用腳本語言(如VBScript或JScript)來引用或控制該表單(2) METHOD:post、get。(3) ACTION:指定將要接收表單數(shù)據(jù)的服務(wù)器端程序或動態(tài)網(wǎng)頁的網(wǎng)址。(4) onSubmit:指
40、定提交表單時調(diào)用的事件處理程序。(5) onReset:指定重置表單時調(diào)用的事件處理程序。(6) TARGET:指定一個目標(biāo)窗口,其取值為:_blank、_parent、_self、_top。,3.8.2 使用輸入型表單控件1。 input輸入域格式:姓名籍貫 此外:type的取值還可能是:password、checkbox、radio、image、hidden、reset等。,2。下拉列表框用于列表選擇。例如
41、: 湖北 湖南 江蘇 浙江 福建 ,3。多行文本框格式:例如:,3.9 JavaScript,用法:…或者:,示例1數(shù)字的確認(rèn),function isDigit(theNum) { var theMask=‘0123456789’; if(theNum==null||theNum.length==0) return false; if theMask.inde
42、xOf(theNum)==-1) return false; return true;},示例2 檢查輸入是否為空4.3.2 檢查輸入是否為空(包括空格)function isEmail(theEmail) {var email=theEmail;email=email.replace(/(^\s*)|(\s*$)/g, "");if (email==""){ alert(
43、“請輸入您的Email地址,地址不能為空!"); return false;}}注意:如何實現(xiàn)光標(biāo)自動定位?,示例3 電子郵件地址格式的確認(rèn)function isEmail(theEmail) {var email=theEmail;email=email.replace(/(^\s*)|(\s*$)/g, "");if (email==""){ alert(“
44、請輸入您的Email地址,地址不能為空!"); return false;}if (email!== ""){ var notValid=false; var useremail=email; if (useremail.indexOf("@")<=0) notValid=true; if (useremail.charAt(useremail.le
45、ngth -1)=="@") notValid=true; if (useremail.indexOf(".")<=0||useremail.indexOf(".")<=useremail.indexOf("@")) notValid=true; if (useremail.indexOf(".")<=use
46、remail.indexOf("@")+1) notValid=true; if (useremail.indexOf(".")==(useremail.length -1)) notValid=true; if (notValid) { alert("您的Email地址不正確,請重新輸入!"); return (false);
47、 } }},思考與練習(xí): 1.如何實現(xiàn)不規(guī)則表格?2.如何使用表單提交進行客戶端確認(rèn)?,4.1.1 開始和結(jié)束標(biāo)記 以結(jié)尾,格式: 例如:4.1.2 注釋注釋是幫助自己或別人閱讀程序。注釋可以有兩種形式,HTML注釋、JSP注釋。HTML注釋:,第四章 JSP語法基礎(chǔ) 4.1 JSP基本語法規(guī)則,HTML注釋:注釋的內(nèi)容會在客戶端的HTML源代碼中出現(xiàn)。例如:JSP注釋客戶端查看
48、源代碼時看不到(安全考慮)。格式: 示例:,用戶留言,4.1.3 基本數(shù)據(jù)類型1)整型三種形式:十進制、八進制(0開頭)、十六進制(0x開頭)。具體類型如下:byte類型有符號,范圍-128~127。例如:byte a,b=12;short類型(很少使用)有符號,范圍-32768~32767。例如:short d,e=234;int類型有符號,范圍-2147483684~ 2147483683。
49、例如:int x,y=12;,long類型有符號,范圍-264~ 264-1。例如:long x,y=-0x12;2)實型Float類型(單精度)例如:float x,y=123.56;double類型(雙精度)例如:float x,y=123.56;3)布爾型boolean只有true和false兩種值例如:boolean x,y,z=false;3)字符型char用單引號括起來。例如:char xx=’
50、123’;,思考:char rtn=’\n’;表示什么?4)字符串型String用雙引號括起來的一串字符。例如:String myStr=“xyz”;注意:是對象,而非數(shù)據(jù)!有以下重要方法:length()、 boolean equals(String str)String substring(int beginIndex)String substring(int beginIndex, int end
51、Index)boolean startsWith(String prefix)int indexOf(String str) 向后int indexOf(String str, int fromIndex) 向后,String toLowerCase()String toUpperCase()String trim()String replaceAll(String regex,
52、String replacement) 該方法用字符串replacement的內(nèi)容替換當(dāng)前字符串中遇到的所有和字符串regex相一致的子串,并將產(chǎn)生的新字符串返回。思考:如何判斷一個字符串是否是一個合法的email地址?,4.1.4 運算符關(guān)系運算符用來比較兩個值,并返回布爾型的值true或false。,布爾邏輯運算符進行布爾邏輯運算,包括&&、||、!等,int x=12,y=85;boo
53、lean z=(x78);,算術(shù)運算符進行加、減等運算。,int i=6,j,k,s;k=(j=++i) ; i,j,k=?s=(j=i--) ; i,j,s=?,三目條件運算符 格式: x ? y:z; 上面的三目條件運算的規(guī)則是:先計算表達式x的值,若x為真,則整個三目運算的結(jié)果是表達式y(tǒng)的值;若x為假,則整個三目運算的結(jié)果是表達式z的值。 下面的例子
54、實現(xiàn)了從兩個數(shù)中找出較大的數(shù)的功能。 int a=3,b=4; int max=a>b?a:b;三目條件運算是可以嵌套的,如有以下的語句,則max表示的是a、b、c三個數(shù)中的最大值,其值為5。 int a=3,b=4,c=5; int max=(a>b ? a:b)>c ? (a>b?a:b):c;,4.2 JSP聲明,1、格式:例如:2、 JS
55、P表達式和程序段Jsp表達式的語法形式:例如:數(shù)值為:Jsp程序段包含在之間的有效程序段。具體形式: 例如:,4.3.1結(jié)構(gòu)化程序設(shè)計的三種基本流程 1.自頂向下 2.逐步求精 3.模塊化 除了以上的原則,結(jié)構(gòu)化程序設(shè)計還有一個重要的規(guī)定,那就是只能使用“順序結(jié)構(gòu)”、“選擇結(jié)構(gòu)”、“循環(huán)結(jié)構(gòu)”這三種基本結(jié)構(gòu)(或由它們派生出來的結(jié)構(gòu))來定義程序的流程。
56、三種基本流程控制結(jié)構(gòu)示意圖分別如圖3-1所示。,4.3 JSP流程控制語句,4.3.2 選擇結(jié)構(gòu) 選擇結(jié)構(gòu)又稱為分支結(jié)構(gòu),是在兩種或兩種以上的多條執(zhí)行路徑中選擇一條執(zhí)行的控制結(jié)構(gòu)。1.if—else語句 if(條件表達式) { 語句組1;} else { 語句組2; },在if—else語句中,else部分是選擇性的。經(jīng)常可以看到只有if語句,而沒有else語句的情況。在這種情況下,當(dāng)
57、測試條件為假時如不需做任何事,else部分可被省略。這時,其語法形式如下:if(條件表達式) { 語句組;}思考:求3個數(shù)中的最大者?,2.switch語句 switch語句(又稱開關(guān)語句)是和case語句一起使用的,其功能是根據(jù)某個表達式的值在多個case引導(dǎo)的多個分支語句中選擇一個來執(zhí)行。它的一般格式如下:switch(表達式) { case 判斷值1:語句塊1
58、 case 判斷值2:語句塊2…… case 判斷值n:語句塊n default:語句塊n+1 },switch后面括號中表達式的值必須是符合byte,char,short,int類型的常量表達式,而不能用浮點類型或long類型,也不能為一個字符串。 一個switch語句可以代替多個if—else語句組成的分支結(jié)構(gòu),而switch語句從思路上顯得更清晰。
59、 float a=9,b=3,result=0; char op='+'; switch(op) { case '+':result=a+b; case '-': result=a-b; case '*':result=a*b; case '/':
60、result=a/b; default:result=0; } out.println("result="+result);,4.3.3 循環(huán)結(jié)構(gòu) 循環(huán)結(jié)構(gòu)是程序中一種重要的基本結(jié)構(gòu),是指在一定的條件下反復(fù)執(zhí)行某段程序,被反復(fù)執(zhí)行的這段程序稱為“循環(huán)體”。 Java中有三種語句來實現(xiàn)循環(huán)結(jié)構(gòu),分別是while,do-while和for語句。,1.while語句while
61、語句的格式如下: while(條件表達式) { 循環(huán)體語句; }例:用while語句計算10! int n=10;long result=1;while(n>=1) result*=n--; //改寫該語句?out.println("10!="+result);,2.do-while語句 do-while語句的格式如下:
62、 do { 循環(huán)體語句; }while(條件表達式) 例:用do-while語句計算10的階乘 int n=10;long result=1;doresult*=n--;while(n>=1);System.out.println("10!="+result);,3.for語句 for(表達式1;表達式2;表達式3)
63、{ 循環(huán)體語句; }for語句的執(zhí)行過程:(1)在循環(huán)剛開始時,先計算表達式1。(2)根據(jù)表達式2的值來決定是否執(zhí)行循環(huán)體。表達式2是一個返回布爾值的表達式,若該值為假,將不執(zhí)行循環(huán)體,并退出循環(huán);若該值為真,將執(zhí)行循環(huán)體。(3)執(zhí)行完一次循環(huán)體后,計算表達式3。(4)轉(zhuǎn)入第(2)步繼續(xù)執(zhí)行。,例1:int n;long result;for(n=10,result=1;n&g
64、t;0;n--)result*=n;out.println("10!="+result);例2: for (i=0; i<2; i++) for(j=0; j<2; j++) for(k=0; k<2; k++) { out.print(i+" &
65、quot;+j+" "+k); out.println(); },4.3.4 跳轉(zhuǎn)語句跳轉(zhuǎn)語句用來實現(xiàn)循環(huán)執(zhí)行過程中的流程轉(zhuǎn)移。有兩種跳轉(zhuǎn)語句:break語句和continue語句。其中,break用于強行退出循環(huán),不執(zhí)行循環(huán)中剩余的語句。而continue則停止執(zhí)行當(dāng)前的循環(huán),開始新的循環(huán)。int n;for(n
66、=1;n<=10;n++) { if (n%2==0) break; //修改為continue結(jié)果如何? out.println("n="+n); },4.3.5 異常處理語句當(dāng)發(fā)生例外時,采用異常處理機制。Java采用try-catch-finally結(jié)構(gòu)處理錯誤。 try-catch的實際意思是:嘗試這塊可能導(dǎo)致異常的代碼。如果它執(zhí)行正常,那么繼續(xù)執(zhí)行下面的程序。如果該代碼無法執(zhí)行,捕獲
67、該異常并對它進行處理?;拘问剑簍ry { //程序塊} catch(ExceptionType e){ //對ExceptionType的處理},例如: try { File cf=new File(“c:/incfiles/counter.txt"); …} catch (Exception e) { out.println(“無法找到文件!"); }假
68、定在你的代碼中有一些動作,不管發(fā)生什么情況,無論異常是否被拋出,你都必須執(zhí)行這些操作。則需要使用finally子句。,例如:try { readTextfile();} catch (IOException e) { out.println(”該文件不存在!”);} finally { closeTextfile();}總結(jié)一下try-catch-finally結(jié)構(gòu)的形式:try { //程序塊} ca
69、tch(ExceptionType e) { //對ExceptionType的處理 } finally { //必須處理的程序語句},4.4 結(jié)合使用JSP和HTML,JSP程序中除了普通HTML代碼外,還可以嵌入Java程序代碼,二者可以混合使用。例如:示例數(shù)值為:思考:如何利用JSP語句輸出斜體的“武漢科技學(xué)院”?,思考與練習(xí): 1.JSP注釋與HTML注釋的差異?2.JSP中如何
70、輸出HTML標(biāo)記? 3. 試說明異常機制?,第五章 JSP的頁面元素5.1 JSP指令5.2 JSP動作語法,5.1 JSP指令1. Page指令,“Page”指令用于定義JSP文件中的全局屬性。<%@ page [ language="java" ] [import="{package.class | package.*},..." ] [ session="tr
71、ue | false" ] [ buffer="none | 8kb | sizekb" ] [ contentType=" charset=characterSet| "text/html ; charset=ISO-8859-1" ] [ isErrorPage="true | false" ],武漢科技學(xué)院畢業(yè)生就
72、業(yè)指導(dǎo)服務(wù)中心…,特別說明:頁面緩存,緩存是一種用于提高系統(tǒng)性能節(jié)省操作時間的技術(shù),數(shù)據(jù)庫產(chǎn)品利用它可以提高系統(tǒng)的吞吐率,服務(wù)器利用它可以提高性能。緩存是將響應(yīng)內(nèi)容臨時保存在服務(wù)器的內(nèi)存中,然后在請求處理完畢之后發(fā)回給所調(diào)用的瀏覽器。在Web應(yīng)用程序中,提高系統(tǒng)性能最有效的手段是在需要時緩存頁面的輸出。 在JSP頁面最好使用輸出緩存功能。緩存設(shè)置方法:采用JSP標(biāo)記通常情況下,默認(rèn)緩存大小為8KB。緩存設(shè)置格式:
73、在大多數(shù)Web應(yīng)用程序中,緩存大小至少應(yīng)為32kb,犧牲這么一點額外的內(nèi)存是很值得的。,2.include指令,include:向當(dāng)前頁中插入一個靜態(tài)文件的內(nèi)容。格式如下:,示例:武漢科技學(xué)院畢業(yè)生就業(yè)指導(dǎo)服務(wù)中心,3. taglib指令,JSP語法 用于引入定制標(biāo)簽庫,taglib指令,屬性1.uri="URIToTagLibrary" Uniform Resourc
74、e Identifier (URI)根據(jù)標(biāo)簽的前綴對自定義的標(biāo)簽進行唯一的命名,URI可以是以下的內(nèi)容:Uniform Resource Locator (URL), 由 RFC 2396 定義, 可以從以下位置查看 (http://www.hut.fi/u /jkorpela/rfc/2396/full.html)。 Uniform Resource Name (URN), 由 RFC 2396定義 一個相對或絕對的路
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- jsp程序設(shè)計教程
- 《jsp程序設(shè)計》實驗指導(dǎo)
- jsp程序設(shè)計基于jsp新聞發(fā)布系統(tǒng)
- jsp程序設(shè)計期末大作業(yè)
- jsp程序設(shè)計習(xí)題解答(2)
- jsp_web_程序設(shè)計課程設(shè)計
- jsp程序設(shè)計考試試題與答案
- oracle在超市管理系統(tǒng)中的應(yīng)用(jsp程序設(shè)計)
- vb程序設(shè)計例題-程序改錯程序填空程序設(shè)計
- jsp程序設(shè)計圖書館管理系統(tǒng)課程設(shè)計報告(圖)
- 程序設(shè)計教案 程序設(shè)計——數(shù)據(jù)結(jié)構(gòu)
- 最簡單的c程序設(shè)計――順序程序設(shè)計
- 自動程序設(shè)計
- 894程序設(shè)計
- 程序設(shè)計實習(xí)
- android程序設(shè)計
- 程序設(shè)計類
- java程序設(shè)計
- 5132程序設(shè)計
- 計算機程序設(shè)計基礎(chǔ)vb語言程序設(shè)計
評論
0/150
提交評論