




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
JSP原理及基本指令什么是JSPJSP是以Java語言為基礎(chǔ)的動態(tài)網(wǎng)頁開發(fā)技術(shù)
問題:我們可以用Servlet技術(shù)可以實(shí)現(xiàn)
為什么還需要JSP?實(shí)現(xiàn)一個動態(tài)網(wǎng)頁
使其能顯示出目前時間,訪問人數(shù)功能publicclasseextendsHttpServlet{intnum=1;publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{response.setContentType("text/html;charset=ISO-8859-1");PrintWriterout=response.getWriter();Dated=newDate();out.println("<html>");out.println("<head><title>eServlet</title></head>");out.println("<body>");out.println("Todayis:"+newDate()+"<P>");out.println("Visitors:"+num);num++;out.println("</body></html>");out.close();用Servlet實(shí)現(xiàn)用JSP實(shí)現(xiàn)<%@pageimport="java.text.*,java.util.*"%><html><head><title>eJSP</title></head><%!intnum=1;%><body>Todayis:<%=newDate()%><p>Visitors:<%=num++%></body></html>用JSP開發(fā)方式寫動態(tài)網(wǎng)頁的優(yōu)勢網(wǎng)頁設(shè)計師可以利用FrontPage或DreamWeaver等設(shè)計工具快速建立HTML網(wǎng)頁基本框架,Java程序設(shè)計師可以在適當(dāng)位置“置入”Java程序代碼由于Java代碼包含在HTML中,當(dāng)網(wǎng)頁設(shè)計師想要修改網(wǎng)頁外觀(表示邏輯)時,只需對HTML標(biāo)簽進(jìn)行修改不會影響到Java程序代碼(業(yè)務(wù)邏輯).同理Java程序開發(fā)師修改程序時,也不會影響網(wǎng)頁的外觀JSP與Servlet重要區(qū)別Servlet是在Java代碼產(chǎn)生HTML輸出結(jié)果JSP是在HTML網(wǎng)頁中嵌入Java代碼JSP的布署ROOT夾JSP頁Html頁WEB-INF夾classes夾lib夾*.class類包(package)擴(kuò)展:JSP在J2EE的應(yīng)用JSP的運(yùn)行方式JSP是以Servlet形式由Servlet容器來運(yùn)行
JSP的生命周期方法
JspInit()方法
_JspService()方法
JspDestroy()方法HttpJspPage接口、JspPage接口與Serlvet接口的繼承關(guān)系圖<Interface>JspPagejspDestroy()jspinit()<Interface>HttpJspPage_jspService(HttpServletrequest,HttpServletResponse)<Interface>ServletInit()Service()Destroy()JSP生命周期的七個階段網(wǎng)頁解釋JSP編譯載入類建立Serlvet對象調(diào)用jspInit()方法調(diào)用_jspService()方法調(diào)用jspDestroy()方法JSP生命周期
e.jspe.java1.網(wǎng)頁解釋2.JSP編譯e.class3.載入Servlet4.建立Servlet實(shí)例5.調(diào)用JspInit()6.調(diào)_jspService()7.調(diào)用jspDestory()JSP的組成靜態(tài)網(wǎng)頁代碼HTML動態(tài)的Java代碼(必須包含在特定的標(biāo)簽中)
1.JSP標(biāo)準(zhǔn)指令
2.JSP程序代碼元素
3.JSP標(biāo)準(zhǔn)動作
4.標(biāo)簽庫JSP的標(biāo)準(zhǔn)指令標(biāo)準(zhǔn)指令用來設(shè)定JSP網(wǎng)頁的整體配置信息
JSP中的全局變量,聲明類,要實(shí)現(xiàn)的方法和輸出內(nèi)容的類型等特點(diǎn):
它們并不向客戶端產(chǎn)生任何輸出,所有的指令在JSP整個文件范圍內(nèi)有效
為編譯譯階段提供了全局信息語法:
<%@標(biāo)準(zhǔn)指令(與其屬性)%>
<%@directivename
attribute=“value”
attribute=“value”
%>三種標(biāo)準(zhǔn)指令JSP標(biāo)準(zhǔn)指令用途范例Page設(shè)定JSP整體信息<%@pageimport=“java.util.*”%>Include在JSP內(nèi)包含其他JSP內(nèi)容(靜態(tài)include)<%@includefile=“l(fā)eftframe.html”%>Taglib在JSP內(nèi)使用“自定義標(biāo)簽”<%@taglibprefix=“c”uri=“taglib.tld”%>JSP程序代碼元素聲明標(biāo)簽(DeclaractionTag)腳本標(biāo)簽(ScriptleTag)表達(dá)式標(biāo)簽(ExpressonTag)注釋標(biāo)簽(CommnetsTag)在JSP內(nèi)編寫Java代碼的四種標(biāo)簽標(biāo)簽語法用途聲明標(biāo)簽<%!變量或方法聲明%>聲明JSP內(nèi)所使用的變量或方法程序代碼標(biāo)簽<%程序代碼%>編寫任何Java程序代碼表達(dá)式標(biāo)簽<%=表達(dá)式%>編寫任何Java表達(dá)式注解標(biāo)簽<%--注解內(nèi)容--%>編寫JSP的注解文字聲明標(biāo)簽<%!intc=0;%><%!public
static
final
doubleRTAE=2.0;%><%!Dated=newDate();%><%!publicStringmethod1;%>程序腳本標(biāo)簽<%booleanresult=true;%>
<%if(result==true){
結(jié)果為true;
}else{
結(jié)果為false;}
%>測試<html><body><%for(inti=0;i<3;i++){%>
out.print(i*2);
<%}%></body></html>運(yùn)行結(jié)果是:A:此JSP語法錯誤,無法運(yùn)行
B:顯示出0,2,4
C:顯示出0,2,4,6
D:顯示出out.print(i*2)三次<html><body><%for(inti=0;i<3;i++)
{
out.print(i*2);
}
%></body></html>表達(dá)式標(biāo)簽<%Datad=newDate();%>
今天的日期是:<%=DataFormat.getDataTimeInstance.format(d)%><p>
您是第<%=num++%>位訪客測試<html><body>
<%!intj=0;%>
<%j=4;%>
j=<%=++j%>
</body></html>A:顯示出“j=0”
B:顯示出“j=1”C:顯示出“j=4”D:顯示出“j=5”
E:語法錯誤,這個JSP無法運(yùn)行
注釋標(biāo)簽JSP注解<%----%>Java注解///**/HTML注解<!---->JSP注解<%--這是JSP注解--%>
當(dāng)JSP編譯成Servlet時,<%--與--%>標(biāo)簽的內(nèi)容會被忽略,所以注解文字只會顯示在JSP中,不會出現(xiàn)在編譯后的Servlet類中Java注解<%//這是Java注解%><%/*這也是Java注解*/%>
由于<%%>標(biāo)簽的內(nèi)容會被視為Java程序代碼,所以使用這種方式編寫的注解文字會包含在編譯后Servlet類中HTML注解<!--這是HTML注解-->例子<%@pagecontentType=“text/html;charset=gb2312”%>
<title>在JSP內(nèi)可以使用的三種注解</title>
<body>
<!--這是HTML注解-->
<%--這是JSP注解--%>
<%//這是Java注解%>
<%/*這也是Java注解*/>
</body>
</html>運(yùn)行后,在IE中查看源代碼JSP標(biāo)準(zhǔn)動作元素JSP的”標(biāo)準(zhǔn)動作“元素是JSP規(guī)范所定義的一種XML標(biāo)簽,用來運(yùn)行特定的動作
優(yōu)點(diǎn):可以減少JSP所包含的程序代碼
語法:<jsp:動作項(xiàng)目屬性1=屬性值1”><jsp:userBean>
<jsp:setProerty>
<jsp:getProerty><jsp:include>
<jsp:forward>
<jsp:param>
<jsp:plugin>
<jsp:text><jsp:forward>jsp:forward是把一個請求轉(zhuǎn)發(fā)到另一個JSP、Servlet或者其他的靜態(tài)資源(HTML)
特點(diǎn):被forward轉(zhuǎn)發(fā)的資源必須與發(fā)出
請求的頁面處于相同的上下文環(huán)
境中,每當(dāng)遇到此標(biāo)簽時,容器就
會停止執(zhí)行當(dāng)前的JSP,轉(zhuǎn)而執(zhí)行
被轉(zhuǎn)發(fā)的資源<jsp:forwardpage=“/login.jsp”><jsp:paramname=“userID”value=“JQ”/><jsp:paramname=“password”value=“*”/></jsp:forward>例子Jsp:forward操作典型的使用就是登錄,如進(jìn)行權(quán)限驗(yàn)證的頁面,當(dāng)驗(yàn)證通過后,
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度金融行業(yè)競業(yè)禁止協(xié)議補(bǔ)償金計算細(xì)則
- 二零二五年度精裝修房屋租賃協(xié)議書
- 二零二五年度主合同與從合同在新能源汽車產(chǎn)業(yè)鏈中的協(xié)同發(fā)展及風(fēng)險共擔(dān)協(xié)議
- 二零二五年度文化產(chǎn)業(yè)股權(quán)投資合同協(xié)議
- 2025年度苗木種植與生態(tài)農(nóng)業(yè)開發(fā)協(xié)議
- 初中家長會學(xué)生代表發(fā)言稿
- 2025年林芝貨運(yùn)從業(yè)資格證在哪里練題
- 2025年鶴崗道路貨運(yùn)駕駛員從業(yè)資格考試題庫
- 掛職鍛煉發(fā)言稿
- 網(wǎng)站設(shè)計與開發(fā)合同
- 社區(qū)獲得性肺炎臨床路徑
- 產(chǎn)品品質(zhì)檢驗(yàn)流程標(biāo)準(zhǔn)規(guī)范模板()
- DB12-595-2015醫(yī)院安全防范系統(tǒng)技術(shù)規(guī)范
- 五年級下冊英語課件-Unit 2 My favourite season B Let's learn 人教PEP版(共15張PPT)
- GB∕T 7260.40-2020 不間斷電源系統(tǒng) UPS 第4部分:環(huán)境 要求及報告
- 高邊坡施工危險源辨識及分析
- 水廠項(xiàng)目基于BIM技術(shù)全生命周期解決方案-城市智慧水務(wù)講座課件
- 幼兒園繪本:《閃閃的紅星》 紅色故事
- 三年級學(xué)而思奧數(shù)講義.doc
- 劉姥姥進(jìn)大觀園課本劇劇本3篇
- 產(chǎn)品承認(rèn)書客(精)
評論
0/150
提交評論