久久久久综合给合狠狠狠,人人干人人模,大陆一级黄色毛片免费在线观看,亚洲人人视频,欧美在线观看一区二区,国产成人啪精品午夜在线观看,午夜免费体验

薈聚奇文、博采眾長(zhǎng)、見賢思齊
當(dāng)前位置:公文素材庫 > 計(jì)劃總結(jié) > 工作總結(jié) > 《Java_Web開發(fā)實(shí)戰(zhàn)經(jīng)典》總結(jié)-第二部分Web基礎(chǔ)開發(fā)(圖文并貌)

《Java_Web開發(fā)實(shí)戰(zhàn)經(jīng)典》總結(jié)-第二部分Web基礎(chǔ)開發(fā)(圖文并貌)

網(wǎng)站:公文素材庫 | 時(shí)間:2019-05-28 14:31:56 | 移動(dòng)端:《Java_Web開發(fā)實(shí)戰(zhàn)經(jīng)典》總結(jié)-第二部分Web基礎(chǔ)開發(fā)(圖文并貌)

《Java_Web開發(fā)實(shí)戰(zhàn)經(jīng)典》總結(jié)-第二部分Web基礎(chǔ)開發(fā)(圖文并貌)

第二部分Web基礎(chǔ)開發(fā)

第五章JSP基礎(chǔ)語法

通過本章的的學(xué)習(xí),使我了解了Jsp中注釋語句的使用和Jsp中Scriptlet的使用及使用的區(qū)別,掌握了page指令的作用和兩種包含語句及兩種包含語句的區(qū)別,懂得了跳轉(zhuǎn)指令的操作;究梢允褂肑sp基礎(chǔ)語法結(jié)合JDBC完成登錄程序的開發(fā)。

注釋語句(顯、隱針對(duì)客戶端來講)3種Scriptlet(腳本小程序)

實(shí)現(xiàn)HTML代碼與JSP代碼的分離:JSP源代碼無縮寫,而其內(nèi)容是要給用戶看的!Script標(biāo)簽VSJSP標(biāo)簽編程VSJSP標(biāo)準(zhǔn)標(biāo)簽庫(JSTL)VSStruts標(biāo)簽庫Page指令作用:(設(shè)置頁面MIME類型、文件編碼[超鏈接-..\\知識(shí)點(diǎn)小結(jié)\\編碼總結(jié).doc]、錯(cuò)誤頁進(jìn)化)

包含指令:靜態(tài)包含和動(dòng)態(tài)包含(選擇?)答:動(dòng)態(tài)包含更好:1、可以自動(dòng)區(qū)分被包含的頁面是靜態(tài)還是動(dòng)態(tài);如果是動(dòng)態(tài)頁面,先處理,再包2、

含處理結(jié)果;

避免實(shí)際開發(fā)中的變量重復(fù)問題,還可以傳遞參數(shù)

跳轉(zhuǎn)指令:

服務(wù)器跳轉(zhuǎn):地址欄不變(錯(cuò)誤頁跳轉(zhuǎn))

客戶端跳轉(zhuǎn):無法傳遞request范圍屬性(超鏈接)

注意:

標(biāo)簽指令必須完結(jié)

第六章JSP內(nèi)置對(duì)象

通過本章的的學(xué)習(xí),使我了解了Jsp中的9個(gè)內(nèi)置對(duì)象及對(duì)應(yīng)的操作接口,掌握了jsp中的4種屬性范圍及屬性操作,掌握了response,session,application,pagecontext這些常用內(nèi)置對(duì)象的使用。

內(nèi)置對(duì)象由容器為用戶實(shí)例化,所以不用什么new關(guān)鍵字。對(duì)比Java!9個(gè)內(nèi)置對(duì)象及對(duì)應(yīng)類型、特點(diǎn)、保存范圍。

request,

回顧跳轉(zhuǎn)指令比較

服務(wù)器跳轉(zhuǎn):地址欄不改變,eg:錯(cuò)誤頁跳轉(zhuǎn)?蛻舳酥修D(zhuǎn):超鏈接,無法傳遞request屬性。

保存范圍的設(shè)計(jì)模式實(shí)例:

Page:頁面跳轉(zhuǎn)后()在設(shè)置的屬性是無法取得的。

request:頁面跳轉(zhuǎn)(服務(wù)器跳轉(zhuǎn))后仍可以取得,但如果換成超鏈接(客戶端跳轉(zhuǎn))就不行了。Session:打開新瀏覽器無法取得。因?yàn)槊恳淮未蜷_一個(gè)新瀏覽器連接上服務(wù)器后就相當(dāng)于一個(gè)新的Session.

Application:每一個(gè)session用戶都看得見。因?yàn)閷傩员辉O(shè)置在了服務(wù)器上,但這會(huì)影響服務(wù)器性能。但重新啟動(dòng)服務(wù)器后,之前的所有屬性都會(huì)消失。java.lang.StringgetRealPath(java.lang.Stringpath)Getstherealpathcorrespondingtothegivenvirtualpath.

Config對(duì)象:getInitParameter()方法可以取得初始化配置參數(shù),所有的配置參數(shù)在Web.xml文件中配置。

PageContent可以設(shè)置任意范圍的屬性。pageContent.setAttribute(Stringname,Objectvalue,intscope);

問題:

一、request對(duì)象

參數(shù)傳遞的兩種常見方式:表單和URL地址重寫。表單提交的get和post有什么不同?從現(xiàn)實(shí)中兩人對(duì)話理解頭信息的作用。

回頭看應(yīng)用到request的地方:1、DAO設(shè)計(jì)模式中JSP調(diào)用DAO:解決中文亂碼,通過接收表單提交的參數(shù)設(shè)置雇員信息,完成增加雇員操作。

2、Mvc設(shè)計(jì)模式實(shí)例——登錄程序中:

LoginServlet.java中doGet()方法中接收客戶端的輸入數(shù)據(jù)并保存數(shù)據(jù),保存錯(cuò)誤信息,和response對(duì)象完成跳轉(zhuǎn),當(dāng)然還有doGet()方法。

3、屬性操作:

屬性名稱用String類型進(jìn)行接收,內(nèi)容用Object類型接收,(任意對(duì)象照單全收),但注意在取得時(shí)要進(jìn)行向下轉(zhuǎn)型。4、

特別要提下pageContext對(duì)象,它是javax.servlet.isp.PageContext類的實(shí)例,表示一個(gè)JSP頁面的上下文。它的setAttribute()方法可以設(shè)置任意范圍的屬性。它可以取得ServletRequest、ServletResponse、ServletConfig、SevletContext接口的實(shí)例。它在平時(shí)開發(fā)很少用,但標(biāo)簽編程中應(yīng)用最多。

5、Web安全:一個(gè)文件保存在WEB-IN文件夾中是絕對(duì)安全的,但是需要通過修改web.xml進(jìn)行地址映射才可以訪問。

第七章JavaBean

通過本章的的學(xué)習(xí),使我了解了JavaBean的基本定義格式和web目錄的標(biāo)準(zhǔn)結(jié)構(gòu),掌握了jsp中對(duì)于javabean支持的3種標(biāo)簽,即,和.可以使用javabean進(jìn)行參數(shù)的自動(dòng)賦值操作。

JavaBean的要求:答:

1、包

2、Publicclass

3、封閉-setter()和getter()方法4、無參構(gòu)造方法!

配置reloadable=”true”實(shí)現(xiàn)JavaBean的自動(dòng)加載修改的JavaBean帶來的問題?答:服務(wù)器始終在監(jiān)視狀態(tài),性能會(huì)下降;當(dāng)Tomcat貓重新啟動(dòng)后,所有的session屬性將消失。

為什么使用指令可以直接進(jìn)行對(duì)象的實(shí)例化?=相比import命令省略了對(duì)象實(shí)例化的步驟?

答:

答案是反射機(jī)制。注意到以上指令需要定義對(duì)象所在的“包.類”,而且又要求類存在無參構(gòu)造方法,這是反射的前提。

JSP+JavaBean的優(yōu)點(diǎn):答:

HTML和Java從JSP頁面中分離出來

JavaBean組件減少重復(fù)代碼(組件思想)

第八章文件上傳

通過本章的的學(xué)習(xí),使我了解了文件上傳操作的作用和smartupload上傳組件的使用,理解了fileupload上傳組件的使用。

本章多進(jìn)行實(shí)戰(zhàn)操作

參考:注意:

如果要進(jìn)行文件上傳操作,在表單處必須使用enctype將文件封裝成一個(gè)二進(jìn)制數(shù)據(jù)才可以接收。

如何限制文件上傳類型?答:通過正則表達(dá)式

If(smart.getFiles().getFile(0).getFileName().match(“^\\\\w+\\\\.(gif|jsp)$”)){}

擴(kuò)展閱讀:《Java_Web開發(fā)實(shí)戰(zhàn)經(jīng)典》總結(jié)-第三部分Web高級(jí)開發(fā)(圖文并貌)

第三部分Web高級(jí)開發(fā)

第九章Servlet程序開發(fā)

通過本章的的學(xué)習(xí),使我了解了servlet與jsp之間的關(guān)系和servlet的生命周期及對(duì)應(yīng)的操作方法及內(nèi)置對(duì)象在servlet中的使用。了解了requestdispatcher接口的作用,并可以使用mvc進(jìn)行程序的開發(fā),掌握過濾器的基本原理及應(yīng)用和監(jiān)聽器的基本原理及應(yīng)用。

Servlet(服務(wù)器端小程序):多線程、可移植。最大好處:它可以處理客戶端傳來的HTTP請(qǐng)求,并返回一個(gè)響應(yīng)。(沒有Main主程序)

接口類繼承關(guān)系?

Servlet處理的基本流程:

Servlet分類?

1、請(qǐng)區(qū)分容器和服務(wù)器?

2、關(guān)閉容器||一個(gè)Servlet長(zhǎng)時(shí)間不使用和動(dòng)態(tài)加載怎樣實(shí)現(xiàn)?(servlet銷毀)3、回顧config對(duì)象、模板設(shè)計(jì)模式(servlet程序本身應(yīng)用);

4、Servlet生命周期控制的3個(gè)方法:init(),service()(doGet()、doPost())和destory();這些方法在哪個(gè)類里?

protectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,java.io.IOException覆寫里要擴(kuò)大訪問權(quán)限,

要想實(shí)現(xiàn)一個(gè)Servlet則一定要繼承HttpServlet類,并覆寫相應(yīng)方法,編譯完成后馬上配置web.xml文件。

為什么要在WEB-IN/web.xml中進(jìn)行Servlet程序的映射配置?

答:zz.servlet.HelloServlet又是“包.類”,反射有木有!

訪問Servlet程序時(shí),是以*.class形式存在。

過濾器就是個(gè)收各種門票的!應(yīng)用:編碼過濾器進(jìn)化

第十章表達(dá)式語言

通過本章的的學(xué)習(xí),使我了解了表達(dá)式語言的作用及與4種屬性范圍的關(guān)系,可以使用表達(dá)式完成數(shù)據(jù)的輸出,掌握了表達(dá)式語言中各種運(yùn)算符的使用。

博客筆記:

第十一章Tomcat數(shù)據(jù)源

通過本章的的學(xué)習(xí),使我了解了數(shù)據(jù)源的作用及操作原理,掌握了tomcat中數(shù)據(jù)源的配置和數(shù)據(jù)源的查找及使用。

第十二章JSP標(biāo)簽

通過本章的的學(xué)習(xí),使我了解了標(biāo)簽庫的主要作用及標(biāo)簽的操作原理,掌握了標(biāo)簽的基本開發(fā)模式,并且可以通過tagsupport類完成迭代傳輸?shù)墓δ埽斫饬藰?biāo)簽的使用及與tagsupport類的區(qū)別,tagextrainfo類和variableinfo的使用。要想完成一個(gè)標(biāo)簽的開發(fā),需要有以下四部分:

TagSupport類的四個(gè)方法和常量;

Tag接口和IteratorTag接口的執(zhí)行區(qū)別:

第十三章JSP標(biāo)準(zhǔn)標(biāo)簽庫

通過本章的的學(xué)習(xí),使我了解了JSTL的主要作用及配置和JSTL中core標(biāo)簽的使用,了解了format和SQL標(biāo)簽的使用。

第十四章Ajax開發(fā)技術(shù)

通過本章的的學(xué)習(xí),使我了解了AJAX技術(shù)的主要作用,和XMLHttprequest對(duì)象的作用,并可以使用XMLHttprequest對(duì)象進(jìn)行操作。

第一個(gè)Ajax程序

背景知識(shí):Ajax指的是異步JavaScript及XML(AsynchronousJavaScriptAndXML)。AJAX不是一種新的編程語言,而是一種用于創(chuàng)建更好更快以及交互性更強(qiáng)的

Web應(yīng)用程序的技術(shù)。通過AJAX,您的JavaScript可使用JavaScript的XMLHttpRequest對(duì)象來直接與服務(wù)器進(jìn)行通信。通過這個(gè)對(duì)象,您的JavaScript可在不重載頁面的情況與Web服務(wù)器交換數(shù)據(jù)。AJAX

在瀏覽器與Web服務(wù)器之間使用異步數(shù)據(jù)傳輸(HTTP請(qǐng)求),這樣就可使網(wǎng)頁從服務(wù)器請(qǐng)求少量的信息,而不是整個(gè)頁面。AJAX可使因特網(wǎng)應(yīng)用程序更小、更快,更友好。AJAX

是一種獨(dú)立于Web服務(wù)器軟件的瀏覽器技術(shù)。AJAX基于下列Web標(biāo)準(zhǔn):JavaScriptXMLHTMLCSS在AJAX中使用的Web標(biāo)準(zhǔn)已被良好定義,并被所有的主流瀏覽器支持。AJAX應(yīng)用程序獨(dú)立于瀏覽器和平臺(tái)。Web應(yīng)用程序較桌面應(yīng)用程序有諸多優(yōu)勢(shì);它們能夠涉及廣大的用戶,它們更易安裝及維護(hù),也更易開發(fā)。不過,因特網(wǎng)應(yīng)用程序并不像傳統(tǒng)的桌面應(yīng)用程序那樣完善且友好。通過AJAX,因特網(wǎng)應(yīng)用程序可以變得更完善,更友好。

返回?cái)?shù)據(jù)的頁面D:\\ProgramFiles\\webdemo\\14_Ajax\\content.htmHelloWorld!使用異步處理:D:\\ProgramFiles\\webdemo\\14_Ajax\\Ajax_recieve_content.htm接收content內(nèi)容varxmlHttp;functioncreateXMLHttp(){象}if(window.XMLHttpRequest){//創(chuàng)建XMLHttpRequest核心對(duì)xmlHttp=newXMLHttpRequest()//使用FireFox內(nèi)核}else{xmlHttp=newActiveXObject("Microsoft.XMLHTTP");//使用IE內(nèi)核的瀏覽器}functionshowMsg(){//顯示信息createXMLHttp();//xmlHttp.open("POST","content.htm");//設(shè)置一個(gè)請(qǐng)求//設(shè)置完請(qǐng)求后調(diào)用回調(diào)函數(shù)xmlHttp.onreadystatechange=showMsgCallback;xmlHttp.send(null);//發(fā)送請(qǐng)求,不設(shè)置參數(shù)}functionshowMsgCallback(){//回調(diào)函數(shù)if(xmlHttp.readyState==4){//數(shù)據(jù)返回完畢if(xmlHttp.status==200){//HTTP操作正常vartext=xmlHttp.responseText;//接收返回內(nèi)容//設(shè)置要使用的CSS樣式表//doucument.getElementById("msg").className="樣式表名稱";document.getElementById("msg").innerHTML=text;}}}

顯示效果:

手敲千行不如單步一行!

調(diào)試手段:HTML代碼怎么調(diào)試?類比servlet代碼調(diào)試System.out.printf("*********");

allert(“**************”);看程序進(jìn)行到哪一步!

問題:Ajax的xmlhttpRequests對(duì)象、方法、屬性有專門的文檔么?與jqueryajax比較。

參考文檔:

場(chǎng)景描述:

登錄程序大家都不陌生,但如果要注冊(cè),則必須保證用戶的ID不能重復(fù),這種檢測(cè)用戶ID的操作可以通過Ajax完成。

異步驗(yàn)證

異步驗(yàn)證varxmlHttp;varflag;functioncreateXMLHttp(){象}if(window.XMLHttpRequest){//創(chuàng)建XMLHttpRequest核心對(duì)xmlHttp=newXMLHttpRequest()//使用FireFox內(nèi)核}else{xmlHttp=newActiveXObject("Microsoft.XMLHTTP");//使用IE內(nèi)核的瀏覽器}functioncheckUserid(userid){//顯示信息createXMLHttp();////設(shè)置請(qǐng)求,通過地址重寫方式將userid傳遞到JSP中xmlHttp.open("POST","CheckServlet?userid="+userid);//設(shè)置完請(qǐng)求后調(diào)用處理回調(diào)函數(shù)xmlHttp.onreadystatechange=checkUseridCallback;}xmlHttp.send(null);//發(fā)送請(qǐng)求,不設(shè)置參數(shù)//document.getElementById("msg").innerHTML="正在驗(yàn)證";//alert("*******");functioncheckUseridCallback(){//回調(diào)函數(shù)if(xmlHttp.readyState==4){//數(shù)據(jù)返回完畢if(xmlHttp.status==200){//HTTP操作正常alert("*****8");vartext=xmlHttp.responseText;//接收返回內(nèi)容if(text=="true"){}}flag=false;//無法提交表單document.getElementById("msg").innerHTML="用戶名ID重復(fù),無法使用";注冊(cè)";}}else{flag=true;//可以提交表單document.getElementById("msg").innerHTML="恭喜!此用戶ID可以}functioncheckForm(){//對(duì)表單判斷能否進(jìn)行提交操作returnflag;}用戶ID:姓名:密碼:checkzz.ajax.CheckServletcheck/14_Ajax/CheckServletpackagezz.ajax;importjava.io.*;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.PreparedStatement;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;publicclassCheckServletextendsHttpServlet{publicstaticfinalStringDBDRIVER="org.gjt.mm.mysql.Driver";publicstaticfinalStringDBURL="jdbc:mysql://localhost:3306/zz";publicstaticfinalStringDBUSER="root";publicstaticfinalStringDBPASSWORD="mysql";publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,java.io.IOException{this.doPost(request,response);}publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,java.io.IOException{request.setCharacterEncoding("GBK");response.setContentType("text/html");//設(shè)置回應(yīng)的MIMEConnectionconn=null;PreparedStatementpstmt=null;ResultSetrs=null;PrintWriterout=response.getWriter();//接收驗(yàn)證的useridStringuserid=request.getParameter("userid");try{Class.forName(DBDRIVER);//加載驅(qū)動(dòng)conn=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);//連接數(shù)據(jù)庫Stringsql="SELECTCOUNT(userid)FROMuserWHEREuserid=?";pstmt=conn.prepareStatement(sql);}

}pstmt.setString(1,userid);rs=pstmt.executeQuery();System.out.printf("*********");if(rs.next()){if(rs.getInt(1)>0){//判斷ID是否已存在out.print("true");//已存在}else{out.print("false");}}out.close();}catch(Exceptione){e.printStackTrace();}finally{try{conn.close();}catch(Exceptione){e.printStackTrace();}}

友情提示:本文中關(guān)于《《Java_Web開發(fā)實(shí)戰(zhàn)經(jīng)典》總結(jié)-第二部分Web基礎(chǔ)開發(fā)(圖文并貌)》給出的范例僅供您參考拓展思維使用,《Java_Web開發(fā)實(shí)戰(zhàn)經(jīng)典》總結(jié)-第二部分Web基礎(chǔ)開發(fā)(圖文并貌):該篇文章建議您自主創(chuàng)作。

來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請(qǐng)聯(lián)系我們及時(shí)刪除。


《Java_Web開發(fā)實(shí)戰(zhàn)經(jīng)典》總結(jié)-第二部分Web基礎(chǔ)開發(fā)(圖文并貌)》由互聯(lián)網(wǎng)用戶整理提供,轉(zhuǎn)載分享請(qǐng)保留原作者信息,謝謝!
鏈接地址:http://www.weilaioem.com/gongwen/585491.html