注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)網(wǎng)絡(luò)與數(shù)據(jù)通信網(wǎng)絡(luò)服務(wù)Tomcat權(quán)威指南

Tomcat權(quán)威指南

Tomcat權(quán)威指南

定 價(jià):¥38.00

作 者: (美)Jason Brittain,(美)Ian F.Darwin著;O'Reilly Taiwan譯;朱恩從改編;O'Reilly譯
出版社: 中國電力出版社
叢編項(xiàng): O'Reilly Java系列
標(biāo) 簽: 暫缺

ISBN: 9787508324715 出版時(shí)間: 2004-08-01 包裝: 膠版紙
開本: 23cm 頁數(shù): 327 字?jǐn)?shù):  

內(nèi)容簡介

  在本書中,GaryPollice、LizAugustine、ChrisLowe和JasMadhur四位作者以自己的親身經(jīng)歷說明了如何在一個(gè)小型團(tuán)隊(duì)、小型項(xiàng)目中應(yīng)用Rational統(tǒng)一過程。其中包含了對開發(fā)過程中各種做法的原因和結(jié)果的全面分析,說明了開發(fā)團(tuán)隊(duì)如何對開發(fā)過程與開發(fā)環(huán)境進(jìn)行動(dòng)態(tài)的調(diào)整。本書的主要內(nèi)容包括:如何在開發(fā)人員、開發(fā)過程和開發(fā)工具之間尋求平衡,并且在軟件開發(fā)的整個(gè)過程中動(dòng)態(tài)地維持這種平衡;如何組合RUP和敏捷開發(fā)原則中的多征方法來建立團(tuán)隊(duì)自身的開發(fā)過程,并且在項(xiàng)目進(jìn)程中對開發(fā)過程進(jìn)行適當(dāng)?shù)恼{(diào)整;如何選擇適當(dāng)?shù)拈_發(fā)工具來對團(tuán)隊(duì)的活動(dòng)提供支持,尤其是對于一個(gè)小型的分布式團(tuán)隊(duì)需要考慮哪些問題;客戶的參與和意見關(guān)系到軟件產(chǎn)品最終能否有效地滿足客戶需求。軟件開發(fā)的目標(biāo)是向用戶交付具有一定價(jià)值的產(chǎn)品。為了提高工作效率,你必須在開發(fā)人員、開發(fā)過程與開發(fā)工具之間維持適度的平衡。每個(gè)人似乎都有自己最喜歡的開發(fā)工具、技巧和開發(fā)過程。軟件公司把開發(fā)工具和方法賣給你,幫助你提高構(gòu)建軟件時(shí)的效率。顧問們向你宣講他們的方法,試圖讓你相信他們知道如何幫助你的機(jī)構(gòu)和項(xiàng)目團(tuán)隊(duì)做得更好。而我們開發(fā)人員則不停地學(xué)習(xí)新的技術(shù)、采用新的工具,來幫助我們在更短的時(shí)間里以更高的質(zhì)量完成更多的工作。我們這些作者在各種軟件項(xiàng)目中工作和對之進(jìn)行觀察的時(shí)間累計(jì)起來超過了七十五年。根據(jù)這些年中所得到的經(jīng)驗(yàn),我們得出一個(gè)結(jié)論,很可能一些聰明的讀者也已經(jīng)想到了:每一個(gè)項(xiàng)目都不一樣,那些幫助某個(gè)團(tuán)隊(duì)取得了巨大成功的方法如果不具有通用性,可能會(huì)導(dǎo)致另一個(gè)團(tuán)隊(duì)的慘痛失敗。每個(gè)團(tuán)隊(duì)都需要確定如何使用一個(gè)特定的開發(fā)過程,然后不斷地進(jìn)行調(diào)整才能取得進(jìn)步。而在這種不會(huì)停止的變化面前,一個(gè)項(xiàng)目團(tuán)隊(duì)如何知道改變哪些做法可以獲得最大的效果?我們的答案是,依靠學(xué)習(xí)盡可能多的技術(shù),依靠學(xué)習(xí)有效使用支持不同技術(shù)的開發(fā)工具,然后確定哪些組合可以工作得最好,以及它們在什么情況下最有效。這也意味著一個(gè)不斷學(xué)習(xí)的過程。好的程序員從其他的程序員那里學(xué)習(xí)。他們通過查看代碼和閱讀關(guān)于不同編程方法的書籍進(jìn)行學(xué)習(xí)。測試人員通過學(xué)習(xí)測試專家的技巧、研究測試設(shè)計(jì)方案和學(xué)習(xí)如何使用新技術(shù)與新工具來獲得提高。實(shí)際上,每一個(gè)獨(dú)立的實(shí)踐者都可以從其他從事相同工作的人那里,或者通過觀察范例來學(xué)到知識(shí)。每個(gè)實(shí)踐者都需要形成自己高效工作的風(fēng)格,既作為獨(dú)立的個(gè)人也作為一個(gè)更大的團(tuán)隊(duì)的一員。團(tuán)隊(duì)也一樣需要利用其他團(tuán)隊(duì)如何工作的范例,來形成自己團(tuán)隊(duì)協(xié)同工作的風(fēng)格。本書是關(guān)于一個(gè)小型團(tuán)隊(duì)如何開發(fā)一個(gè)軟件工具的例子。它是關(guān)于我們做了什么以及為什么這樣做的一本大事記。我們嘗試著解釋了為什么某些做法有效(或者無效),并討論了下一次我們會(huì)改變些什么。在此過程中,我們特別指出了所獲得的經(jīng)驗(yàn)和教訓(xùn),并提供了一些將這些經(jīng)驗(yàn)通用化的思路。讀者所要做的,就是觀察我們所做的工作并汲取我們的經(jīng)驗(yàn)。如果你正在從事小型的軟件開發(fā)項(xiàng)目,你將立刻根據(jù)我們的經(jīng)歷發(fā)現(xiàn)一些問題。你可能已經(jīng)面臨一些我們曾遭遇的問題,并按照自己滿意的方式解決了,或者你仍在試圖找到合適的解決方法。我們希望本書能夠?yàn)槟闾峁┮恍┯杏盟悸?,幫助你選擇和使用合適的開發(fā)工具,與他人一起有效地工作,并選擇最適合你個(gè)人和所在團(tuán)隊(duì)風(fēng)格的技術(shù)。本書的所有作者都曾在軟件行業(yè)的不同類型項(xiàng)目中工作了許多年,從很小的項(xiàng)目到很大的項(xiàng)目都曾涉及。我們對自己的工作都充滿熱情。我們在為Rational軟件公司(現(xiàn)已被IBM公司收購)工作時(shí)相互結(jié)識(shí)。啟動(dòng)此項(xiàng)目的Gary曾經(jīng)在第一個(gè)RationalSuite項(xiàng)目中工作,然后轉(zhuǎn)到RationalUnifiedProcess,即RUP團(tuán)隊(duì)工作。Liz和Chris曾和Gary一起在RationalSuite團(tuán)隊(duì)中工作,而Jas是RUP團(tuán)隊(duì)的成員。我們看到過采用RUP或者其他開發(fā)過程并取得成功的項(xiàng)目,我們也看到過同樣采用這些開發(fā)過程卻失敗了的項(xiàng)目。我們希望將要講述的這個(gè)項(xiàng)目能取得成功。我們認(rèn)為自己確實(shí)成功了。更重要的是,我們的客戶認(rèn)為我們成功了,這就是我們的故事,希望你能夠喜歡它。關(guān)于本書在本書中,我們講述了我們?nèi)绾巫鳛橐粋€(gè)團(tuán)隊(duì)一起工作的故事。我們談及了面對的一些技術(shù)障礙以及克服它們的方法。我們描述了遇到的一些模式以及我們?nèi)绾螌⑺鼈儜?yīng)用于自己的團(tuán)隊(duì)、項(xiàng)目以及代碼。我們說明了這個(gè)小團(tuán)隊(duì)如何發(fā)展了一種在成員之間以及與用戶之間進(jìn)行有效交流的方法。我們還討論了所采用的不同技術(shù)和方法,并根據(jù)不同的開發(fā)方法學(xué),如RUP、極限編程(XP)等等,進(jìn)行了調(diào)整。本書并不包含任何一種特定軟件開發(fā)技術(shù)的全部技術(shù)細(xì)節(jié)。它并沒有描述一個(gè)開發(fā)過程。它并不是關(guān)于編寫高效的代碼、調(diào)試方法、測試技巧、需求管理或者過程工程的書。不過本書涉及了所有上述主題。PSPTools項(xiàng)目本書是關(guān)于我們開發(fā)一個(gè)軟件項(xiàng)目——PSPTools的經(jīng)歷的大事記。PSPTools的目標(biāo)是為WattsHumphrey的PSP(PersonalSoftwareProcess,個(gè)體軟件開發(fā)過程)提供自動(dòng)化的支持。在版本1中,我們?yōu)橹С諴SP等級(jí)1實(shí)現(xiàn)了計(jì)時(shí)器和數(shù)據(jù)收集工具。(關(guān)于PSP的更多內(nèi)容,請參見附錄B。)本書包含了屏幕截圖、表格以及其他反映我們工作進(jìn)展的材料片段。為了使讀者可以了解我們的實(shí)際工作方式,我們據(jù)實(shí)地展現(xiàn)了自己的經(jīng)歷以及最終的軟件,而不是理想化地解釋我們希望如何工作。在本書的網(wǎng)站www.awprofessional.com/titles/0321202945,包含了我們的所有代碼、其他一些非代碼的項(xiàng)目制品、到其他有用網(wǎng)站的鏈接以及其他后來發(fā)生的新聞。我們也很希望能夠聽到大家的意見,無論是對此書的反映,還是關(guān)于你自己的軟件開發(fā)經(jīng)歷。我們的電子郵件地址是psptools@yahoo.com。本書的組織結(jié)構(gòu)本書的組織結(jié)構(gòu)如下:第1~3章介紹此項(xiàng)目的相關(guān)情況。我們介紹了自己進(jìn)行軟件開發(fā)的方法;對于在開發(fā)人員、開發(fā)過程與開發(fā)工具之間維持平衡的重要性的觀點(diǎn);及對PSPTools項(xiàng)目的描述。第4、5、6、8、10和11章分別從團(tuán)隊(duì)和過程的角度說明了這個(gè)項(xiàng)目。我們討論了RUP的不同階段以及我們在每一階段中做了什么。第7章和第9章提供了有關(guān)我們所處理的代碼和使用的技術(shù)的詳細(xì)情況。這兩章并不是對整個(gè)應(yīng)用的全面展示,而是用于體現(xiàn)一些代碼的風(fēng)格并解釋我們所做的一些技術(shù)決策。我們希望這兩章能夠鼓勵(lì)你從本書的網(wǎng)站下載整個(gè)項(xiàng)目內(nèi)容來進(jìn)行更深入的研究。附錄中提供了一些主題的信息,如RUP、PSP和XP,我們假設(shè)你對它們已經(jīng)有一定程度的了解。誰需要閱讀此書?如果你是下列人士之一,那么你應(yīng)該閱讀此書:一個(gè)正在尋求有關(guān)的技術(shù)指南,以使得團(tuán)隊(duì)整體以及其中的個(gè)人都能更有效率工作的項(xiàng)目領(lǐng)導(dǎo)者。書中也討論了我們所使用的開發(fā)工具以及它們的替代產(chǎn)品,還提供了關(guān)于如何使用類似RUP之類的開發(fā)過程來幫助、促進(jìn)交流的實(shí)踐性建議。一個(gè)工作于小型項(xiàng)目的獨(dú)立實(shí)踐者(一個(gè)程序員、一個(gè)測試員或者一個(gè)分析師)。本書可以幫助你學(xué)會(huì)如何在不增加無理負(fù)擔(dān)的情況下,與團(tuán)隊(duì)中的其他成員進(jìn)行交流。這里推薦了一些可能會(huì)有幫助的工具,并展示了如何有效地應(yīng)用一種開發(fā)過程來指導(dǎo)、幫助你集中注意力,而不是給你增加負(fù)擔(dān)。一個(gè)工作于開源項(xiàng)目的獨(dú)立實(shí)踐者。本書沒有專門討論開源開發(fā),但確實(shí)提供了一些類似于開源項(xiàng)目的經(jīng)驗(yàn)。它提供了一個(gè)如何組織分布于不同地點(diǎn)的團(tuán)隊(duì)開展工作的范例。顯示了這個(gè)團(tuán)隊(duì)如何調(diào)整其工作風(fēng)格與使用的開發(fā)工具,以適應(yīng)地理的分隔、完全不同的開發(fā)工具以及在相互獨(dú)立的網(wǎng)絡(luò)上進(jìn)行工作。其他對小型項(xiàng)目或者敏捷開發(fā)技術(shù)感興趣,并對它們?nèi)绾闻c其他開發(fā)過程(如RUP)結(jié)合感到好奇的獨(dú)立實(shí)踐者。致謝如果沒有很多人的努力與貢獻(xiàn),本書將不可能得以出版。然而對于文中出現(xiàn)的任何錯(cuò)誤,我們將承擔(dān)相關(guān)責(zé)任。我們要感謝以下人士,他們的工作使得本書內(nèi)容更為豐滿、有趣和可信。Gary感謝整個(gè)開發(fā)團(tuán)隊(duì)。你們中的每一個(gè)人都在整個(gè)項(xiàng)目過程中提供了自己的見解、知識(shí)、努力與支持。RajSrinivasan在我們急需測試人員的時(shí)候加入進(jìn)來,提供了有所側(cè)重的、有益的問題報(bào)告。我要特別感謝PhilippeKruchten和PerKroll,從他們那里我領(lǐng)會(huì)了RUP的精神,從而形成了我自己在小型項(xiàng)目中使用RUP的風(fēng)格。敏捷開發(fā)社區(qū)中的許多活躍分子教會(huì)了我很多事情,我試圖將它們包含于我個(gè)人的開發(fā)過程中。我尤其感謝與BobMartin、RonJeffries和RandyMiller的交流。我確信其他的作者和我一樣感謝為本書提供了極有價(jià)值的見解的審閱者們。除了PerKroll和PhilippeKruchten,我們很榮幸地請JamesDunion、MagnusLyck?、BobMartin、DanRawsthrone和ChrisSoskin對我們的工作進(jìn)行了審閱。我們也很感謝來自于Rational軟件公司的支持。最后,我們感謝Addison-Wesley出版公司那些過去和現(xiàn)在幫助我們完成本書的人們,他們是:PaulBecker、MaryO’Brien、BrendaMulligan、AmyFleischer、PatrickCash-Peterson,以及我們有才華的、仁慈的編輯RebeccaGreenberg。感謝你們付出的時(shí)間和無盡的耐心。Liz非常感謝我的經(jīng)理KarlHakkarainen,他支持并鼓勵(lì)我在此項(xiàng)目中進(jìn)行工作。感謝Gary領(lǐng)導(dǎo)了這一項(xiàng)目,同時(shí)感謝其他作者——Chris、Jas和Gary——在完成項(xiàng)目的過程中與他們一起工作非常開心。最后,我還要感謝本書的審閱者們,他們充滿理解力的、大量而風(fēng)趣的評論促使此項(xiàng)目富有成果。Jas真誠地感謝Gary、Liz和Chris,感謝你們的善意、友好、見解與支持。Chris我想感謝與我同一辦公室的SteveZerfas。他一直忍受著作為PSP項(xiàng)目一個(gè)組成部分的大量會(huì)議電話。他也比任何人更多地聽我說:“在PSP項(xiàng)目中,我們……”。如果沒有我的經(jīng)理DaveZygadlo的寬宏許可,我將無法在此項(xiàng)目中工作。他即使在“午夜項(xiàng)目”不時(shí)地延伸到白天后仍保持著活力。最后,我希望感謝我的妻子Carmen,她對我寫程序到深夜或長途旅行去拜訪Gary從無怨言,而且始終歡迎Gary在來參加編程討論時(shí)訪問我們家。本書不是一本關(guān)于RUP、敏捷開發(fā)過程或者項(xiàng)目管理的教材,而是一份來源于實(shí)際工作的“戰(zhàn)地”報(bào)告。它記錄了一個(gè)小型的分布式團(tuán)隊(duì),經(jīng)歷許多變化最終成功地完成任務(wù),向用戶交付一個(gè)有價(jià)值的、可用的軟件產(chǎn)品的過程。在本書中,這些“戰(zhàn)士們”以直述的方式講述了他們的故事,沒有試圖去“執(zhí)導(dǎo)”有關(guān)的內(nèi)容。我經(jīng)常聽到:“我們不需要采用一個(gè)開發(fā)過程,因?yàn)槲覀兊捻?xiàng)目又小又簡單?!笨赡苣阋灿蓄愃频母杏X。但是,實(shí)際上你總會(huì)采用某種開發(fā)過程,而且這一過程很可能是臨時(shí)發(fā)明出來的。在我們的行業(yè)中有一種普遍存在的印象,就是一個(gè)預(yù)先描述好的開發(fā)過程只適合于大公司、用于大型項(xiàng)目、管理幾百個(gè)開發(fā)人員;而對于小型項(xiàng)目來說,這種開發(fā)過程只會(huì)使開發(fā)人員過得更加痛苦。在本書中,你將會(huì)看到一個(gè)很小的團(tuán)隊(duì)在解決一個(gè)中等的項(xiàng)目時(shí),如何按照他們的需要采用和剪裁RUP這樣一個(gè)描述化的開發(fā)過程。他們并沒有因?yàn)椴捎眠@一開發(fā)過程而增加過多的正規(guī)性。他們只選擇了那些對自己有用的要素,甚至采用了類似PSP(PersonalSoftwareProcess,個(gè)體軟件開發(fā)過程)、極限編程(eXtremeProgramming)以及其他一些敏捷開發(fā)方法。我也經(jīng)常聽到:“讓我看看你到底是如何做的?!背晒?xiàng)目的例子和某些不成功項(xiàng)目的反例常常是導(dǎo)致開始采用一個(gè)新開發(fā)過程的關(guān)鍵。僅僅埋頭于書本中或者網(wǎng)站上,苦讀一頁頁有關(guān)某種理想處理方法的描述,對于我們大多數(shù)人來說都太抽象了。包裝好的、與理論嚴(yán)格匹配的完美示例沒有太多的說服力。本書最大的價(jià)值在于,它帶領(lǐng)讀者接觸到一個(gè)實(shí)際項(xiàng)目中的真實(shí)經(jīng)歷,包括了其中的失敗、錯(cuò)誤的開始以及各種限制;而作者以批判的眼光來分析他們所采取的做法,以及這些做法為什么會(huì)成功或者失敗。我們從自己的經(jīng)驗(yàn)以及與別人經(jīng)驗(yàn)的對比中進(jìn)行學(xué)習(xí)?!班?,是的,我知道這種模式;我也曾經(jīng)處于這種境地。啊,你是這樣解決的?!北緯懻摿嗽趥鹘y(tǒng)的開發(fā)過程(包括RUP)中都沒有涉及到的問題。作者大膽地探索了關(guān)于開發(fā)人員、關(guān)于形成一個(gè)團(tuán)隊(duì)的力量、關(guān)于分布式環(huán)境中的通信聯(lián)系、關(guān)于使用基于Internet的協(xié)作工具等方面的內(nèi)容,而所有這些要素都是當(dāng)前許多小型開源軟件項(xiàng)目的組成部分。最后,本書強(qiáng)調(diào)了一個(gè)常常在計(jì)劃中標(biāo)明了,而在趕著完成任務(wù)的過程中通常被遺忘的關(guān)鍵性的實(shí)踐步驟:自省(self-reflection),有時(shí)也被稱為事后分析(post-mortem)或者回顧(retrospective)。這一步驟就是暫時(shí)停下,回頭看看我們做過的、我們是如何做的,看看哪些做法有效,哪些做法無效,以及導(dǎo)致這種結(jié)果的原因。而這整本書就是一個(gè)非常完整的事后分析的極好例子,坦白而謙虛。本書不能代替你沒有做的那些事后分析和回顧,但是可以讓你意識(shí)到可能錯(cuò)過了哪些東西。那么,哪些人需要使用這本書以及何時(shí)需要這本書?可能性有很多:如果你剛接觸現(xiàn)代的開發(fā)過程,如RUP、敏捷開發(fā)方法、PSP等等,那么本書可以讓你了解它們的精髓,而不用深入到細(xì)節(jié)中去。如果你不確定該如何處理小型的分布式項(xiàng)目,你將可以學(xué)到極有價(jià)值的內(nèi)容,這些內(nèi)容的作者也曾經(jīng)問過自己那些你可能會(huì)提出的問題。他們對這些問題曾經(jīng)做出過選擇,這些選擇的對與錯(cuò)都通過最終的結(jié)果反映了出來。你很可能發(fā)現(xiàn)一些熟悉的模式,從書中的解答和解決方案中學(xué)會(huì)一些東西;這意味著在你自己的項(xiàng)目中犯的錯(cuò)誤會(huì)更少。如果你是這些方法的專家,那么本書將為你打開新的途徑——如何結(jié)合不同的方法或者縮減一個(gè)開發(fā)過程,并告訴你自省的價(jià)值。我從這本書中學(xué)到了許多關(guān)于RUP的知識(shí),并學(xué)會(huì)了從不同的角度來看待它。感謝Gary、Jas、Liz和Chris與我們分享他們的經(jīng)驗(yàn)?!狿hilippeKruchten于加拿大溫哥華

作者簡介

  JasonBrittain,是CollabNet公司的資深軟件工程師。其工作的內(nèi)容為開發(fā)由五十多個(gè)開源軟件包構(gòu)成的協(xié)作式的project-hosting基礎(chǔ)軟件。Jason的專長包括動(dòng)態(tài)網(wǎng)頁開發(fā)、Java應(yīng)用程序服務(wù)器、高可用性與容錯(cuò)系統(tǒng)、集群系統(tǒng)與JakartaAnt組建系統(tǒng)。他對許多ApacheJakarta項(xiàng)目都有貢獻(xiàn),并曾經(jīng)有好幾年是活躍的開源軟件開發(fā)者。

圖書目錄

第一章 Tomcat的開幕式 
安裝Tomcat 
Tomcat的啟動(dòng)、停止及重啟動(dòng) 
自動(dòng)啟動(dòng) 
安裝后的測試 
第二章 設(shè)定Tomcat 
使用Apache Web服務(wù)器 
管理領(lǐng)域、角色及用戶 
控制會(huì)話 
訪問JNDI與JDBC的資源 
servlet自動(dòng)重加載 
重新安置Web應(yīng)用程序的目錄 
自定義的用戶目錄 
Tomcat應(yīng)用程序的示例 
服務(wù)端擴(kuò)充 
通用網(wǎng)關(guān)接口(CGI) 
Tomcat Admin應(yīng)用程序 
第三章 在Tomcat中部署Servlet
及JSP Web應(yīng)用程序 
Web應(yīng)用程序的布局 
手動(dòng)部署應(yīng)用程序 
自動(dòng)部署 
Manager應(yīng)用程序 
以Jakarta Ant進(jìn)行自動(dòng)化 
第四章 Tomcat的性能調(diào)校 
測量Web服務(wù)器的性能 
外部調(diào)校 
內(nèi)部調(diào)校 
容量規(guī)劃 
額外的資源 
第五章 與Apache Web服務(wù)器的整合 
簡介
整合的優(yōu)缺點(diǎn)
安裝Apache httpd 
Apache與Tomcat的整合 
關(guān)于連接器及配置文件 
總結(jié)
第六章 Tomcat的安全防護(hù) 
簡介 
系統(tǒng)安全防護(hù) 
多重服務(wù)器的安全防護(hù)模式 
使用-security選項(xiàng) 
架設(shè)Tomcat chroot監(jiān)牢 
過濾惡意的用戶輸入 
以SSL加強(qiáng)Tomcat的安全防護(hù)能力 
第七章 配置文件與其元素 
server.xml 
web.xml 
tomcat-users.xml 
catalina.policy 
第八章 調(diào)試與疑難排解 
解讀日志文件 
URL與HTTP會(huì)話 
用RequestDumperValve來調(diào)試 
無法停止Tomcat時(shí) 
第九章 從源代碼組建Tomcat 
安裝Jakarta Ant 
取得源代碼 
下載支持庫 
組建Tomcat 
第十章 建立Tomcat的集群系統(tǒng) 
專門術(shù)語 
HTTP請求的通信序列 
額外的資源 
第十一章 結(jié)業(yè)式 
補(bǔ)充資源 
社區(qū) 
附錄一 安裝 Java 
附錄二 JSP與Servlet 
附錄三 jbchroot.c 
附錄四 BadInputFilterValve.java 
索引

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)