資源描述:
《JSP動(dòng)態(tài)Web技術(shù)實(shí)例教程代碼、教案、課件第六章 JSP與Servlet.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、內(nèi)容提要4學(xué)習(xí)目標(biāo)1235彩色驗(yàn)證碼購(gòu)物車(chē)留言板總結(jié)與提高學(xué)習(xí)目標(biāo)了解Servlet生命周期掌握Servlet和JSP的交互技術(shù)掌握常用的ServletAPI應(yīng)用了解基本的Web應(yīng)用開(kāi)發(fā)模式JavaServlet概念和意義操作使用Servlet工作原理Servlet生命周期編寫(xiě)ServletServlet與表單的交互彩色驗(yàn)證碼購(gòu)物車(chē)會(huì)話Servlet訪問(wèn)數(shù)據(jù)庫(kù)留言板Servlet彩色驗(yàn)證碼防范惡意網(wǎng)站下載軟件防止不經(jīng)過(guò)本網(wǎng)站而使用網(wǎng)站資源Servlet可以方便調(diào)用Java相關(guān)的類(lèi)庫(kù)進(jìn)行圖像操作驗(yàn)證碼是一個(gè)在Web服務(wù)器上生成的隨機(jī)字符串驗(yàn)證碼以圖片形式顯示圖片中字符串使用旋
2、轉(zhuǎn)字符、添加背景紋理等技術(shù)認(rèn)識(shí)Servlet是Java編程語(yǔ)言中的一個(gè)類(lèi);服務(wù)器端的Java應(yīng)用程序;可生成動(dòng)態(tài)Web頁(yè)面;用于處理客戶(hù)機(jī)和服務(wù)器之間的消息傳遞;Servlet不支持圖形用戶(hù)界面;Servlets利用輸出HTML語(yǔ)句來(lái)實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁(yè);……客戶(hù)端Servlet運(yùn)行于服務(wù)器上JSP與Servlet的聯(lián)系從Jsp的角度,servlet實(shí)際上是jsp被解釋執(zhí)行的中間過(guò)程;jsp實(shí)際上是為了讓Servlet的開(kāi)發(fā)顯得相對(duì)容易而采取的腳本語(yǔ)言形式j(luò)sp實(shí)際上就是Servlet,jsp實(shí)際上轉(zhuǎn)換成servelt,然后編譯執(zhí)行;jsp與servlet的不同編程方式不同jsp遵
3、循腳本語(yǔ)言的編制標(biāo)準(zhǔn);servlet嚴(yán)格遵循java語(yǔ)言的編程標(biāo)準(zhǔn);運(yùn)行速度的不同Jsp比servlet運(yùn)行慢,jsp必須轉(zhuǎn)換成servlet再運(yùn)行;運(yùn)行方式不同Servlet是java程序,必須編譯成.class文件執(zhí)行,jsp直接由Tomcat將以執(zhí)行;為什么要學(xué)習(xí)servlet編制jsp程序時(shí),使得編程更具結(jié)構(gòu)化;jsp是為了便于編制servlet而開(kāi)發(fā)的腳本程序語(yǔ)言;為了更深入進(jìn)行jsp編程;學(xué)習(xí)servelt是解決高難度的jsp問(wèn)題非常有用;Servlet可以彌補(bǔ)jsp的弱點(diǎn);jsp職責(zé)是承擔(dān)頁(yè)面處理的工作;內(nèi)部數(shù)據(jù)的處理由servlet或者JavaBean來(lái)進(jìn)行
4、;HTTPServlet基礎(chǔ)知識(shí)HttpServlet類(lèi)提供一個(gè)抽象類(lèi)以創(chuàng)建HTTPServletpublicvoiddoGet(HttpServletRequestreq,HttpServletResponseres)doGet()方法處理客戶(hù)端作出的GET請(qǐng)求。publicvoiddoPost(HttpServletRequestreq,HttpServletResponseres)doPost()方法處理客戶(hù)端作出的POST請(qǐng)求。Servlet的生命周期Servlet容器創(chuàng)建Servlet的一個(gè)實(shí)例Servlet的生命周期就是指創(chuàng)建Servlet實(shí)例之后其存在的時(shí)間以
5、及何時(shí)消失實(shí)例化Servlet容器創(chuàng)建Servlet的實(shí)例初始化該容器調(diào)用init()方法服務(wù)如果請(qǐng)求Servlet,則容器調(diào)用service()方法銷(xiāo)毀實(shí)例之前調(diào)用destroy()方法銷(xiāo)毀不可用銷(xiāo)毀實(shí)例并標(biāo)記為垃圾收集項(xiàng)目實(shí)現(xiàn)驗(yàn)證碼的產(chǎn)生——編寫(xiě)Servlet文件VefifyCode.java創(chuàng)建登錄驗(yàn)證碼校驗(yàn)頁(yè)面——設(shè)計(jì)login.jsp驗(yàn)證碼驗(yàn)證——編寫(xiě)Servlet文件Check.java配置web.xmlverifycode/verifycode
6、verifycodeapp61.verifycode完成了Servlet的映射,程序運(yùn)行的IE地址欄:localhost:8080/app61/verifycode,verifycode映射VerifyCode.java文件。完成了對(duì)Servlet的名稱(chēng)(VerifyCode)和Servlet的類(lèi)之間的映射,把名稱(chēng)為verifycode的Servlet映射
7、到app61包中的VerifyCode.class。兩個(gè)名稱(chēng)必須相同程序解析Servlet文件通過(guò)實(shí)現(xiàn)javax.servlet.http.HttpServlet類(lèi)來(lái)實(shí)現(xiàn)重載doGet()、doPost()方法就可實(shí)現(xiàn)自己的Servlet;Servlet被加載時(shí)進(jìn)行初始化操作,還可重載init()和destroy()方法response.setContentType(CONTENT_TYPE)說(shuō)明返回的MIME類(lèi)型PrintWriterout=response.getWriter();獲得PrintWriter對(duì)象