大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) JavaWeb總結(jié)內(nèi)涵超全面的javaweb視頻教程

JavaWeb總結(jié)內(nèi)涵超全面的javaweb視頻教程

更新時(shí)間:2020-02-10 10:18:32 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2399次


JavaWeb總結(jié)內(nèi)涵超全面的javaweb視頻教程


  Servlet總結(jié):


  在JavaWeb程序中,Servlet主要負(fù)責(zé)接收用戶請求HttpServletRequest,在doGet(),doPost()中做相應(yīng)的處理,并將回應(yīng)HttpServletResponse反饋給用戶。Servlet可以設(shè)置初始化參數(shù),供Servlet內(nèi)部使用。一個(gè)Servlet類只會(huì)有一個(gè)實(shí)例,在它初始化時(shí)調(diào)用init()方法,銷毀時(shí)調(diào)用destroy()方法。Servlet需要在web.xml中配置(MyEclipse中創(chuàng)建Servlet會(huì)自動(dòng)配置),一個(gè)Servlet可以設(shè)置多個(gè)URL訪問。Servlet不是線程安全,因此要謹(jǐn)慎使用類變量。


  闡述Servlet和CGI的區(qū)別?


  CGI的不足之處:


  需要為每個(gè)請求啟動(dòng)一個(gè)操作CGI程序的系統(tǒng)進(jìn)程。如果請求頻繁,這將會(huì)帶來很大的開銷。


  需要為每個(gè)請求加載和運(yùn)行一個(gè)CGI程序,這將帶來很大的開銷


  需要重復(fù)編寫處理網(wǎng)絡(luò)協(xié)議的代碼以及編碼,這些工作都是非常耗時(shí)的。


  Servlet的優(yōu)點(diǎn):


  只需要啟動(dòng)一個(gè)操作系統(tǒng)進(jìn)程以及加載一個(gè)JVM,大大降低了系統(tǒng)的開銷


  如果多個(gè)請求需要做同樣處理的時(shí)候,這時(shí)候只需要加載一個(gè)類,這也大大降低了開銷


  所有動(dòng)態(tài)加載的類可以實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)協(xié)議以及請求解碼的共享,大大降低了工作量。


  Servlet能直接和Web服務(wù)器交互,而普通的CGI程序不能。Servlet還能在各個(gè)程序之間共享數(shù)據(jù),使數(shù)據(jù)庫連接池之類的功能很容易實(shí)現(xiàn)。


  補(bǔ)充:SunMicrosystems公司在1996年發(fā)布Servlet技術(shù)就是為了和CGI進(jìn)行競爭,Servlet是一個(gè)特殊的Java程序,一個(gè)基于Java的Web應(yīng)用通常包含一個(gè)或多個(gè)Servlet類。Servlet不能夠自行創(chuàng)建并執(zhí)行,它是在Servlet容器中運(yùn)行的,容器將用戶的請求傳遞給Servlet程序,并將Servlet的響應(yīng)回傳給用戶。通常一個(gè)Servlet會(huì)關(guān)聯(lián)一個(gè)或多個(gè)JSP頁面。以前CGI經(jīng)常因?yàn)樾阅荛_銷上的問題被詬病,然而FastCGI早就已經(jīng)解決了CGI效率上的問題,所以面試的時(shí)候大可不必信口開河的詬病CGI,事實(shí)上有很多你熟悉的網(wǎng)站都使用了CGI技術(shù)。


  Servlet接口中有哪些方法及Servlet生命周期探秘


  Servlet接口定義了5個(gè)方法,其中前三個(gè)方法與Servlet生命周期相關(guān):


  voidinit(ServletConfigconfig)throwsServletException


  voidservice(ServletRequestreq,ServletResponseresp)throwsServletException,java.io.IOException


  voiddestory()


  java.lang.StringgetServletInfo()


  ServletConfiggetServletConfig()


  生命周期:Web容器加載Servlet并將其實(shí)例化后,Servlet生命周期開始,容器運(yùn)行其init()方法進(jìn)行Servlet的初始化;請求到達(dá)時(shí)調(diào)用Servlet的service()方法,service()方法會(huì)根據(jù)需要調(diào)用與請求對(duì)應(yīng)的doGet或doPost等方法;當(dāng)服務(wù)器關(guān)閉或項(xiàng)目被卸載時(shí)服務(wù)器會(huì)將Servlet實(shí)例銷毀,此時(shí)會(huì)調(diào)用Servlet的destroy()方法。init方法和destory方法只會(huì)執(zhí)行一次,service方法客戶端每次請求Servlet都會(huì)執(zhí)行。Servlet中有時(shí)會(huì)用到一些需要初始化與銷毀的資源,因此可以把初始化資源的代碼放入init方法中,銷毀資源的代碼放入destroy方法中,這樣就不需要每次處理客戶端的請求都要初始化與銷毀資源。


  get和post請求的區(qū)別?


  1、get請求用來從服務(wù)器上獲得資源,而post是用來向服務(wù)器提交數(shù)據(jù);


  2、get將表單中數(shù)據(jù)按照name=value的形式,添加到action所指向的URL后面,并且兩者使用"?"連接,而各個(gè)變量之間使用"&"連接;post是將表單中的數(shù)據(jù)放在HTTP協(xié)議的請求頭或消息體中,傳遞到action所指向URL;


  3、get傳輸?shù)臄?shù)據(jù)要受到URL長度限制(1024字節(jié)即256個(gè)字符);而post可以傳輸大量的數(shù)據(jù),上傳文件通常要使用post方式;


  4、使用get時(shí)參數(shù)會(huì)顯示在地址欄上,如果這些數(shù)據(jù)不是敏感數(shù)據(jù),那么可以使用get;對(duì)于敏感數(shù)據(jù)還是應(yīng)用使用post;


  5、get使用MIME類型application/x-www-form-urlencoded的URL編碼(也叫百分號(hào)編碼)文本的格式傳遞參數(shù),保證被傳送的參數(shù)由遵循規(guī)范的文本組成,例如一個(gè)空格的編碼是"%20"。


  補(bǔ)充:GET方式提交表單的典型應(yīng)用是搜索引擎。GET方式就是被設(shè)計(jì)為查詢用的。


  什么情況下調(diào)用doGet()和doPost()?


  Form標(biāo)簽里的method的屬性為get時(shí)調(diào)用doGet(),為post時(shí)調(diào)用doPost()。


  轉(zhuǎn)發(fā)(Forward)和重定向(Redirect)的區(qū)別?


  轉(zhuǎn)發(fā)是服務(wù)器行為,重定向是客戶端行為。


  轉(zhuǎn)發(fā)(Forword)


  通過RequestDispatcher對(duì)象的forward(HttpServletRequestrequest,HttpServletResponseresponse)方法實(shí)現(xiàn)的。RequestDispatcher可以通過HttpServletRequest的getRequestDispatcher()方法獲得。例如下面的代碼就是跳轉(zhuǎn)到login_success.jsp頁面。


  request.getRequestDispatcher("login_success.jsp").forward(request,response);


  重定向(Redirect)是利用服務(wù)器返回的狀態(tài)嗎來實(shí)現(xiàn)的。客戶端瀏覽器請求服務(wù)器的時(shí)候,服務(wù)器會(huì)返回一個(gè)狀態(tài)碼。服務(wù)器通過HttpServletRequestResponse的setStatus(intstatus)方法設(shè)置狀態(tài)碼。如果服務(wù)器返回301或者302,則瀏覽器會(huì)到新的網(wǎng)址重新請求該資源。


  從地址欄顯示來說


  forward是服務(wù)器請求資源,服務(wù)器直接訪問目標(biāo)地址的URL,把那個(gè)URL的響應(yīng)內(nèi)容讀取過來,然后把這些內(nèi)容再發(fā)給瀏覽器.瀏覽器根本不知道服務(wù)器發(fā)送的內(nèi)容從哪里來的,所以它的地址欄還是原來的地址.


  redirect是服務(wù)端根據(jù)邏輯,發(fā)送一個(gè)狀態(tài)碼,告訴瀏覽器重新去請求那個(gè)地址.所以地址欄顯示的是新的URL.


  從數(shù)據(jù)共享來說


  forward:轉(zhuǎn)發(fā)頁面和轉(zhuǎn)發(fā)到的頁面可以共享request里面的數(shù)據(jù).


  redirect:不能共享數(shù)據(jù).


  從運(yùn)用地方來說


  forward:一般用于用戶登陸的時(shí)候,根據(jù)角色轉(zhuǎn)發(fā)到相應(yīng)的模塊.


  redirect:一般用于用戶注銷登陸時(shí)返回主頁面和跳轉(zhuǎn)到其它的網(wǎng)站等


  從效率來說


  forward:高.


  redirect:低.


  自動(dòng)刷新(Refresh)


  自動(dòng)刷新不僅可以實(shí)現(xiàn)一段時(shí)間之后自動(dòng)跳轉(zhuǎn)到另一個(gè)頁面,還可以實(shí)現(xiàn)一段時(shí)間之后自動(dòng)刷新本頁面。Servlet中通過HttpServletResponse對(duì)象設(shè)置Header屬性實(shí)現(xiàn)自動(dòng)刷新例如:


  Response.setHeader("Refresh","1000;URL=http://localhost:8080/servlet/example.htm");


  其中1000為時(shí)間,單位為毫秒。URL指定就是要跳轉(zhuǎn)的頁面(如果設(shè)置自己的路徑,就會(huì)實(shí)現(xiàn)沒過一秒自動(dòng)刷新本頁面一次)


  Servlet與線程安全


  Servlet不是線程安全的,多線程并發(fā)的讀寫會(huì)導(dǎo)致數(shù)據(jù)不同步的問題。解決的辦法是盡量不要定義name屬性,而是要把name變量分別定義在doGet()和doPost()方法內(nèi)。雖然使用synchronized(name){}語句塊可以解決問題,但是會(huì)造成線程的等待,不是很科學(xué)的辦法。


  注意:多線程的并發(fā)的讀寫Servlet類屬性會(huì)導(dǎo)致數(shù)據(jù)不同步。但是如果只是并發(fā)地讀取屬性而不寫入,則不存在數(shù)據(jù)不同步的問題。因此Servlet里的只讀屬性最好定義為final類型的。


  動(dòng)力節(jié)點(diǎn)Javaweb開發(fā)視頻


  Tomcat9配置和使用:http://www.dabaquan.cn/v76/


  JavaWeb開發(fā)基礎(chǔ):http://www.dabaquan.cn/v77/


  Servlet編程:http://www.dabaquan.cn/v33/


  JSP:http://www.dabaquan.cn/v34/


  Session/Cookie:http://www.dabaquan.cn/v74/


  Filter:http://www.dabaquan.cn/v80/


JavaWeb總結(jié)內(nèi)涵超全面的javaweb視頻教程


       以上就是動(dòng)力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)小編介紹的“JavaWeb總結(jié)內(nèi)涵超全面的javaweb視頻教程”的內(nèi)容,希望對(duì)大家有幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。


  相關(guān)內(nèi)容


  Java web目前流行的框架總結(jié)


  五大 JAVA Web 框架的優(yōu)缺點(diǎn)對(duì)比


  Javaweb開發(fā)學(xué)習(xí)路線及Java三大框架


  JavaWEB基礎(chǔ)面試題


  Javaweb學(xué)習(xí)路線(自學(xué)規(guī)劃)


提交申請后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 久久久噜噜噜久久老司机 | 成人a毛片在线看免费全部播放 | 国产视频一区二 | 九九99香蕉在线视频免费 | 亚洲两性| 久久免费精品视频在线观看 | 亚洲香蕉久久一区二区三区四区 | 色综合天天综合网站中国 | 久久99久久成人免费播放 | 欧美人在线一区二区三区 | 999国产视频 | 丁香激情综合色伊人久久 | 欧美日韩高清一区 | 亚洲国产人成中文幕一级二级 | 综合亚洲色图 | 日韩欧美一级毛片视频免费 | 亚洲特级aaaaaa毛片 | 欧美亚洲一区二区三区在线 | 天天操天天插 | 天天做天天爱夜夜想毛片 | 久久水蜜桃 | 日本一区二区三区中文字幕 | 97在线视频免费公开观看 | 99爱视频在线观看免费播放 | 一级亚洲 | 免费看成人毛片日本久久 | 一级毛片在线观看视频 | 国产成+人+综合+亚洲专 | 夜夜爽夜夜叫夜夜高潮漏水 | 欧美一级特黄一片免费 | 色婷婷香蕉| 国产福利资源在线 | 男人的天堂黄 | 婷婷综合激情五月中文字幕 | 日日狠狠太爽爽 | 国产精品久久久久久久9999 | 欧美一级看片a免费观看 | 婷婷视频网站 | 91久久国产综合精品女同国语 | 91视频最新地址 | 久国产视频 |