![JSP程序设计课件_第1页](http://file4.renrendoc.com/view12/M04/28/2E/wKhkGWeQ28SALvEnAAC01tz_4II283.jpg)
![JSP程序设计课件_第2页](http://file4.renrendoc.com/view12/M04/28/2E/wKhkGWeQ28SALvEnAAC01tz_4II2832.jpg)
![JSP程序设计课件_第3页](http://file4.renrendoc.com/view12/M04/28/2E/wKhkGWeQ28SALvEnAAC01tz_4II2833.jpg)
![JSP程序设计课件_第4页](http://file4.renrendoc.com/view12/M04/28/2E/wKhkGWeQ28SALvEnAAC01tz_4II2834.jpg)
![JSP程序设计课件_第5页](http://file4.renrendoc.com/view12/M04/28/2E/wKhkGWeQ28SALvEnAAC01tz_4II2835.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JSP程式設計2024年8月12日星期一213.1JSP簡介13.1.1JSP程式
JSP(JavaServerPages)是由SunMicrosystems公司宣導、許多公司參與建立的一種動態網頁技術標準。JSP技術是在傳統的網頁HTML檔(*.htm,*.html)中插入Java程式段(Scriptlet)和JSP標記(tag),從而形成JSP檔(*.jsp)。2024年8月12日星期一3Web伺服器在遇到訪問JSP網頁的請求時,首先執行其中的程式段,然後將執行結果連同JSP檔中的HTML代碼一起返回給客戶。插入的Java程式段可以運算元據庫、重新定向網頁等,以實現建立動態網頁所需要的功能。
JSP是在伺服器端執行的,通常返回給客戶端的就是一個HTML文本,因此客戶端只要有流覽器就能流覽,不需要附加任何的支持軟體。2024年8月12日星期一413.1.2JSP語法概述
JSP語法分為三類:腳本元素(Scripting)、指令元素(Directive)和動作元素(Actions)。JSP的腳本元素,包含注釋、聲明、腳本和運算式四個部分。在JSP檔中可以加入兩種形式的注釋,一種其內容可以被流覽器查看,另一種流覽器不能查看。聲明用於在JSP頁面中定義方法或變數,這些方法或變數可被同一個頁面中的其他代碼訪問。腳本即在JSP頁面中插入的Java程式代碼段,這些代碼段嵌在標記“<%”與“%>”之間。運算式用於直接將數據輸出到頁面。2024年8月12日星期一5JSP指令元素有三個,分別是page、include和taglib。這些指令元素是針對JSP引擎設計的,不會產生任何直接輸出。它們包含在標記“<%@”和“%>”之間。page指令用於定義JSP檔中的全局屬性,include指令用於在JSP頁面中包含另外一個檔的內容,taglib指令用於定義一個標籤庫以及自定義標籤的首碼。2024年8月12日星期一6在JSP2.0規範中定義了20多個動作元素。在JSP語法中,用<jsp:xxx>表示動作,可以用它控制JSP引擎的動作。以下是常見的動作:<jsp:useBean>:創建一個Bean實例並指定它的名字和作用範圍;<jsp:setProperty>:設置Bean的屬性值;<jsp:getProperty>:獲取Bean實例的屬性值;<jsp:include>:包含一個靜態或動態檔;2024年8月12日星期一7<jsp:forward>:重定向一個到另一個JSP頁面;<jsp:plugin>:該指令用於向流覽器插入一個Java插件來運行一個applet或者Bean對象。2024年8月12日星期一813.1.3JSP內置對象
1.request對象
request對象是與用戶請求相關的對象,它是HttpServletRequest的一個子類。該對象包含了所有來自客戶端的請求資訊,如請求的來源、標頭、類型、Cookies和HTML表單變數等。2.response對象response對象是最重要的對象之一,只有通過它,才能回應客戶端的請求,才能向客戶端輸出資訊。它的作用與requst對象剛好相反,request對象包含了客戶請求的有關資訊,而reponse對象包含了回應客戶請求的資訊。
2024年8月12日星期一93.session對象
Session對象表示目前個別用戶的會話(session)狀況,用此項機制可以輕易識別每一個用戶,然後針對每一個別用戶的要求,給予正確的回應。系統是怎樣通過session對象來識別用戶的呢?原來,在用戶登錄網站時,系統為其生成了一個獨一無二的session對象來記錄用戶的個人資訊。即每個登錄網站的用戶所擁有的session對象是不同的。當用戶退出網站時,該session對象被註銷。
4.application對象Application對象用於取得或更改Servlet的設定,它的生存期是由伺服器產生開始至伺服器關機為止。2024年8月12日星期一10在JSP伺服器運行時刻,僅有一個Application對象,它由伺服器創建,也由伺服器自動清除,不能被用戶創建和清除。
5.out對象out對象代表了向客戶端發送數據的對象,與“response”對象不同,通過“out”對象發送的內容將是流覽器需要顯示的內容,是文本級的。6.ception對象exception對象處理JSP檔在執行時所有發生的錯誤和異常。2024年8月12日星期一117.config對象
config對象是java.servletConfig介面的一個實例,它用於初始化參數。8.pageContext對象
pageContext對象存儲當前JSP頁面的相關資訊,如屬性、內建對象等。9.page對象page對象表示當前正在運行的JSP頁面所產生的對象,該對象只有在當前JSP頁面範圍之內使用才合法。
2024年8月12日星期一1213.2JSP與JavaBean13.2.1JavaBeans簡介JavaBeans是基於java的組件模型,由屬性、方法和事件3部分組成,有點類似於Microsoft的COM組件概念。在該模型中,javabeans可以被修改或與其他組件結合生成新組件或完整的程式。它是一種java類,通過封裝成為具有某種功能或者處理某個業務的對象。因此,也可以通過嵌在JSP頁面內的java代碼訪問bean及其方法。2024年8月12日星期一1313.2.2在JSP程式中使用JavaBean
1.JavaBean的編寫
JavaBean是用java語言編寫的可重用的軟體組件。編寫JavaBean組件的方法同編寫其他Java類一樣。2.JavaBean的調用
JavaBean的調用主要包括以下幾個方面的內容:創建JavaBean的實例,需要使用<jsp:useBean>指令來完成;利用<jsp:setProperty>和<jsp:getProperty>來設置或獲取JavaBean的屬性值;調用其方法,格式為:實例名.方法名。2024年8月12日星期一1413.3JSP標籤庫
JSP標籤庫(也被稱作定制標籤)是一種通過JavaBean生成基於XML的腳本的方法。從概念上講,標籤就是很簡單而且可重用的代碼結構。JSP標籤庫最大的作用在於讓用戶可以自行指定一個標籤。標籤處理類是一個標準的Java類,在該類中定義了各種各樣的方法來對標籤庫描述檔中定義的標籤進行處理。我們把該類的定義檔叫做TEI(TagExtraInformationfiles)檔,TEI檔在被編譯為calss類檔之後,被放到JSP伺服器的相應目錄中。13.3.1標籤處理類2024年8月12日星期一15通俗地講,標籤處理類就是用於解釋標記的類。由於它是一個標準的Java類,因此編寫方法與普通的類一致,但因為應用環境的不同,TEI檔在實現上還是有自己的特殊之處。TEI中的Java類一般繼承自TagSupport類或dyTagSupport類,但如果是繼承自TagSupport類,則必須重載doStartTag()和doEndTag()方法。
2024年8月12日星期一1613.3.2標籤庫描述檔JSP標籤庫需要一個標籤庫描述符(TLD)檔來定義標籤的名稱、屬性以及操作該標籤的Java類。TLD檔通常就以標籤處理器命名並被存放在"\WEB-INF\"目錄之下。該檔的檔擴展名是.tld。TLD檔是一個普通的XML格式的標記定義檔,要使這個TLD檔被JSP檔訪問,它必須定義Tlibversion、jspversion、shortname、uri、info、tag六個屬性。由於TLD檔是一個XML檔,因此它也必須符合XML檔的規範。
2024年8月12日星期一1713.3.3在JSP程式中使用標籤JSP程式中使用的標籤庫有兩種,一種是標準標籤庫(JSTL),另一種是用戶自定義標籤庫。標準標籤庫是一個為實現Web應用程式的常用功能而定制的標記庫集,這些功能包括基本輸入輸出、流程控制、迴圈、XML檔剖析、資料庫查詢、國際化和文字格式化的應用等。在JSP程式中使用標籤,是利用taglib指令來實現的。
2024年8月12日星期一1813.3.4自定義標籤庫一個自定義的tag標籤是用戶定義的一種JSP標記。當一個含有自定義的tag標籤的JSP頁面被jsp引擎編譯成servlet時,tag標籤被轉化成了對一個稱為tag處理類的對象進行的操作。於是當JSP頁面被jsp引擎轉化為servlet後,實際上tag標籤被轉化成為了對tag處理類的操作。2024年8月12日星期一19
JSP標籤都實現了javax.servlet.jsp.tagext.JspTag介面。這個介面有兩個直接子介面。
SimpleTag介面:它是JSP2.0新增加的介面,代表了簡單的標籤;Tag介面:它是必須要實現的介面,它有一個直接子介面就是IterationTag。
IterationTag介面有一個簡單的實現類為TagSupport,從TagSupport擴展可以開發出迭代標籤。IterationTag還有一個子介面BodyTag。這種標籤允許帶有Body,BodyTag也有一個實現類,就是BodyTagSupport,在開發BodyTag時,往往直接從它繼承就可以了。2024年8月12日星期一20使用Tag介面開發自定義標籤程式有以下4個步驟:(1)開發標籤實現類(2)編寫標籤描述,這個描述通常是以.tld結尾的檔。tld檔描述和說明了屬性、資訊和標籤處理器檔位置等資訊。JSP容器使用這一檔來映射被調用標籤庫的位置和用法(3)在web.xml檔中指定標籤庫的引用(4)編寫JSP頁面調用定義的標籤
2024年8月12日星期一2113.4JSP與Servlet
13.4.1Web應用程式的一般結構
現在的Web應用程式一般都採用了三層架構,將整個應用劃分為顯示層、商業邏輯層和控制層。
顯示層包括HTML、XML和Applets等內容,主要功能是提供操作介面,接收用戶的數據輸入和向用戶顯示數據。顯示層位於客戶端。商業邏輯層是三層結構中的核心部分,它的主要功能是進行數據的處理、連接資料庫並產生相應的數據。控制層主要完成資訊傳遞,而不是數據處理。2024年8月12日星期一22對於使用JSP開發Web應用程式的模式,Sun公司總結了兩種模式,分別稱為Model1(模型一)和Model2(模型二)。在Model1體系中,JSP頁面單獨完成回應用戶請求並將處理結果返回客戶的工作。它又包括兩種結構。第一種是僅包含JSP頁面的Web應用程式;2024年8月12日星期一23第二種是由JSP和JavaBean組合的應用程式2024年8月12日星期一2413.3.4自定義標籤庫MVC設計模式由三部分組成。模型是應用對象,沒有介面;視圖表示它在螢幕上的數據顯示,可能的形式為HTML、XML和Applet,主要功能是對採集用戶的數據輸入、用戶請求和對模型回應用戶操作處理結果數據的顯示;控制器定義用戶介面對用戶輸入的回應方式,負責把用戶的動作轉換成針對模型的操作,它不做任何的數據處理;模型則通過更新視圖的數據來反映數據的變化。2024年8月12日星期一2513.4.2JSP與Servlet間的資訊共用1.JSP向Servlet傳遞數據2.Servlet向JSP傳遞數據在Servlet中,可以通過標準的javax.Servlet.RequestDispatcher介面所提供的功能來調用JSP頁面,同時傳遞參數到JSP頁面2024年8月12日星期一2613.4.3JSP與Servlet間的控制傳遞重定向技術可以分為兩類,一類是客戶端重定向,一類是伺服器端重定向。客戶端重定向可以通過設置特定的HTTP頭,或者寫JavaScript腳本實現。
伺服器端的重定向可以有兩種方式,一是使用HttpServletResponse的sendRedirect()方法,一是使用RequestDispatcher的forward()方法。
2024年8月12日星期一27有三種方法
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 未来就业市场的变化及职业定位分析
- 现代建筑设计与智能化技术的融合实践
- 生态文明产业园的教育培训与人才培养策略
- 团委国庆节观影活动方案
- 术后康复神经外科手术患者的居家照护
- Unit 2 Wildlife Protection Reading and Thinking 第二课时说课稿-2024-2025学年高一英语人教版(2019)必修第二册
- 2024秋八年级历史上册 第一单元 中国开始沦为半殖民地半封建社会 第3课 太平天国运动说课稿 新人教版001
- 2024年五年级英语上册 Unit 6 My e-friend第1课时说课稿 牛津译林版
- 《100 以内的加法和减法(二)-进位加》(说课稿)-2024-2025学年二年级上册数学人教版001
- 2024年一年级品生下册《春天在哪里》说课稿 山东版
- 中国周边安全环境-中国人民大学 军事理论课 相关课件
- 危险化学品MSDS(五氯化磷)
- 鸡蛋浮起来实验作文课件
- 医疗器械设计开发流程培训课件
- 警情处置与执法安全汇编课件
- 动物生物技术(课件)
- 注塑成型工艺流程图
- 广东省紧密型县域医疗卫生共同体双向转诊运行指南
- C型钢检验报告
- 检验科临检组风险评估报告文书
- 幼小衔接拼音试卷-带彩图-幼小衔接拼音试卷图片-幼小拼音试卷习题
评论
0/150
提交评论