如何快速讀懂項(xiàng)目源碼javaWeb_第1頁
如何快速讀懂項(xiàng)目源碼javaWeb_第2頁
如何快速讀懂項(xiàng)目源碼javaWeb_第3頁
如何快速讀懂項(xiàng)目源碼javaWeb_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

一:學(xué)會(huì)如何讀一個(gè)JavaWeb工程源代碼步驟:表結(jié)構(gòu)->web.xml->mvc->db->springioc->log->代碼1、先了解工程數(shù)據(jù)庫的表結(jié)構(gòu),這個(gè)方面是最容易忘記的,有時(shí)候我們只顧著看每一個(gè)方法是怎么進(jìn)行的,卻沒有去了解數(shù)據(jù)庫之間的主外鍵關(guān)聯(lián)。其實(shí)如果先了解數(shù)據(jù)庫表結(jié)構(gòu),再去看一個(gè)方法的實(shí)現(xiàn)會(huì)更加容易。2、然后需要過一遍web.xml,知道工程中用到了什么攔截器,監(jiān)聽器,過濾器,擁有哪些配置文件。如果是攔截器,一般負(fù)責(zé)過濾請(qǐng)求,進(jìn)行AOP等;如果是監(jiān)聽器,可能是定時(shí)任務(wù),初始化任務(wù);配置文件有如使用了spring后的讀取mvc相關(guān),db相關(guān),service相關(guān),aop相關(guān)的文件。3、查看攔截器,監(jiān)聽器代碼,知道攔截了什么請(qǐng)求,這個(gè)類完成了怎樣的工作。有的人就是因?yàn)槿鄙倭诉@一步,自己寫了一個(gè)action,配置文件也沒有寫錯(cuò),但是卻怎么調(diào)試也無法進(jìn)入這個(gè)action,直到別人告訴他,請(qǐng)求被攔截了。4、接下來,看配置文件,首先一定是mvc相關(guān)的,如springmvc中,要請(qǐng)求哪些請(qǐng)求是靜態(tài)資源,使用了哪些view策略,controller注解放在哪個(gè)包下等。然后是db相關(guān)配置文件,看使用了什么數(shù)據(jù)庫,使用了什么orm框架,是否開啟了二級(jí)緩存,使用哪種產(chǎn)品作為二級(jí)緩存,事務(wù)管理的處理,需要掃描的實(shí)體類放在什么位置。最后是spring核心的ioc功能相關(guān)的配置文件,知道接口與具體類的注入大致是怎樣的。當(dāng)然還有一些如apectj等的配置文件,也是在這個(gè)步驟中完成5、log相關(guān)文件,日志的各個(gè)級(jí)別是如何處理的,在哪些地方使用了log記錄日志6、從上面幾點(diǎn)后知道了整個(gè)開源工程的整體框架,閱讀每個(gè)方法就不再那么難了。7、當(dāng)然如果有工程配套的開發(fā)文檔也是要閱讀的。二:爬蟲是如何實(shí)現(xiàn)的:獲取規(guī)那么url(正那么表達(dá)式)->模擬請(qǐng)求〔如clientget請(qǐng)求〕->獲取列表頁html->獲取信息頁->發(fā)送請(qǐng)求->信息頁html->根據(jù)規(guī)那么截取相應(yīng)的字段信息->對(duì)字段進(jìn)行清理(如圖片壓縮)->靜態(tài)化(存儲(chǔ)到數(shù)據(jù)庫)三:架構(gòu)文檔開發(fā)工程是需要學(xué)會(huì)寫架構(gòu)文檔,而不是只是做一個(gè)碼農(nóng)包含以下內(nèi)容:1、模塊分級(jí),各模塊關(guān)系,各模塊負(fù)責(zé)人2、各模塊時(shí)序圖3、各模塊表結(jié)構(gòu)4、協(xié)議文檔(接口文檔)5、每個(gè)負(fù)責(zé)人工作方案下發(fā)任務(wù)后每個(gè)模塊的負(fù)責(zé)人用開發(fā)工具畫出自己的時(shí)序圖,表結(jié)構(gòu)和接口文檔,最后匯總到總工程負(fù)責(zé)人處。四:其它1、數(shù)據(jù)庫是否分表問題:用分表的方式管理表有時(shí)并不合理,如果讀的壓力高是不值得的,可能更慢。如果寫并發(fā)高就行〔以千萬級(jí)別為準(zhǔn)〕。讀是按緩存的,緩存密度在95%以上是比擬保險(xiǎn)的。讀的優(yōu)化:讀單條信息,只需搜到這個(gè)id,然后直接從緩存中拿,緩存用id做緩存,查id的效率是很高的。2、CMS=模板+數(shù)據(jù):可以通過只有一套自己的模板〔如用freemarker〕,發(fā)送請(qǐng)求獲取json數(shù)據(jù)填入信息。CMS有模板通過把數(shù)據(jù)填入模板即形成一個(gè)網(wǎng)頁。3、計(jì)算機(jī)瀏覽器的網(wǎng)頁內(nèi)容要在上查看,需要做到響應(yīng)式HTML。4、如通過抓取網(wǎng)頁內(nèi)容放到app上顯示,需要做的內(nèi)容:圖片大

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論