版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
JSP基本語(yǔ)法回顧頁(yè)面?zhèn)髦导夹g(shù)URL傳遞參數(shù)隱藏表單域Cookie對(duì)象HttpSession對(duì)象了解和使用HttpSession對(duì)象目標(biāo)JSP的概念以及組成JSP的執(zhí)行原理JSP頁(yè)面組成部分表達(dá)式JSPScriplet使用JSP各指令進(jìn)行JSP編程JSP概念JSP是JavaServerPages的簡(jiǎn)稱(chēng),是服務(wù)器端的一種基于Java語(yǔ)言的網(wǎng)頁(yè)技術(shù),所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶(hù)端的僅是得到的結(jié)果,與客戶(hù)端的瀏覽器無(wú)關(guān)在傳統(tǒng)的網(wǎng)頁(yè)中加入Java代碼和JSP標(biāo)簽之后放在服務(wù)器端運(yùn)行,再將運(yùn)行的結(jié)果向用戶(hù)發(fā)布,用戶(hù)通過(guò)瀏覽器就能夠看到精彩紛呈的網(wǎng)頁(yè)了HTML+Java程序片段+JSP標(biāo)記=JSP網(wǎng)頁(yè)JSP網(wǎng)頁(yè)的運(yùn)行原理容器在遇到JSP網(wǎng)頁(yè)的請(qǐng)求時(shí),首先執(zhí)行其中的Java代碼,通過(guò)這些Java代碼可以操作數(shù)據(jù)庫(kù)、發(fā)送Email、傳輸數(shù)據(jù)信息以及轉(zhuǎn)到另外的網(wǎng)頁(yè)等。然后服務(wù)器將執(zhí)行完代碼后所產(chǎn)生的結(jié)果封裝到原HTML網(wǎng)頁(yè)中,以HTML的格式返回給用戶(hù)JSP響應(yīng)請(qǐng)求ClientServer查找對(duì)應(yīng)的JSP文件是否存在YN是否是修改或創(chuàng)建后第一次調(diào)用Y調(diào)用JspParser將其編譯成Servlet程序調(diào)用JSDK將對(duì)應(yīng)的Servlet程序編譯成Servlet字節(jié)碼執(zhí)行(若未載入則先載入)已有的對(duì)應(yīng)的Java字節(jié)碼NJSP執(zhí)行過(guò)程輸出到客服端JSP與Servlet的對(duì)比<%@pageimport="java.util.*"%><%@pagecontentType="text/html;charset=gb2312"%><HTML><BODY>
你好,今天是
<%Datetoday=newDate();%><%=today.getDate()%>號(hào),星期<%=today.getDay()%></BODY></HTML>importjava.util.*;response.setContentType("text/html;charset=gb2312");out=pageContext.getOut();out.write(“\r\n\r\n<HTML>\r\n<BODY>\r\n你好,今天是\r\n");Datetoday=newDate();out.print(today.getDate());out.write("號(hào),星期");out.print(today.getDay());out.write("\r\n</BODY>\r\n</HTML>\r\n");JSP文件Servlet文件JSP轉(zhuǎn)譯成Servlet后的幾個(gè)方法jspInit()在JSP頁(yè)面初始化時(shí)被調(diào)用??梢愿采w該方法,以提供任何的初始化工作jspDestroy()在JSP頁(yè)面被銷(xiāo)毀時(shí)調(diào)用??梢愿采w該方法,以提供任何的JSP清楚工作jspService()由容器自動(dòng)定義,不應(yīng)當(dāng)提供該方法的實(shí)現(xiàn)大家看看上面的方法是不是有似曾相識(shí)的感覺(jué)?JSP頁(yè)面內(nèi)容JSP頁(yè)面的內(nèi)容靜態(tài)內(nèi)容指令表達(dá)式Scriptlet<%Java代碼%><%=Java表達(dá)式%>HTML靜態(tài)文本以“<%@”開(kāi)始,以“%>”結(jié)束。比如:<%@includefile="
Filename"%>聲明動(dòng)作<%!函數(shù)或方法%>以“<jsp:動(dòng)作名”開(kāi)始,以“</jsp:動(dòng)作名>”結(jié)束比如:<jsp:includepage="Filename"/>注釋<!--這是注釋,但客戶(hù)端可以查看到--><%--這也是注釋,但客戶(hù)端不能查看到--%>JSP元素JSP腳本元素指令元素動(dòng)作元素JSP元素JSP腳本元素JSP腳本元素包括:共同特點(diǎn)是:都是用一對(duì)<%%>的符合封裝所構(gòu)成JSP腳本元素注釋表達(dá)式聲明Scriptlet
JSP腳本元素之表達(dá)式表達(dá)式的概念表達(dá)式是對(duì)數(shù)據(jù)的表示,在請(qǐng)求處理時(shí)計(jì)算這些表達(dá)式,計(jì)算的結(jié)果將被轉(zhuǎn)換為字符串,插入到當(dāng)前的輸出流中,然后顯示出來(lái)表達(dá)式在JSP頁(yè)面中的表現(xiàn)形式
<%=Java表達(dá)式%>JSP腳本元素之表達(dá)式<body><h1>JSP表達(dá)式</h1><b>PI的值:</b><%=Math.PI%><br><b>100,99中最大的值:</b><%=Math.max(100,99)%><br><b>100,99中最小的值:</b><%=Math.min(100,99)%><br><b>3+2-5的值:</b><%=3+2-5%><br><b>(3+2)==5的值:</b><%=(3+2)==5%><br><b>(3+2)!=5的值:</b><%=(3+2)!=5%><br></body>
使用JSP表達(dá)式進(jìn)行JSP編程JSP腳本元素之ScriptletJSP腳本概念
JSP腳本就是在JSP頁(yè)面里嵌入一段Java代碼JSPScriptlet在JSP頁(yè)面中的表現(xiàn)形式
<%Java代碼%>JSP腳本元素之Scriptlet2-2<body><h1>以直角三角形的形式顯示數(shù)字
</h1><%for(inti=1;i<10;i++){for(intj=1;j<=i;j++){out.println(j);}out.println("<br/>");}%></body>使用JSPScriptlet進(jìn)行JSP編程JSP腳本元素之聲明2-1JSP聲明的概念JSP聲明用于在JSP頁(yè)面的腳本語(yǔ)言中使用的變量和方法。聲明不會(huì)在當(dāng)前的輸出流中產(chǎn)生任何的輸出,聲明只在當(dāng)前的JSP頁(yè)面中有效。JSP聲明在JSP頁(yè)面中的表現(xiàn)形式
<%!Java代碼%>小作業(yè)使用JSP聲明進(jìn)行JSP編程需求:某系統(tǒng)計(jì)算的金額中有兩種形式,一種是帶有兩位小數(shù)的,另一種是整數(shù),現(xiàn)在要求你在JSP頁(yè)面將不帶小數(shù)的金額轉(zhuǎn)換為帶兩位小數(shù)的金額。分析:
1、利用JSP聲明,聲明一個(gè)方法,將整數(shù)轉(zhuǎn)換為兩位小數(shù)
2、利用JSPScriptlet調(diào)用聲明的方法,轉(zhuǎn)換金額
2、在JSP頁(yè)面利用表達(dá)式將轉(zhuǎn)換后的金額顯示出來(lái)JSP注釋JSP標(biāo)準(zhǔn)注釋 語(yǔ)法形式為<%--comment--%> JSP容器將完全忽略這種注釋利用java語(yǔ)言本身的注釋 注釋的內(nèi)容在網(wǎng)頁(yè)發(fā)布時(shí)也被完全忽略HTML的注釋 語(yǔ)法形式為<!--comment[<%=express%>]-->
在HTML注釋中,可以包含動(dòng)態(tài)的內(nèi)容,這些動(dòng)態(tài)的內(nèi)容將被JSP容器處理,然后將處理的結(jié)果作為注釋的一部分JSP指令JSP指令pageincludetaglibJSP指令的語(yǔ)法為:
<%@
指令名稱(chēng)屬性1="屬性值1"屬性2="屬性值2"…屬性n="屬性值n"%>JSP指令并不向客戶(hù)端產(chǎn)生任何輸出,主要用于為轉(zhuǎn)換階段提供整個(gè)JSP頁(yè)面的相關(guān)信息。所有的指令只在當(dāng)前的JSP頁(yè)面中有效。JSP指令包括:JSP指令之page指令3-1page指令用于設(shè)置JSP頁(yè)面的屬性,這個(gè)屬性將被用于和容器通信<%@page%>指令作用于整個(gè)JSP頁(yè)面,同樣包括靜態(tài)的包含文件。無(wú)論你把<%@page%>指令放在JSP的文件的哪個(gè)地方,它的作用范圍都是整個(gè)JSP頁(yè)面。JSP指令之page指令3-2[language=“java”]主要指定JSP容器要用什么語(yǔ)言來(lái)編譯JSP的元素[import=“{package.class|package.*},...”]JSP程序可以使用哪些包[session=“true|false”]是否支持session[buffer=“none|8kb|sizekb”]決定輸出流是否有緩沖區(qū)以及緩沖區(qū)的大小[autoFlush="true|false"]決定輸出流的緩沖區(qū)溢出時(shí)是否需要強(qiáng)制輸出緩沖區(qū)的內(nèi)容[info=“text”]設(shè)置這個(gè)JSP程序的信息,可以看作是對(duì)這個(gè)JSP的文本說(shuō)明,不會(huì)出現(xiàn)在客戶(hù)端的瀏覽器中,可以通過(guò)ServletContextgetServletInfo()得到JSP指令之page指令3-3[isThreadSafe="true|false"]JSP容器會(huì)自動(dòng)啟動(dòng)多個(gè)線(xiàn)程以響應(yīng)多個(gè)用戶(hù)對(duì)這個(gè)JSP程序的請(qǐng)求.如果該值被設(shè)置為false,那么JSP容器每次只能啟動(dòng)一個(gè)線(xiàn)程運(yùn)行這個(gè)JSP程序-該屬性不要再使用[errorPage=“relativeURL”]如果發(fā)生異常時(shí),網(wǎng)頁(yè)會(huì)被重新指向哪一個(gè)URL[contentType="mimeType[;charset=characterSet]這個(gè)屬性用于設(shè)定傳回網(wǎng)頁(yè)的文件格式和編碼方式缺省的為"text/html;charset=ISO-8859-1"[isErrorPage=“true|false”]表示此JSP頁(yè)面是否為處理異常的網(wǎng)頁(yè)JSP指令之include指令3-1用來(lái)在JSP文件被編譯時(shí)導(dǎo)入一個(gè)指定的文件,語(yǔ)法形式<%@includefile=”relativeURLspec”%>include指令告訴編譯器在編譯當(dāng)前的JSP程序時(shí),將由relativeURLspec所指定的外部文件代碼插入到include編譯指令所在的位置,并把它作為當(dāng)前JSP程序的一部分編譯.如果被嵌入文件在包含它們的主JSP程序被裝載到內(nèi)存之后被修改,那么主JSP程序連同被嵌入的文件將在下一次請(qǐng)求產(chǎn)生時(shí)被重新編譯.這個(gè)包含的過(guò)程是靜態(tài)的,而包含的文件可以是HTML文件、JSP頁(yè)面、文本文件或是一段java程序JSP指令之include指令3-1用來(lái)在JSP文件被編譯時(shí)導(dǎo)入一個(gè)指定的文件,語(yǔ)法形式<%@includefile=”relativeURLspec”%>include指令告訴編譯器在編譯當(dāng)前的JSP程序時(shí),將由relativeURLspec所指定的外部文件代碼插入到include編譯指令所在的位置,并把它作為當(dāng)前JSP程序的一部分編譯.如果被嵌入文件在包含它們的主JSP程序被裝載到內(nèi)存之后被修改,那么主JSP程序連同被嵌入的文件將在下一次請(qǐng)求產(chǎn)生時(shí)被重新編譯.這個(gè)包含的過(guò)程是靜態(tài)的,而包含的文件可以是HTML文件、JSP頁(yè)面、文本文件或是一段java程序<%@includefile=”relativeURLspec”%>注意要點(diǎn)包含文件中要避免使用<html>、<body>被包含的文件不能為一變量URL也不能在file所指定的文件名后接任何參數(shù)file所指的路徑必須是相對(duì)于此JSP網(wǎng)頁(yè)的路徑JSP指令之include指令3-2使用include指令進(jìn)行JSP編程<%@pagelanguage=“java”%><%@includefile=“head.jsp”%><html><head><title></title></head><body><br/><br/><h4align=“center”>你好,歡迎來(lái)到ICSS!</h4></body>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年高品質(zhì)衛(wèi)浴設(shè)備采購(gòu)及安裝服務(wù)合同3篇
- 2024年資產(chǎn)權(quán)屬變更協(xié)議樣本文本版B版
- 2025年度博物館文物清潔與保養(yǎng)合同范本3篇
- 2024年版再婚夫妻解除婚姻關(guān)系合同版B版
- 2024年網(wǎng)絡(luò)安全監(jiān)控合作協(xié)議
- 2024年自然人短期貸款協(xié)議3篇
- 2025年度承包魚(yú)塘養(yǎng)殖與科研合作合同3篇
- 2025年度廚師餐飲行業(yè)人才培養(yǎng)與合作合同3篇
- 2025年度出口退稅證明開(kāi)具與稅務(wù)籌劃合同3篇
- 2024版數(shù)據(jù)服務(wù)合同范本
- 托育機(jī)構(gòu)年度計(jì)劃
- 湖南省長(zhǎng)沙市中學(xué)雅培粹學(xué)校2025屆七年級(jí)數(shù)學(xué)第一學(xué)期期末調(diào)研模擬試題含解析
- 股權(quán)質(zhì)押登記授權(quán)委托書(shū)
- 混凝土采購(gòu)運(yùn)輸組織供應(yīng)、運(yùn)輸、售后服務(wù)方案
- 2024糖尿病酮癥酸中毒診斷和治療課件
- 審計(jì)職業(yè)生涯規(guī)劃書(shū)
- 2024-2029年中國(guó)脊柱側(cè)彎支具行業(yè)市場(chǎng)現(xiàn)狀分析及競(jìng)爭(zhēng)格局與投資發(fā)展研究報(bào)告
- 新媒體部門(mén)崗位配置人員架構(gòu)圖
- 認(rèn)識(shí)各種樂(lè)器
- 神農(nóng)架自然保護(hù)區(qū)森林生態(tài)系統(tǒng)服務(wù)價(jià)值評(píng)估
評(píng)論
0/150
提交評(píng)論