更新時間:2020-02-19 10:02:34 來源:動力節點 瀏覽2102次
Java語言能長期霸占語言排行榜一個重要的原因就是強大的web開發能力,web開發是java的基石(在EJB推出的時候當時的Sun用基石來描述EJB),所以了解javaweb開發原理是非常重要的
Web開發的歷史
web開發的歷史其實并不久遠,要搞清楚javaweb開發的特點(主要是優點),首先要了解web開發的歷史(簡單的回歸一下)。早期的web是非常簡單的結構,用戶發出請求(request),服務器給出回應(response),這個時期的web應用,我們稱為website(網站),特點是一些列靜態內容的集合。看一個圖示:紹。
圖中的服務器保持了一系列html腳本來響應用戶的請求,可以說這個時期的web應用還是比較簡單的,但是卻確立了兩個重要的對象:一個request(代表請求),另一個是response(代表回應)。如果把web開發的歷史比喻成一部美國大片的話,那么request和response絕對是這部大片的那女主角,而且每一部都是不可或缺的主角(簡單的說就是死不了)。
看到這個圖,不知道第一批從事web開發的80后是否和我一樣,已經有點感觸了,當年為了搞清楚這個結構,曾經連續多少個通宵做實驗(實驗環境比較惡劣)。沒關系,這僅僅是個開始,我想當你看完這篇文章的時候,你會淚流滿面的(相信我)。為了配合一下這張結構圖,在web發展過程中,有一個小插曲,就是在website向webapplication發展的過程中,出現了一個小“玩意兒”,就是applet,很多人了解java都是從使用javaapplet開始的(70,80后那一批程序員)。當時風靡校園(我當時在讀大一)的網易聊天室,哎呀那個火啊(大家回憶一下你在學校機房上網時的興奮),這個聊天室就是采用了applet構建的,當時applet給靜態頁面一個動態交互的可能,著實火了一段時間。現在知道applet的程序員,你已經暴露年齡了。看一張圖片吧:
我想這個時候,淚點低的70、80后已經有點濕潤了吧。濕潤的,自覺在這里停留一分鐘,對著屏幕來張合影,發個朋友圈。
過了這個插曲,真正的三層web開發來了,一個里程碑式的web處理方式CGI,看一張圖:
CGI的推出,使得web開發正式進入了動態處理時代,服務器能與客戶有真正意義上的交流了,有能存儲數據的數據庫了,雖然CGI的使用周期并不長,但是一定要紀念一下它,畢竟它是里程碑式的變革。javaweb技術正是踩著CGI的肩膀來到了廣大程序員的面前,javaweb解決了CGI的性能問題。CGI是以進程為單位管理請求的,而javaweb則是以線程為單位,處理能力更強,占用的資源更少,這個核心的組件就是Servlet。看一組資源占用圖,先看CGI的:
再看一下javaweb中的servlet資源圖:
孰優孰劣一目了然,Servlet解決相同數量的請求,卻占用較少的系統資源,這就是為什么廣大程序員拋棄了CGI轉向javaweb的原因。
另外,開發一個Servlet并不復雜,看一個Servlet編寫的HelloWorld應用:
這個代碼結構是不是很親切,是不是很有Coding的感覺,其實Servlet就是個java類而已,只不過增加了幾個限制而已,所以開發一個Servlet并不復雜。然后就是把它部署到web服務器上(Tomcat這個老人家現在身體依然硬朗!),然后就等待客戶的請求就可以了。這是Servlet的三層部署圖:
再看一下組合使用Servlet+javaBean+JSP的Model2開發結構:
這個結構是標準的Javaweb開發結構,現在是不是很少能看到這么“干凈”的描述圖了?以上就是標準的javaweb開發的歷史描述,當然這并不是說這些內容已經過時了,反而它一直是官方的標準解決方案。只不過web發展迎來了另一個階段,繁榮的開源架構時代來了。。。
開源框架時代
這個時代的典型代表就是Struts、Spring和Hibernate,簡稱SSH。
嚴格的說,這部分內容并不是官方解決方案,但是這些方案卻得到了廣大程序員的擁護,一方面原因是EJB的方案太重了,另一方面開源架構使用起來非常方便和靈活,所以從03年以后這些開源框架得到了普通的使用。
下面我簡單描述一下這三個框架:
Struts基于MVC結構的解決方案,分為struts1(已經淘汰了,用過Struts1的程序員已經老了)和struts2兩個版本,和Python一樣,這兩個版本不兼容,目前Struts2的最新版本是2.5.14.1,簡單的說Struts就是構建了現成的MVC框架,程序員往這個框架里加代碼就可以了,使用起來非常方便。
Hibernate框架完成了面向對象與面向關系的映射,讓java程序以面向對象的方式操作面向關系的數據庫。整體結構基于DAO進行擴展,很多操作只需要配置一下就可以了,極其方便。
Spring提供了javaBean的容器,池化了javabean,提高了性能,而且核心代碼不到2M,小巧且強大。
動力節點Javaweb開發視頻
Tomcat9配置和使用:http://www.dabaquan.cn/v76/
JavaWeb開發基礎: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/
以上就是動力節點Java培訓機構小編介紹的“java web是什么原理?內涵Javaweb最新視頻教程”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
相關內容
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習