JSP與Servlet技術(shù)

JSP與Servlet技術(shù)

ID:40402769

大?。?.03 MB

頁(yè)數(shù):56頁(yè)

時(shí)間:2019-08-01

JSP與Servlet技術(shù)_第1頁(yè)
JSP與Servlet技術(shù)_第2頁(yè)
JSP與Servlet技術(shù)_第3頁(yè)
JSP與Servlet技術(shù)_第4頁(yè)
JSP與Servlet技術(shù)_第5頁(yè)
資源描述:

《JSP與Servlet技術(shù)》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、第12章JSP與Servlet技術(shù)主要內(nèi)容12.1JSP簡(jiǎn)介12.2JSP頁(yè)面元素12.3JSP內(nèi)置對(duì)象12.4Servlet12.5ServletAPI接口12.6開(kāi)發(fā)Servlet12.1JSP概念Java服務(wù)器頁(yè)面(JavaServerPage,JSP)以擴(kuò)展名.jsp保存在JavaServerPage里面使用Java編程語(yǔ)言和基礎(chǔ)類(lèi)庫(kù)HTML用于表示頁(yè)面,而Java代碼用于訪(fǎng)問(wèn)動(dòng)態(tài)內(nèi)容,并有效控制動(dòng)態(tài)內(nèi)容的生成JSP概念簡(jiǎn)單jsp頁(yè)面舉例:<%@pagelanguage="java"import="java.util.*

2、"pageEncoding="GBK"%>avceit<%java.util.Datenow=newjava.util.Date();out.println("當(dāng)前時(shí)間是:"+now);%>

你好,這就是一個(gè)JSP頁(yè)面

JSP執(zhí)行過(guò)程TomcatJSP執(zhí)行過(guò)程Jsp容器管理jsp頁(yè)面生命周期,分為兩個(gè)階段:轉(zhuǎn)換階段和執(zhí)行階段轉(zhuǎn)換階段當(dāng)有一個(gè)對(duì)jsp頁(yè)面的請(qǐng)求到來(lái)時(shí),jsp容器

3、檢查jsp頁(yè)面的語(yǔ)法是否正確,將jsp頁(yè)面轉(zhuǎn)換為Servlet源文件,然后調(diào)用javac命令編譯Servlet源文件生成字節(jié)碼文件.執(zhí)行階段Servlet容器加載轉(zhuǎn)換后的Servlet類(lèi)主要內(nèi)容12.1JSP簡(jiǎn)介12.2JSP頁(yè)面元素12.3JSP內(nèi)置對(duì)象12.4Servlet12.5ServletAPI接口12.6開(kāi)發(fā)Servlet12.2JSP頁(yè)面元素靜態(tài)內(nèi)容指令表達(dá)式Scriptlet<%Java代碼%><%=Java表達(dá)式%>HTML靜態(tài)文本以“<%@”開(kāi)始,以“%>”結(jié)束。比如:<%@includefile="File

4、name"%>聲明動(dòng)作<%!函數(shù)或方法%>以“”結(jié)束比如:注釋<%--這也是注釋,但客戶(hù)端不能查看到--%>腳本元素包含三個(gè)部分:聲明,腳本段,表達(dá)式聲明:用于聲明在其它腳本元素中可以使用的變量和方法腳本段:是一段java代碼表達(dá)式:java語(yǔ)言中完整的表達(dá)式聲明聲明以<%!開(kāi)始,以%>結(jié)束<%!inti=0;%><%!publicvoidmethod(){}%>利用<%!%>聲明的

5、變量,在jsp容器將jsp轉(zhuǎn)換為servlet時(shí)將作為servlet類(lèi)的屬性,聲明的方法將成為servlet的方法腳本段在請(qǐng)求處理期間要執(zhí)行的java代碼段<%if(){}else{}%>在腳本段中可以聲明變量,并且在后面的腳本中可以使用該變量。容器轉(zhuǎn)換jsp頁(yè)面為servlet的時(shí)候,一次性被轉(zhuǎn)換為_(kāi)jspService()方法中的代碼表達(dá)式<%=表達(dá)式%>計(jì)算表達(dá)式的值插入到當(dāng)前流中<%=newjava.util.Date().toLocaleString()%>例:計(jì)數(shù)器<%@pagelanguage="java"impo

6、rt="java.util.*"pageEncoding="GB2312"%><%!inti=0;%><%i++;%>

您是第<%=i%>個(gè)訪(fǎng)問(wèn)本站的客戶(hù)
注意和以下代碼的區(qū)別:<%@pagelanguage="java"import="java.util.*"pageEncoding="GB2312"%><%inti=0;%><%++i;%>

您是第<%=i%>個(gè)訪(fǎng)問(wèn)本站的客戶(hù)
<

7、/body>分析:1、這兩個(gè)代碼唯一的區(qū)別是聲明變量i的方式不同,前者是成員變量,后者是局部變量。2、這個(gè)計(jì)數(shù)器有計(jì)數(shù)漏洞,有可能出現(xiàn)計(jì)數(shù)不同步的可能,原因是可能會(huì)有若干人同時(shí)訪(fǎng)問(wèn)i的值,這樣大家獲取的是同一個(gè)i值,與事實(shí)不符。解決的辦法是synchronized加鎖。聲明方法舉例<%@pagelanguage="java"import="java.util.*"pageEncoding="GBK"%><%--聲明一個(gè)方法countpeople()--%><%!in

8、tnumber=0;synchronizedvoidcountPeople(){number++;}%><%--調(diào)用countPeople()計(jì)算人數(shù)--%><%countPeople();%>

您是第<%=number%>個(gè)訪(fǎng)問(wèn)本站的客戶(hù)

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。