2JSP腳本和指令的使用綜述_第1頁(yè)
2JSP腳本和指令的使用綜述_第2頁(yè)
2JSP腳本和指令的使用綜述_第3頁(yè)
2JSP腳本和指令的使用綜述_第4頁(yè)
2JSP腳本和指令的使用綜述_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第2章JSP腳本和指令的使用2回顧JDBC是什么?主要作用是什么?JDBCAPI可以做什么?Statement接口有哪些常用的方法?PreparedStatement與Statement相比,具有什么優(yōu)勢(shì)?3本章目標(biāo)掌握J(rèn)SP頁(yè)面7大組成元素掌握J(rèn)SP頁(yè)面的執(zhí)行過程掌握page令指、include指令的常用屬性掌握J(rèn)SP三種腳本元素的用法4為何需要JSPJSP工作流程5<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%><%@pageimport="java.text.SimpleDateFormat"%><html><head><title>動(dòng)態(tài)輸出服務(wù)器端當(dāng)前日期</title></head><body>hello呀!服務(wù)器端當(dāng)前日期是:

<%SimpleDateFormatsdf=newSimpleDateFormat("yyyy年MM月dd日");StringcurrentDate=sdf.format(newDate());%><%=currentDate%></body></html>為何需要JSP如何在網(wǎng)頁(yè)上動(dòng)態(tài)輸出服務(wù)器端當(dāng)前日期?運(yùn)行結(jié)果6JSP(JavaServerPages)是指:在HTML中嵌入Java腳本語(yǔ)言(內(nèi)嵌Java代碼)由應(yīng)用服務(wù)器中的JSP引擎來編譯和執(zhí)行嵌入的Java腳本語(yǔ)言命令然后將生成的整個(gè)頁(yè)面信息返回給客戶端JSP頁(yè)面Java腳本語(yǔ)言1234客戶端應(yīng)用服務(wù)器數(shù)據(jù)庫(kù)服務(wù)器編譯、執(zhí)行嵌入返回頁(yè)面信息7JSP頁(yè)面的7大元素靜態(tài)內(nèi)容指令表達(dá)式小腳本<%Java代碼%><%=Java表達(dá)式%>HTML靜態(tài)文本以“<%@”開始,以“%>”結(jié)束。比如:<%@includefile="

Filename"%>聲明

標(biāo)準(zhǔn)動(dòng)作<%!方法%>以“<jsp:動(dòng)作名>”開始,以“</jsp:動(dòng)作名>”結(jié)束比如:<jsp:includepage="Filename"/>注釋<!--這是注釋,但客戶端可以查看到--><%--這也是注釋,但客戶端不能查看到--%>8<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%><%@pageimport="java.text.SimpleDateFormat"%><html><head><title>動(dòng)態(tài)輸出服務(wù)器端當(dāng)前日期</title></head><!--這是客戶端查看源代碼能夠看到的注釋,叫做HTML注釋--><%--這是客戶端查看源代碼看不到的注釋,叫做JSP注釋--%><body>hello呀!服務(wù)器端當(dāng)前日期是:

<%SimpleDateFormatsdf=newSimpleDateFormat("yyyy年MM月dd日");StringcurrentDate=sdf.format(newDate());%><%=currentDate%></body></html>指令靜態(tài)內(nèi)容小腳本表達(dá)式注釋JSP頁(yè)面的構(gòu)成元素9在瀏覽器上觀看運(yùn)行結(jié)果查看網(wǎng)頁(yè)源文件通過源代碼查看到HTML注釋的內(nèi)容所有注釋內(nèi)容都不可見JSP頁(yè)面的構(gòu)成元素10兩種類型的注釋:HTML的注釋方法:<!--html注釋-->JSP注釋標(biāo)記:<%--JSP注釋--%>缺點(diǎn):不安全,加大網(wǎng)絡(luò)傳輸負(fù)擔(dān)JSP頁(yè)面的構(gòu)成元素11開發(fā)JSP應(yīng)用創(chuàng)建Web項(xiàng)目開發(fā)步驟設(shè)計(jì)Web應(yīng)用的目錄結(jié)構(gòu)編寫代碼

(創(chuàng)建JSP)

部署、運(yùn)行本章將從這里開始,帶領(lǐng)大家創(chuàng)建小型電影DVD在線銷售系統(tǒng)的JSP頁(yè)面請(qǐng)說明開發(fā)Web應(yīng)用的幾個(gè)步驟12設(shè)計(jì)Web項(xiàng)目的目錄結(jié)構(gòu):創(chuàng)建目錄jsp:存放JSP頁(yè)面創(chuàng)建目錄CSS:存放樣式表文件創(chuàng)建目錄images:存放圖片開發(fā)JSP應(yīng)用13有中文,必須把字符集設(shè)置正確,頭部加上如下代碼:<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>或者<%@pagelanguage="java"import="java.util.*"contentType="text/html;charset=UTF-8"%>14如何設(shè)置歡迎頁(yè)面歡迎頁(yè)面,就是web應(yīng)用的默認(rèn)訪問頁(yè)面在配置文件web.xml中設(shè)置歡迎頁(yè)面<web-app><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list></web-app>輸入http://localhost:8080/movies,web容器默認(rèn)調(diào)用index.jsp15JSP頁(yè)面3執(zhí)行2轉(zhuǎn)譯編譯1Servlet請(qǐng)求響應(yīng)JSP執(zhí)行過程客戶端應(yīng)用服務(wù)器.java.classServlet代碼編譯后的字節(jié)碼文件JSP的執(zhí)行過程JSP文件執(zhí)行過程的三個(gè)關(guān)鍵階段16第一次請(qǐng)求后,生成的字節(jié)碼文件可重用注意:對(duì)JSP文件進(jìn)行了修改,重新轉(zhuǎn)譯和編譯為什么JSP頁(yè)面在第一次請(qǐng)求時(shí)比較慢?JSP的執(zhí)行過程.class第二次請(qǐng)求響應(yīng)客戶端應(yīng)用服務(wù)器執(zhí)行17為什么需要page指令在Java文件中,兩種方式引入類:使用import關(guān)鍵字使用完全限定的類名Java中,如何引入其它包中的類?JSP中,使用page指令的import屬性引入Java類文件。提問18<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%><%@page

import="java.text.SimpleDateFormat"

%><html><head><title>動(dòng)態(tài)輸出服務(wù)器端當(dāng)前日期</title></head><body>hello呀!服務(wù)器端當(dāng)前日期是:

<%SimpleDateFormatsdf=newSimpleDateFormat("yyyy年MM月dd日");StringcurrentDate=sdf.format(newDate());%><%=currentDate%></body></html>page指令示例page指令引入這個(gè)類了19什么是page指令page指令設(shè)置多個(gè)屬性來定義整個(gè)頁(yè)面的屬性語(yǔ)法:<%@page屬性1="屬性值1"…屬性n="屬性值n"%>屬性描述默認(rèn)值language指定JSP頁(yè)面使用的腳本語(yǔ)言javaimport通過該屬性來引用腳本語(yǔ)言中使用到的類文件無contentType用來指定響應(yīng)的HTTP內(nèi)容類型和JSP頁(yè)面響應(yīng)時(shí)的字符編碼方式text/html,ISO-8859-1pageEncoding用來指定JSP頁(yè)面所采用的編碼方式ISO-8859-120為什么需要include指令當(dāng)所有頁(yè)面的某些部分都相同時(shí),如何簡(jiǎn)化和重用?提問把重復(fù)的部分做成單獨(dú)的頁(yè)面,如top.jsp、left.jsp、bottom.jsp等等。屬于靜態(tài)插入,將當(dāng)前頁(yè)面和插入部分合并成一個(gè)新的JSP頁(yè)面。21<%@pagelanguage="java"pageEncoding="UTF-8"%><%@include

file="/jsp/top.jsp"%><html><head><title>include指令</title></head>

<body><br><h2align=“center”>你好!歡迎你!</h2></body></html>include指令示例通過include指令把top.jsp的內(nèi)容嵌入進(jìn)來

include指令只支持file屬性,指定要在轉(zhuǎn)譯時(shí)嵌入的文件。22JSP腳本元素JSP腳本元素小腳本(Scriptlet

)表達(dá)式聲明JSP腳本元素嵌入Java代碼,主要用來實(shí)現(xiàn)頁(yè)面的動(dòng)態(tài)內(nèi)容JSP腳本元素包括:23什么是JSP表達(dá)式JSP腳本元素-表達(dá)式(Expression)用于向頁(yè)面輸出信息語(yǔ)法:<%=變量或方法或Java表達(dá)式%><html><%out.println(30*20);%></html><html><%=30*20%></html>使用表達(dá)式顯示數(shù)據(jù)。12使用小腳本顯示數(shù)據(jù)24JSP表達(dá)式練習(xí)在頁(yè)面中輸出PI的值,1000,999中最大的值、最小的值,1+2-3的值,1+2==3的值,1+2!=3的值。

提示:java.lang.Math類提供了靜態(tài)方法max、min,分別用來求得兩數(shù)相比的最大值、兩數(shù)相比的最小值

演示:規(guī)范代碼試一試25<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%><%@pageimport="java.text.SimpleDateFormat"%><html><head><title>動(dòng)態(tài)輸出服務(wù)器端當(dāng)前日期</title></head><body>hello呀!服務(wù)器端當(dāng)前日期是:

<%SimpleDateFormatsdf=newSimpleDateFormat("yyyy年MM月dd日");StringcurrentDate=sdf.format(newDate());out.println(currentDate);%></body></html>Scriptlet(小腳本)在JSP中嵌入的Java代碼JSP頁(yè)面里嵌入一段Java代碼語(yǔ)法:<%Java代碼%>26Scriptlet練習(xí)編寫JSP小腳本實(shí)現(xiàn)如圖所示的效果,使用循環(huán)動(dòng)態(tài)生成表格的行和列演示:規(guī)范代碼試一試JSP腳本元素-JSP聲明定義Java方法或變量<%!Java變量或方法

%>27<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%><%@pageimport="java.text.SimpleDateFormat"%><%!//聲明一個(gè)常量publicstaticfinalStringSEPARATOR=".";//將整數(shù)金額自動(dòng)轉(zhuǎn)換為帶兩位小數(shù)的金額publicStringconvertMoney(Stringmoney){intindex=money.indexOf(SEPARATOR);StringstrMoney=null;if(index==-1){strMoney=money+".00";}returnstrMoney;}

%>……………在JSP中定義了金額轉(zhuǎn)換的方法,可以在多處調(diào)用。演示:規(guī)范代碼28腳本元素綜合應(yīng)用使用Scriptlet和JSP表達(dá)式完成《DVD在線銷售系統(tǒng)》的電影分類功能:逐條逐行顯示電影分類名稱29可以分解為如下幾個(gè)步驟:1、設(shè)計(jì)數(shù)據(jù)表結(jié)構(gòu)2、確定存儲(chǔ)對(duì)象:表:電影分類(Type)屬性:分類ID、分類名稱3、通過JDBC訪問數(shù)據(jù)庫(kù)創(chuàng)建類TypeDAOImpl查詢數(shù)據(jù)庫(kù),并返回Type對(duì)象的集合4、編寫JSP輸出電影分類JSP腳本元素綜合應(yīng)用30第一步:設(shè)計(jì)數(shù)據(jù)表結(jié)構(gòu),表名為type字段含義字段名稱數(shù)據(jù)類型大小備注和說明電影分類IDtypeIDint主鍵(0動(dòng)作、1喜劇、2愛情、3科幻、4恐怖、5劇情、6冒險(xiǎn)、7音樂、8驚險(xiǎn)、9傳記、10歷史、11其他)電影分類名稱typeNamevarchar20非空J(rèn)SP腳本元素綜合應(yīng)用31第二步:確定存儲(chǔ)對(duì)象1、創(chuàng)建類:Type(電影分類)2、包含屬性:電影分類ID、電影分類名稱JSP腳本元素綜合應(yīng)用package.systop.jspt04.entity;publicclassType{privateinttypeID;//電影分類IDprivateStringtypeName;//電影分類名稱

//屬性的getter、setter方法

……………}32第三步:通過JDBC訪問數(shù)據(jù)庫(kù)創(chuàng)建類:TypeDAOImpl編寫search方法:用來查詢數(shù)據(jù)庫(kù),并返回所有的電影分類JSP腳本元素綜合應(yīng)用33第四步:編寫showMoviesType.jsp調(diào)用TypeDAOImpl的方法search(),獲得電影分類集合遍歷該集合,使用JSP表達(dá)式輸出代碼片斷<%TypeDAOtypeDAO=newTypeDAOImpl;Listlist=typeDAO.search();//查詢電影分類列表

//循環(huán)遍歷電影分類列表

for(inti=0;i<list.size();i++){Typetype=(Type)list.get(i);%>

<imgsrc="images/arr.gif"> 

<ahref="#"class="menu">

<%=type.getTypeName()%>

</a><br><br>

<%

}%>表達(dá)式,輸出分類的名稱小腳本,負(fù)責(zé)方法調(diào)用、以及在循環(huán)中獲取數(shù)據(jù)JSP腳本元素綜合應(yīng)用34第五步:在首頁(yè)嵌入

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論