服務(wù)器工作原理和運(yùn)作原理 java web是什么原理?
java web是什么原理?如果你是70后、80后程序員,一定要看完這篇文章,保證記憶飽滿。如果你是90后,你應(yīng)該看看這篇文章,因?yàn)槟憧梢哉业絡(luò)ava web開(kāi)發(fā)的歷史。不管怎么說(shuō),java語(yǔ)言之所以
java web是什么原理?
如果你是70后、80后程序員,一定要看完這篇文章,保證記憶飽滿。如果你是90后,你應(yīng)該看看這篇文章,因?yàn)槟憧梢哉业絡(luò)ava web開(kāi)發(fā)的歷史。
不管怎么說(shuō),java語(yǔ)言之所以能長(zhǎng)期占據(jù)語(yǔ)言榜的重要原因之一就是其強(qiáng)大的web開(kāi)發(fā)能力。web開(kāi)發(fā)是Java的基石(孫在介紹的時(shí)候用它來(lái)形容),所以了解java web開(kāi)發(fā)的原理非常重要。如果它 僅僅談?wù)搄ava web開(kāi)發(fā)的原理有點(diǎn)單薄,今天我將與頭條讀者分享java web開(kāi)發(fā)的主要內(nèi)容(我一直打算寫(xiě)一篇關(guān)于java web的文章,但是我還沒(méi)有 我沒(méi)有時(shí)間寫(xiě)它,所以讓 讓我們從今天開(kāi)始。
web開(kāi)發(fā)的歷史web開(kāi)發(fā)的歷史不是很長(zhǎng)。要了解java web開(kāi)發(fā)的特點(diǎn)(主要是優(yōu)勢(shì)),首先要了解web開(kāi)發(fā)的歷史(簡(jiǎn)單回歸)。在早期,網(wǎng)絡(luò)是一個(gè)非常簡(jiǎn)單的結(jié)構(gòu)。用戶(hù)發(fā)送請(qǐng)求,服務(wù)器給出響應(yīng)。在這個(gè)時(shí)期,我們稱(chēng)之為web站點(diǎn)的web應(yīng)用程序的特征是靜態(tài)內(nèi)容的集合??匆粋€(gè)圖標(biāo):
圖中的服務(wù)器保存了一系列html腳本來(lái)響應(yīng)用戶(hù)。;請(qǐng)求。可以說(shuō)這個(gè)時(shí)期的web應(yīng)用還是比較簡(jiǎn)單的,但是它建立了兩個(gè)重要的對(duì)象:一個(gè)請(qǐng)求(代表請(qǐng)求)和一個(gè)響應(yīng)(代表響應(yīng))。如果把web發(fā)展的歷史比作一部美國(guó)大片,那么請(qǐng)求和響應(yīng)絕對(duì)是這部大片的女主角,每一個(gè)都是不可或缺的主角(簡(jiǎn)而言之,他們可以 t死)。
看到這張照片,我不 不知道第一批從事web開(kāi)發(fā)的80后是不是和我一樣。我已經(jīng)有一些感覺(jué)了。為了了解這個(gè)結(jié)構(gòu),連續(xù)做了多少個(gè)通宵的實(shí)驗(yàn)(實(shí)驗(yàn)環(huán)境比較惡劣)。它不 沒(méi)關(guān)系,這只是開(kāi)始。我想你看完這篇文章一定會(huì)淚流滿面(相信我)。為了配合這個(gè)結(jié)構(gòu)圖,我有一張圖(當(dāng)年的我):
在web開(kāi)發(fā)的過(guò)程中,有一個(gè)小插曲,就是在網(wǎng)站發(fā)展到web應(yīng)用的過(guò)程中,一個(gè)小 "小工具 "出現(xiàn)了,就是小程序。很多人都知道java是用java小程序起家的(70后80后程序員群體)。當(dāng)時(shí)校園里流行網(wǎng)易聊天室(當(dāng)時(shí)我大一)。唉,這是一場(chǎng)大火(讓 讓我們回憶一下你在學(xué)校機(jī)房上網(wǎng)時(shí)的興奮心情。這個(gè)聊天室是用小程序建立的。當(dāng)時(shí)小程序給了靜態(tài)頁(yè)面動(dòng)態(tài)交互的可能,真的流行了一段時(shí)間?,F(xiàn)在我們知道了pplet的程序員,你已經(jīng)暴露了你的年齡。看一張圖:
我認(rèn)為在這個(gè)時(shí)候。;70后80后的低淚已經(jīng)有點(diǎn)濕了。濕漉漉的,自覺(jué)在這里呆一分鐘,跟屏幕合個(gè)影,發(fā)個(gè)朋友圈。
經(jīng)過(guò)這一集,真正的三層web開(kāi)發(fā)來(lái)了,一個(gè)里程碑式的web處理方法CGI,看一張圖:
隨著CGI的引入,web開(kāi)發(fā)正式進(jìn)入了動(dòng)態(tài)處理時(shí)代。服務(wù)器可以和客戶(hù)進(jìn)行真正意義上的交流,有一個(gè)可以存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)庫(kù)。雖然CGI的使用周期不長(zhǎng),但是一定要紀(jì)念一下。畢竟是里程碑式的改變。Java web技術(shù)只是踩在CGI的肩膀上,來(lái)到程序員的面前。java web解決了CGI的性能問(wèn)題。CGI以進(jìn)程為基礎(chǔ)管理請(qǐng)求,而java web以線程為基礎(chǔ),處理能力更強(qiáng),占用資源更少。這個(gè)核心組件是Servlet??匆唤M資源占用圖,先看CGI:
再次查看java web中的servlet資源圖:
孰優(yōu)孰劣顯而易見(jiàn)。Servlet解決同樣數(shù)量的請(qǐng)求,卻占用更少的系統(tǒng)資源,這也是大多數(shù)程序員放棄CGI,轉(zhuǎn)向java web的原因。
此外,開(kāi)發(fā)一個(gè)Servlet并不復(fù)雜??匆粋€(gè)由Servlet編寫(xiě)的HelloWorld應(yīng)用程序:
這種代碼結(jié)構(gòu)友好嗎?是不是有編碼的感覺(jué)?實(shí)際上,Servlet只是一個(gè)有一些限制的java類(lèi),所以開(kāi)發(fā)Servlet并不復(fù)雜。然后部署到web服務(wù)器上(Tomcat還是很健康的!),然后就等著客戶(hù) 的要求。這是Servlet的三層部署圖:
java web開(kāi)發(fā)的技術(shù)體系還包括javabean和jsp。將這三種技術(shù)與MVC結(jié)構(gòu)相結(jié)合,是java web開(kāi)發(fā)的基本內(nèi)容。讓 讓我們先來(lái)看看MVC的功能圖:
讓 讓我們來(lái)看看結(jié)合Servlet javaBean JSP的Model2開(kāi)發(fā)結(jié)構(gòu):
這個(gè)結(jié)構(gòu)是一個(gè)標(biāo)準(zhǔn)的Java web開(kāi)發(fā)結(jié)構(gòu)。這樣的a "清潔 "現(xiàn)在描述圖?以上是標(biāo)準(zhǔn)java web開(kāi)發(fā)的歷史描述。當(dāng)然,這并不是說(shuō)這些內(nèi)容已經(jīng)過(guò)時(shí)了,而是一直以來(lái)都是官方的標(biāo)準(zhǔn)解決方案。It 只是web的發(fā)展迎來(lái)了另一個(gè)階段,繁榮的開(kāi)源架構(gòu)時(shí)代已經(jīng)到來(lái)。。。
開(kāi)源框架時(shí)代的典型代表是Struts,Spring和Hibernate,簡(jiǎn)稱(chēng)SSH。
嚴(yán)格來(lái)說(shuō),這部分內(nèi)容并不是官方的解決方案,但是這些解決方案已經(jīng)得到了廣大程序員的支持。一方面,EJB方案過(guò)于沉重。另一方面,開(kāi)源框架使用起來(lái)非常方便靈活,所以從2003年開(kāi)始就被普遍使用。
讓我簡(jiǎn)單描述一下這三個(gè)框架:
Struts 基于MVC結(jié)構(gòu)的解決方案分為兩個(gè)版本:struts1(已經(jīng)淘汰,用過(guò)Struts1的程序員都老了)和struts2。像Python一樣,這兩個(gè)版本是不兼容的。目前,Struts2的最新版本是2.5.14.1。簡(jiǎn)單來(lái)說(shuō),Struts就是搭建一個(gè)現(xiàn)成的MVC框架,程序員可以在這個(gè)框架中添加代碼,使用起來(lái)非常方便。
Hib
關(guān)于游戲的運(yùn)行原理_?
首先,讓我們 讓我們來(lái)看看網(wǎng)絡(luò)游戲的工作原理:網(wǎng)絡(luò)游戲是這樣工作的:
1.服務(wù)器記錄并保存所有用戶(hù)信息,所有信息修改都由服務(wù)器完成。
2.服務(wù)器接受客戶(hù)端的請(qǐng)求,向客戶(hù)端發(fā)送必要的信息,讓播放器正常播放。
3.服務(wù)器接收客戶(hù)端反饋的信息,并根據(jù)反饋信息修改游戲賬號(hào)。從上面的簡(jiǎn)單介紹可以看出,網(wǎng)絡(luò)游戲可以認(rèn)為是這樣工作的:客戶(hù)端電腦操作服務(wù)器電腦修改游戲賬號(hào)信息!現(xiàn)在大部分網(wǎng)絡(luò)游戲都是基于互聯(lián)網(wǎng)上的客戶(hù)端/服務(wù)器模式。服務(wù)器程序運(yùn)行在游戲服務(wù)器上,游戲設(shè)計(jì)者在其中創(chuàng)建了一個(gè)巨大的游戲空間,世界各地的玩家可以通過(guò)運(yùn)行客戶(hù)端程序同時(shí)登錄游戲。簡(jiǎn)單來(lái)說(shuō),網(wǎng)絡(luò)游戲其實(shí)就是游戲開(kāi)發(fā)商提供的一個(gè)游戲環(huán)境,玩家在這個(gè)環(huán)境下相對(duì)自由開(kāi)放的玩游戲。網(wǎng)游制作不是說(shuō)說(shuō)而已,具體可以看一下這個(gè)環(huán)節(jié)。里面的知識(shí)可能對(duì)你有用。