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