日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

搞懂了这几点,你就学会了Web编程

發(fā)布時(shí)間:2025/3/21 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 搞懂了这几点,你就学会了Web编程 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

做了那么多年Web編程,仔細(xì)想想, 其實(shí)本質(zhì)上就那點(diǎn)事兒, 你抓住了幾個(gè)重點(diǎn)問(wèn)題, 學(xué)起來(lái)一點(diǎn)都不難。

1. ?理解瀏覽器/服務(wù)器結(jié)構(gòu) (B/S)

B/S 是從 90年代的客戶(hù)端/服務(wù)器端發(fā)展而來(lái), 共同點(diǎn)都是由一個(gè)(或一組)服務(wù)器來(lái)服務(wù)多個(gè)客戶(hù)端。?

差別在于:首先,C/S結(jié)構(gòu)的客戶(hù)端可能是由不同語(yǔ)言編寫(xiě)的,例如VB,Delphi, PowerBuilder等, B/S結(jié)構(gòu)中瀏覽器成為了一個(gè)通用的客戶(hù)端, 程序以Web的方式呈現(xiàn),不需要安裝,服務(wù)器端的升級(jí)就意味著所有客戶(hù)端的升級(jí),這和C/S相比是個(gè)翻天覆地的變化。

其次B/S的訪問(wèn)協(xié)議也標(biāo)準(zhǔn)化為HTTP(s) ?,而不是原來(lái)各種各樣的私有協(xié)議。

最后B/S結(jié)構(gòu)中的服務(wù)器面向全球用戶(hù)訪問(wèn),而不像C/S那樣僅僅是局域網(wǎng), 所以壓力更大, 挑戰(zhàn)更大。

?

2. Web頁(yè)面是怎么組成的?

簡(jiǎn)單來(lái)說(shuō)就是HTML + CSS + Javascript , ?我們看到的Web界面就是由這三者組成。

HTML負(fù)責(zé)結(jié)構(gòu), CSS負(fù)責(zé)展現(xiàn), 而Javascript負(fù)責(zé)行為。

我們說(shuō)的前端開(kāi)發(fā)也主要是做這一塊, 對(duì)于前端工程師,需要能理解DOM 模型,以及如何通過(guò)javascript(例如JQuery等框架)來(lái)操作DOM模型。?

?

3. 瀏覽器和服務(wù)器是怎么打交道的?

當(dāng)然是HTTP ! ?HTTP說(shuō)穿了就是瀏覽器和服務(wù)器聊天時(shí)的一種約定, 這個(gè)約定確保雙方互相理解。

完整的HTTP是非常復(fù)雜的,《HTTP權(quán)威指南》一書(shū)厚達(dá)700多頁(yè)。

其實(shí)我們最常用, 也是最重要的也就那么幾點(diǎn):

(1) GET 和 POST 。 GET從服務(wù)器端獲取數(shù)據(jù), ?POST 向服務(wù)器端發(fā)送數(shù)據(jù)(由此引出圖片上傳問(wèn)題)

(2)?HTTP是個(gè)沒(méi)有狀態(tài)的協(xié)議,需要通過(guò)額外的機(jī)制來(lái)維持狀態(tài)(例如登錄狀態(tài)), 常用的方法就是cookie。

(3) 理解HTTP 狀態(tài)碼

(4) 理解?同步 vs 異步(由此引出AJAX,以及JQuery等框架)

?

4. URL 和?代碼的映射

理解url 和 代碼之間的關(guān)聯(lián), 例如?www.xxx.com?action=login ?這樣的url 是怎么和后端的業(yè)務(wù)代碼關(guān)聯(lián)起來(lái)的??

這樣的規(guī)則是在哪里定義的? 用代碼、注解還是配置文件?

后端的業(yè)務(wù)代碼該如何組織? 相信現(xiàn)在不會(huì)有人把業(yè)務(wù)邏輯都寫(xiě)到Servlet當(dāng)中了, ?所以需要很多MVC 框架像Struts , SpringMVC 來(lái)組織代碼,讓系統(tǒng)清晰易懂。

?

5. 數(shù)據(jù)的驗(yàn)證、轉(zhuǎn)換和綁定

如何保證瀏覽器發(fā)過(guò)來(lái)的數(shù)據(jù)是符合要求的??

例如不能為空、不超過(guò)8個(gè)字符、兩個(gè)密碼必須相等.... ?, 出錯(cuò)了得給出錯(cuò)誤提示。

瀏覽器發(fā)過(guò)來(lái)的數(shù)據(jù)都是形如username=liuxin&password=123456這樣簡(jiǎn)單的文本, 但是后臺(tái)程序卻有著豐富的數(shù)據(jù)類(lèi)型,什么String, Date ,Integer等等。?所以需要把文本變成指定語(yǔ)言的類(lèi)型。

類(lèi)型轉(zhuǎn)換以后, 后端的業(yè)務(wù)代碼怎么才能有效的使用呢?

最簡(jiǎn)單的就是弄一個(gè)key : value 這個(gè)樣的Map 出來(lái), 業(yè)務(wù)代碼直接用map.get(key) 即可。

高級(jí)一點(diǎn)的可以把頁(yè)面發(fā)來(lái)的數(shù)據(jù)直接綁定到對(duì)象的屬性上, 并且支持?jǐn)?shù)組,嵌套等復(fù)雜的結(jié)構(gòu)。

例如user.name=liuxin&user.password=123456 ?可以綁定到一個(gè)叫User的對(duì)象, 其中有兩個(gè)屬性u(píng)serName和password。?

?

6. Web安全

如何防止黑客利用SQL 注入,跨站腳本攻擊, 跨站請(qǐng)求偽造等手段來(lái)攻擊系統(tǒng)?

?

7. 數(shù)據(jù)庫(kù)訪問(wèn)

這一塊是比較麻煩的, 畢竟面向?qū)ο?OO)世界和關(guān)系(Relational)數(shù)據(jù)庫(kù)之間存在著天然的鴻溝。?

對(duì)于簡(jiǎn)單的應(yīng)用, 直接寫(xiě)點(diǎn)JDBC就夠用了,只需要掌握Connection, Statement , Resultset這三個(gè)基礎(chǔ)。?

復(fù)雜點(diǎn)的需要用O/R Mapping 框架來(lái)搞定,例如 Hibernate, MyBatis ?,還有RoR的ActiveRecord。

這其中比較棘手的就是表之間的關(guān)聯(lián), 就是所謂的一對(duì)多, 一對(duì)一, 多對(duì)多這樣的關(guān)系, 如何在面向?qū)ο蟮氖澜缋锩枋觥?/p>

擴(kuò)展開(kāi)去,還需要處理連接池, 事務(wù),鎖 等各種煩人問(wèn)題。

?

8. 用什么技術(shù)來(lái)生成Web頁(yè)面?

這里說(shuō)的Web頁(yè)面就是第2點(diǎn)中的頁(yè)面,包括HTML, CSS, Javascript。?

能不能直接用Servlet的PrintWriter 直接輸出HTML ? 當(dāng)然可以,只是以后就沒(méi)有人看懂了。

現(xiàn)在用來(lái)創(chuàng)建Web頁(yè)面的技術(shù)多如牛毛:例如 JSP, Velocity, Freemaker, Groovy 等等, 他們都有一個(gè)共同點(diǎn):?模板技術(shù)

說(shuō)白了就是有一個(gè)HTML的模板, 里邊可以嵌入代碼, 這個(gè)模板在運(yùn)行時(shí)(例如在Tomcat當(dāng)中)就可以根據(jù)輸入的不同而生成不同內(nèi)容的Web界面了。?

無(wú)論哪種模板,都需要面對(duì)一個(gè)重要問(wèn)題:如何展示從業(yè)務(wù)邏輯層發(fā)送來(lái)的數(shù)據(jù)? ?這一步驟其實(shí)和第5步中的數(shù)據(jù)綁定有密切關(guān)系。因?yàn)檫@一步需要確定諸如user.name ?, user.password這樣的字段名稱(chēng)。

?

9. 如何把對(duì)象變成XML或者JSON字符串?

由于AJAX以及手機(jī)端的存在,對(duì)于一個(gè)URL的請(qǐng)求, 他們要求的返回值通常不是HTML頁(yè)面, 而是XML或者JSON數(shù)據(jù), 此時(shí)需要有框架把對(duì)象轉(zhuǎn)化成相應(yīng)的字符串。?

?

搞定了Web這些基礎(chǔ)的東西,在公司里做一個(gè)Web程序員應(yīng)該不在話下了, 接下來(lái)需要學(xué)習(xí)的就是像高并發(fā),緩存,搜索,分布式等高級(jí)的內(nèi)容了。

總結(jié)

以上是生活随笔為你收集整理的搞懂了这几点,你就学会了Web编程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲AV无码国产精品播放在线 | 成人av中文解说水果派 | 亚洲a视频在线观看 | 少妇脱了内裤让我添 | 伊人春色在线视频 | 激情亚洲色图 | 国产精品美女久久久网av | www亚洲国产 | 久久精品在线观看 | 蜜桃臀av一区二区三区 | 美女少妇一区二区 | 久久九色 | 国产精品久久久久久久久久辛辛 | 亚洲精品9999 | 毛片久久久久久 | 久草黄色 | 69天堂网 | 亚洲成a人片在线www | 久久久久国产精品无码免费看 | 欧美操操 | 免费一级欧美 | 午夜xx | youjizz在线视频 | 欧美三级一区二区 | 日韩制服诱惑 | 7x7x7x人成影视| 麻豆最新网址 | 久久伊人国产 | 精品一区二区三区蜜桃 | 日韩欧美麻豆 | 亚洲精品免费在线播放 | 一级女人毛片 | 高清一区在线观看 | 亚洲成人a∨ | 人妻激情文学 | 国产涩涩 | 日韩国产欧美综合 | 理论片在线观看视频 | 亚洲国产精品无码专区 | 国产精品无码一区二区桃花视频 | 国产欧美日韩专区发布 | 一区二区三区四区五区六区 | 伊人网中文字幕 | 日韩av免费| 一级特毛片 | 久久久夜夜夜 | 天堂中文在线官网 | 日韩最新av | 久久精品99国产精 | 秘密基地在线观看完整版免费 | 久久亚洲精品石原莉奈 | 国产成人毛毛毛片 | 日韩亚洲欧美在线 | 舌奴调教日记 | 国内成人自拍视频 | 亚洲青春草 | 国产男女无套免费网站 | 欧美一级二级片 | 99久久婷婷国产综合精品电影 | 天天夜夜啦啦啦 | 在线观看国产欧美 | 少妇一级淫片免费放播放 | 国产100页 | 神马久久久久久久 | 青青青国内视频在线观看软件 | 香蕉久久夜色精品升级完成 | 欧美精品在线第一页 | 国产日韩一区二区在线 | 午夜色综合| 四虎在线观看 | 87福利视频| 色 综合 欧美 亚洲 国产 | 国产成人av一区 | 亚洲免费色 | 在线视频中文 | 丁香六月综合 | 亚洲精品成a人在线观看 | 国产精品xxx在线观看 | 在线免费观看亚洲 | 亚洲av无码一区二区三区dv | 亚洲一区二区三区综合 | 超碰在线a| 欧美丰满少妇 | 手机看片福利在线 | 欧美精品二区三区四区免费看视频 | 欧美综合网 | 边添小泬边狠狠躁视频 | 久久久久久亚洲av毛片大全 | 中文字幕无码人妻少妇免费 | 久久伊人色 | 日本在线资源 | 天堂中文在线资 | 亚洲久久视频 | 蜜臀av无码精品人妻色欲 | 无码任你躁久久久久久老妇 | 草莓视频在线观看18 | 欧美日韩综合一区二区三区 | 亚洲啪啪免费视频 | 成人免费视频a |