黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

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

JavaWeb總結內涵超全面的javaweb視頻教程

更新時間:2020-02-10 10:18:32 來源:動力節(jié)點 瀏覽2418次


JavaWeb總結內涵超全面的javaweb視頻教程


  Servlet總結:


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


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


  CGI的不足之處:


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


  需要為每個請求加載和運行一個CGI程序,這將帶來很大的開銷


  需要重復編寫處理網絡協(xié)議的代碼以及編碼,這些工作都是非常耗時的。


  Servlet的優(yōu)點:


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


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


  所有動態(tài)加載的類可以實現對網絡協(xié)議以及請求解碼的共享,大大降低了工作量。


  Servlet能直接和Web服務器交互,而普通的CGI程序不能。Servlet還能在各個程序之間共享數據,使數據庫連接池之類的功能很容易實現。


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


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


  Servlet接口定義了5個方法,其中前三個方法與Servlet生命周期相關:


  voidinit(ServletConfigconfig)throwsServletException


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


  voiddestory()


  java.lang.StringgetServletInfo()


  ServletConfiggetServletConfig()


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


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


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


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


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


  4、使用get時參數會顯示在地址欄上,如果這些數據不是敏感數據,那么可以使用get;對于敏感數據還是應用使用post;


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


  補充:GET方式提交表單的典型應用是搜索引擎。GET方式就是被設計為查詢用的。


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


  Form標簽里的method的屬性為get時調用doGet(),為post時調用doPost()。


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


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


  轉發(fā)(Forword)


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


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


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


  從地址欄顯示來說


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


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


  從數據共享來說


  forward:轉發(fā)頁面和轉發(fā)到的頁面可以共享request里面的數據.


  redirect:不能共享數據.


  從運用地方來說


  forward:一般用于用戶登陸的時候,根據角色轉發(fā)到相應的模塊.


  redirect:一般用于用戶注銷登陸時返回主頁面和跳轉到其它的網站等


  從效率來說


  forward:高.


  redirect:低.


  自動刷新(Refresh)


  自動刷新不僅可以實現一段時間之后自動跳轉到另一個頁面,還可以實現一段時間之后自動刷新本頁面。Servlet中通過HttpServletResponse對象設置Header屬性實現自動刷新例如:


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


  其中1000為時間,單位為毫秒。URL指定就是要跳轉的頁面(如果設置自己的路徑,就會實現沒過一秒自動刷新本頁面一次)


  Servlet與線程安全


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


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


  動力節(jié)點Javaweb開發(fā)視頻


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


  JavaWeb開發(fā)基礎:http://www.ilovecolors.com.cn/v77/


  Servlet編程:http://www.ilovecolors.com.cn/v33/


  JSP:http://www.ilovecolors.com.cn/v34/


  Session/Cookie:http://www.ilovecolors.com.cn/v74/


  Filter:http://www.ilovecolors.com.cn/v80/


JavaWeb總結內涵超全面的javaweb視頻教程


       以上就是動力節(jié)點Java培訓機構小編介紹的“JavaWeb總結內涵超全面的javaweb視頻教程”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務。


  相關內容


  Java web目前流行的框架總結


  五大 JAVA Web 框架的優(yōu)缺點對比


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


  JavaWEB基礎面試題


  Javaweb學習路線(自學規(guī)劃)


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 草草在线观看视频 | 国产日韩不卡免费精品视频 | 看黄色毛片| 久久综合综合久久狠狠狠97色 | 日本三级视频在线 | 国产精品福利午夜h视频 | xxxx亚洲| 香蕉视频黄色软件 | 国产日韩欧美网站 | 午夜精品在线免费观看 | 欧美黄色免费在线观看 | 在线日韩欧美 | 波多野结衣中文字幕在线 | 国产高级黄区18勿进一区二区 | 欧美日韩中文一区二区三区 | 在线观看欧洲成人免费视频 | 天天操天天干天天做 | 夫妻生活毛片 | 欧美一级xxxx俄罗斯一级 | 在线精品国精品国产不卡 | 99精彩视频在线观看 | 国产精品免费大片一区二区 | 波多野结衣亚洲一区二区三区 | 在线观看视频你懂得 | 人人干日日干 | 国产高清在线视频一区二区三区 | 全网毛片免费| 国内精品视频一区 | 欧美色爽 | 欧美在线观看一区 | 日韩手机视频 | 国产免费怕怕免费视频观看 | 羞视频在线观看 | 猫色网站 | 色视频在线观看 | 午夜视频在线 | 国产一区中文字幕 | 在线观看国产精品日本不卡网 | 成年人免费在线观看网站 | 日韩欧美一区二区三区在线观看 | 天天看天天爽天天摸天天添 |