第單元基礎語法演示文稿_第1頁
第單元基礎語法演示文稿_第2頁
第單元基礎語法演示文稿_第3頁
第單元基礎語法演示文稿_第4頁
第單元基礎語法演示文稿_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

第單元基礎語法演示文稿本文檔共34頁;當前第1頁;編輯于星期二\21點5分優(yōu)選第單元基礎語法本文檔共34頁;當前第2頁;編輯于星期二\21點5分JSP與HTMLJava服務器頁面(JavaServerPage,JSP)JSP技術是純Java平臺的技術,在JSP頁面里面可使用Java編程語言和類庫。在HTML文檔(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP標簽,構成了JSP網(wǎng)頁(*.jsp)其中:HTML標簽用于表示頁面,而Java代碼用于產(chǎn)生動態(tài)網(wǎng)頁內(nèi)容本文檔共34頁;當前第3頁;編輯于星期二\21點5分JSP基本原理JSP執(zhí)行原理(分兩個階段):所有操作都在服務器端執(zhí)行,在網(wǎng)絡上傳給客戶端的僅是得到的結果,與瀏覽器無關。轉換階段:當一個對JSP面請求到來時,jsp容器檢查jsp頁面語法是否正確,將jsp轉換為Servlet源文件,再用javac命令編譯Servlet源文件生成字節(jié)碼文件。在JSP中的程序片段可以執(zhí)行動態(tài)頁面所需要的功能,如:操作數(shù)據(jù)庫、重新定向網(wǎng)頁以及發(fā)送E-Mail等等。執(zhí)行階段:Servlet容器加載并執(zhí)行轉換后的Servlet類,最后將執(zhí)行結果以HTML格式響應給客戶端。本文檔共34頁;當前第4頁;編輯于星期二\21點5分JSP執(zhí)行過程實例:本文檔共34頁;當前第5頁;編輯于星期二\21點5分JSP的本質(zhì)JSP是以Java和Servlet為基礎開發(fā)的動態(tài)網(wǎng)頁生成技術,它的底層實現(xiàn)是JavaServlet。關于JSP的效率:JSP頁面的轉譯、編譯工作在該頁面第一次被訪問時進行;JSP引擎在首次處理JSP請求時,用戶收到響應的時間可能較長;當處理后續(xù)用戶訪問時,JSP和Servlet的執(zhí)行速度是一樣的。本文檔共34頁;當前第6頁;編輯于星期二\21點5分JSP的基本構成JSP元素包括:注釋元素:用于注釋JSP頁面中的一些內(nèi)容;腳本元素:JSP頁面中嵌入的Java代碼,用于實現(xiàn)網(wǎng)頁的動態(tài)交互。指令元素:為JSP引擎設計,向JSP引擎發(fā)送消息,通知引擎如何處理其余JSP頁面。如:頁面使用的字符集、腳本使用語言等。動作元素:用于完成某些動作的標記,告訴Web容器去執(zhí)行某個"動作"。如:頁面轉發(fā)、參數(shù)傳遞等。本文檔共34頁;當前第7頁;編輯于星期二\21點5分JSP頁面的通用書寫規(guī)則1)JSP頁面中HTML標記不區(qū)分大小寫,JSP標記和頁面中嵌入的Java代碼區(qū)分大小寫;2)在JSP頁面中,雖然指令和腳本元素所擁有的語法不基于XML,但應采用XML語法格式書寫;3)在標記中出現(xiàn)的屬性值總是用引號括起來:使用單引號或雙引號;4)JSP使用的URL地址要遵循Servlet的慣例;5)在JSP文檔體中的文本中的空白符無關緊要(空白包括空格和空行);在標記中可以使用字符"\"(反斜杠)來作為換碼字符。本文檔共34頁;當前第8頁;編輯于星期二\21點5分JSP注釋元素HTML注釋:本質(zhì)就是html注釋,在客戶端html代碼中可以查看,且在HTML注釋中可嵌入其他JSP元素,并將被JSP引擎處理。語法:<!--注釋

-->隱藏注釋:JSP標準注釋,完全被JSP編譯忽略,在客戶端不存在。說明:包含在隱藏注釋中的所有內(nèi)容將被JSP編譯器忽略,返回給客戶端的html源代碼中不存在,隱藏注釋供程序員使用。語法:<%--注釋

--%>本文檔共34頁;當前第9頁;編輯于星期二\21點5分JSP腳本元素表達式:語法格式:<%=Java表達式%>作用:將表達式的值強制轉換成String類型,再輸出到網(wǎng)頁中;不能轉換則報錯。注意:不能用分號";"作表達式的結束符號。例如:<%=(newjava.util.Date())%>聲明:在JSP中定義符合Java語法的方法、變量和類格式:<%!變量、方法或類%>聲明的類:該頁面對應的Servlet類的內(nèi)部類;聲明的變量和方法:頁面對應Servlet類的成員變量和成員方法;聲明的變量、方法和類僅在所在頁面有效,并被其它部分共享;注意:成員變量可被多個線程(即多個用戶)共享。也就是說,其中任何一個線程對聲明的變量的修改,都會改變它們原來的狀態(tài)(值)。變量的生命周期從創(chuàng)建到服務器關閉后結束。可以一次聲明多個類變量和方法,但要以分號";"分隔和結尾。本文檔共34頁;當前第10頁;編輯于星期二\21點5分表達式、聲明使用示例本文檔共34頁;當前第11頁;編輯于星期二\21點5分腳本段(Scriptlet)在JSP文檔中嵌入的Java代碼片段(同一頁面可有多個段)語法:<%Java腳本段%>說明:轉譯JSP頁面時,腳本段將原樣嵌入到Servlet類的_jspService()方法中;在腳本段中定義的變量是_jspService()的局部變量;且是線程安全的,它們在JSP頁面內(nèi)所有代碼段和表達式中均有效。本文檔共34頁;當前第12頁;編輯于星期二\21點5分<%!、<%=和<%的比較變量聲明(<%!):定義Servlet類的成員變量和成員方法后面必須帶分號;所聲明的成員是類成員,不是線程安全的。代碼段(<%):其中的變量是局部變量,且不能聲明函數(shù)所含代碼要符合java要求(每條語句必須提有分號),所聲明變量是_jspService()方法的局部變量,是線程安全的。表達式(<%=):按String類型輸出java表達式的值,無分號本文檔共34頁;當前第13頁;編輯于星期二\21點5分轉義符JSP頁面中遇到有特殊用途字符時,應進行轉義;如右表:字符轉義描述'\'單引號字符"\"雙引號字符\\\反斜杠字符<<左尖括號>>右尖括號空格

空格本文檔共34頁;當前第14頁;編輯于星期二\21點5分JSP指令元素(Directive)JSP指令:表示向JSP容器傳遞信息,它不會產(chǎn)生輸出。JSP指令是針對JSP容器的,它將當前頁面的特殊處理信息傳送到JSP容器,告訴容器如何處理JSP網(wǎng)頁;因此,指令并不會直接產(chǎn)生任何可見的輸出。例如:網(wǎng)頁的編碼方式、是否為錯誤處理頁面等信息。一般格式:<%@

指令屬性1="值1"屬性2="值2"……屬性n="值n"%>常用的指令:指令名稱作用page定義JSP的全局屬性include主要用于將某文件包含到本網(wǎng)頁中taglib定義一個標簽庫以及其自定義標簽的前綴本文檔共34頁;當前第15頁;編輯于星期二\21點5分page指令page指令:作用于整個JSP頁面,定義了與頁面相關、用于和JSP容器通信的屬性。語法:<@page屬性1="值1"屬性2="值2"…%>說明:page指令可在JSP頁面的任何地方、以任何順序出現(xiàn),為便于閱讀最好放在JSP文件頭部;同一頁面中可有多個page指令,但相同屬性只能存在一次;import屬性可多次使用,因為import屬性和Java中的import語句相似。本文檔共34頁;當前第16頁;編輯于星期二\21點5分參考:page指令屬性本文檔共34頁;當前第17頁;編輯于星期二\21點5分page指令的注意事項import屬性:用來指定所要加載的非預設Java包或類JSP頁面自動引入以下4個包:java.servlet.*、java.lang.*、java.servlet.http.*、java.servlet.jsp.*。載入多個非預設包時,以逗號作分隔;如:<%@pageimport="java.util.*,java.io.*"%>contentType屬性:定義MIME類型和JSP網(wǎng)頁的編碼方式默認MIME類型是text/html,默認字符編碼為ISO-8859-1;經(jīng)常如下寫法,以使頁面中支持中文顯示:<%@pagecontentType=”text/html;charset=GBK”%>如下面將頁面以Excel表格的形式輸出:本文檔共34頁;當前第18頁;編輯于星期二\21點5分taglib指令功能:聲明該JSP文件所使用的自定義標簽,同時引用標簽庫,并指定了自定義標簽的前綴。格式:<%@taglib

uri="標記庫URI"prefix="前綴"%>屬性說明:uri:指定JSP在web.xml中查找的標簽庫描述符,它是標簽描述文件(*.tld)的映射;uri能是URL,URN(同一資源名),相對(或絕對)路徑。prefix:自定義標簽的前綴。注意:jsp,jspx,java,javax,servlet,sun和sunw等保留字不可作前綴。在一個頁面中多次使用taglib指令,但前綴只能使用一次。struts1.x標簽庫引用示例本文檔共34頁;當前第19頁;編輯于星期二\21點5分include指令功能:在JSP頁面中該指令出現(xiàn)的位置靜態(tài)插入一個文件語法:<%@includefile="被包含文件鏈接的URL"%>說明:所包含的文件可以是:html、jsp、文本文件,或一段Java代碼;文件的URL一般是相對路徑,不需端口、協(xié)議和域名;使用include指令的目的是為了減少代碼的冗余,可把不同頁面中代碼相同部分放在單獨的JSP文件中。注意:包含文件中不能再使用<html>、</html>、<body>、</body>標簽。否則,將與原來JSP中的標簽相互影響,會產(chǎn)生錯誤。include指令在翻譯階段執(zhí)行,引入的只是靜態(tài)文本,在JSP頁面被轉化成servlet之前和當前JSP文件融和到一起。在JSP中還提供了一種標準動作<jsp:include>,該動作在請求處理階段執(zhí)行,且引入的是執(zhí)行頁面或servlet生成的應答文本。本文檔共34頁;當前第20頁;編輯于星期二\21點5分小結JSP開發(fā)環(huán)境提供了使用服務器端Java編寫動態(tài)HTML頁面的一種方式。JSP的語法允許大部分HTML被直接編入,并由Java代碼段作為控制代碼。JSP指令包括在<%@和%>內(nèi)。JSP指令共有三種類型:page指令:用于設置JSP頁面的屬性;taglib指令:用于在JSP頁面中使用標簽;include指令:用于在JSP頁面嵌入其他文件它同時支持靜態(tài)和動態(tài)地包含其他資源。本文檔共34頁;當前第21頁;編輯于星期二\21點5分JSP動作元素本文檔共34頁;當前第22頁;編輯于星期二\21點5分Include指令的執(zhí)行過程當頁面首次被調(diào)用時,將其轉譯,遇include指令時指示JSP容器將B.jsp的內(nèi)容插入到include指令所在處,共同形成Servlet源文件。結論:在A.jsp已轉譯情況下,若dic_incB.jsp發(fā)生變化,一般不引發(fā)A.jsp的重新轉譯。原因:JSP引擎僅在監(jiān)視到A.jsp發(fā)生變化并再次被訪問時,才對A.jsp重新進行轉譯。而僅改dic_incB.jsp并不能觸發(fā)上述條件。本文檔共34頁;當前第23頁;編輯于星期二\21點5分JSP動作元素概述JSP動作是向其他服務器對象傳輸控制權或執(zhí)行操作。JSP技術規(guī)范定義的標準JSP動作,所有Web容器都必須實現(xiàn)。JSP動作是JSP中的具體操作,JSP動作用規(guī)定的標簽和語法,封裝了具體的編程細節(jié)。常用JSP動作如下:有些JSP功能既可以用腳本片斷實現(xiàn),也可以用JSP動作來實現(xiàn)。標準動作名稱作用<jsp:include>在頁面被請求的時候引入一個文件<jsp:useBean>尋找或者實例化一個JavaBean<jsp:setProperty>設置JavaBean的屬性<jsp:getProperty>獲得或輸出某個JavaBean的屬性<jsp:forward>把請求轉到一個新的頁面<jsp:param>提供key/value信息,可在<jsp:include>,<jsp:forward>動作中使用,指定一個將加入請求的當前參數(shù)組中的參數(shù)<jsp:plugin>根據(jù)瀏覽器類型為Java插件生成<object>和<embed>標簽<jsp:params>向一個動態(tài)文件發(fā)送一個或多個參數(shù)<jsp:fallback>如果瀏覽器不支持APPLETS則會顯示的內(nèi)容本文檔共34頁;當前第24頁;編輯于星期二\21點5分<jsp:include>動作<jsp:include>:在當前頁面中包含一個動態(tài)或靜態(tài)文件該動作允許在請求期間將其它頁面的輸出包含進當前頁面。包含靜態(tài)文件(如:HTML、文本文件等靜態(tài)資源):在當前頁面中,將被包含文件的內(nèi)容直接包括在JSP中,語法:本文檔共34頁;當前第25頁;編輯于星期二\21點5分<jsp:include>(續(xù))包含動態(tài)資源(JSP或Servlet)包含動態(tài)文件:由服務器的JSP引擎負責執(zhí)行,把運行結果返回給客戶端顯示出來。并且在編譯時可以傳遞參數(shù)。當主頁面被請求時,服務器對被包含資源的URL進行正常處理,并可向其傳遞參數(shù),最后將被包含資源的輸出包含進主頁面中。說明:在每次主頁面被請求時,被包含頁面將被JSP容器重新處理;一旦被包含頁面執(zhí)行完畢,請求將在主頁面中繼續(xù)執(zhí)行;被包含頁面不能改變響應的狀態(tài)碼;該動作的優(yōu)點:在被包含頁面發(fā)生改變時,無需對主頁面修改。屬性說明page指定被包含資源的相對當前JSP的路徑flush可選(默認false),若為true且當前頁面使用了緩沖區(qū),則進行包含前,先刷新緩沖區(qū),否則不刷新。本文檔共34頁;當前第26頁;編輯于星期二\21點5分<jsp:include>工作原理本文檔共34頁;當前第27頁;編輯于星期二\21點5分在包含動作中傳遞參數(shù)對傳遞的參數(shù)采用gb2312編碼本文檔共34頁;當前第28頁;編輯于星期二\21點5分包含指令與包含動作的區(qū)別嵌入的內(nèi)容:include指令:嵌入的是靜態(tài)文本或頁面(被包含頁面原內(nèi)容)include動作:包含的是靜態(tài)或動態(tài)資源的內(nèi)容(HTML代碼)嵌入被包含頁面的時間:include指令:在JSP文件被轉換成Servlet的時候引入文件由于生成一個Servlet,當前和被包含頁面可共享變量;執(zhí)行速度較快include動作:當前頁面被請求時才嵌入被包含頁面的結果生成不同的Servlet,不能共享變量;且執(zhí)行速度較慢。從實際應用角度上講:指令:速度快,用于檢測用戶登錄、網(wǎng)站標識及其它不變信息動作:速度慢,用于發(fā)送請求、傳遞參數(shù),并接收返回的HTML其它:指令:被包含的JSP頁面中所有response操作都會正常運行動作:被包含頁面不能通過response對象重定向到其他頁面。本文檔共34頁;當前第29頁;編輯于星期二\21點5分<jsp:param>功能:用來提供key/value的信息通常與<jsp:include>、<jsp:forward>和<jsp:plugin>搭配使用參數(shù)規(guī)則當使用<jsp:include>或<jsp:forward>時,被包含頁面或轉向后的頁面會先檢查request對象里除原參數(shù)值外,是否再增加新參數(shù)值,若有新的參數(shù)值時,則新參數(shù)值在執(zhí)行時,有較高的優(yōu)先權。例如:本文檔共34頁;當前第30頁;編輯于星期二\21點5分<jsp:forward>請求轉發(fā)動作格式:功能:將客戶端請求從當前頁面轉發(fā)到另一資源(JSP頁面、HTML或Servlet)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論