版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
java版局域網(wǎng)聊天程序的設(shè)計與實現(xiàn)摘要隨著互聯(lián)網(wǎng)的發(fā)展,聊天工具作為一種交流工具,已經(jīng)被廣大網(wǎng)民所接受。目前,有許多功能強大的聊天工具,其中騰訊,MSN-Messager更為盛行。每一個上網(wǎng)的人都需要即時通訊軟件,它不僅能為你提供一個在網(wǎng)上找到朋友和伙伴的快捷方式,還能為你提供網(wǎng)上接力聊天和信息傳遞的便利。到目前為止,全世界大約有3億人在使用實時軟件。隨著越來越多的公司開始關(guān)注這個具有上億用途的增長潛力的市場,這些公司之間的競爭異常激烈。對等網(wǎng)絡(luò)(peer-to-peer,簡稱P2P)最初的應(yīng)用和現(xiàn)在不太一樣。其實可以看作是不同技術(shù)和時尚潮流的結(jié)合。以下是引領(lǐng)P2P技術(shù)發(fā)展的最重要的趨勢:首先,軟件工程和新技術(shù)的整合導(dǎo)致了工作分散的趨勢。于是,P2P計算誕生了。然后,在過去的十年里,在企業(yè)應(yīng)用集成等因素的推動下,從單一的集中式系統(tǒng)轉(zhuǎn)向分布式系統(tǒng)。最后,隨著互聯(lián)網(wǎng)的發(fā)展,然而,一個全面的分布式計算已成為迫切需要。關(guān)鍵詞:計算機、網(wǎng)絡(luò)、智能、樓宇監(jiān)控工程、必要性畢業(yè)設(shè)計(論文)原件及使用授權(quán)說明原始語句我保證我提交的畢業(yè)設(shè)計(論文)是我在導(dǎo)師指導(dǎo)下的研究工作和成果。據(jù)我所知,除文中特別標(biāo)注和注明的地方外,不包含其他人或組織已發(fā)表的研究成果,也不包含我曾用來與其他教育機構(gòu)取得學(xué)位或?qū)W歷的材料。對本研究有所幫助和貢獻(xiàn)的個人或集體,都做出了明確的解釋,并表達(dá)了對本文的興趣。作者簽名:日期:講師簽名:日期:授權(quán)說明本人完全理解學(xué)校關(guān)于畢業(yè)設(shè)計(論文)收集、保存和使用的規(guī)定,即按照學(xué)校的要求提交畢業(yè)設(shè)計(論文)的印刷版和電子版;學(xué)校有權(quán)保留畢業(yè)設(shè)計(論文)的印刷版和電子版,并提供目錄檢索和閱讀服務(wù);學(xué)??梢圆捎糜坝 p印、數(shù)字化或其他復(fù)制方式保存論文;在不盈利的前提下,學(xué)校可以發(fā)表論文的部分或全部內(nèi)容。簽名:日期:論文的原創(chuàng)性聲明我再次聲明,提交的論文是我在導(dǎo)師指導(dǎo)下獨立研究的研究成果。除文中特別標(biāo)注和引用的內(nèi)容外,本論文不包含任何其他個人或集體發(fā)表或撰寫的作品。對本論文研究做出重要貢獻(xiàn)的個人和集體,在本文中均有明確標(biāo)注。本人完全清楚,此聲明的法律后果由本人承擔(dān)。簽名:日期:年月日學(xué)位論文使用授權(quán)書本學(xué)位論文的作者完全了解學(xué)校關(guān)于保存和使用學(xué)位論文的規(guī)定,并同意學(xué)校保存和向國家有關(guān)部門或機構(gòu)發(fā)送學(xué)位論文的副本和電子版本,允許查閱和借閱學(xué)位論文。本人授權(quán)大學(xué)將本學(xué)位論文全部或部分編入相關(guān)數(shù)據(jù)庫以供檢索,并以影印、縮印或掃描的方式保存和編輯本學(xué)位論文。涉密論文按學(xué)校規(guī)定辦理。作者簽名: 日期:年、月、日導(dǎo)師簽名:日期:年月日目錄第1章引言11.1選題背景11.2本文研究容1第2章基礎(chǔ)知識22.1開發(fā)工具與開發(fā)語言概述22.1.1WindowsXp簡介22.1.2應(yīng)用服務(wù)器ApacheTomcat簡介32.1.3MySQL概述32.1.4B/S方式管理92.2運行平臺與開發(fā)工具的安裝與配置112.2.1JDK安裝與配置112.2.2ApacheTomcat應(yīng)用服務(wù)器安裝與配置112.2.3JDK與Tomcat相連路徑配置122.2.4Mysql以與驅(qū)動安裝142.2.5Mysql客戶端Navicat152.2.6Eclipse安裝與導(dǎo)入項目152.2.7Java的網(wǎng)絡(luò)功能與編程162.2.8JAVA的特點182.2.9JAVABAEN技術(shù)202.2.10IP/TCP協(xié)議202.2.11Socket介紹21第3章局域網(wǎng)聊天的分析與設(shè)計233.1設(shè)計的總體思想233.2課題來源233.3局域網(wǎng)聊天體系結(jié)構(gòu)243.3.1Jsp技術(shù)243.3.2系統(tǒng)結(jié)構(gòu)基于Struts三層結(jié)構(gòu)253.4數(shù)據(jù)庫的生成與目錄結(jié)構(gòu)263.4.1數(shù)據(jù)庫的結(jié)構(gòu)263.4.2目錄結(jié)構(gòu)29第4章系統(tǒng)各模塊的詳細(xì)設(shè)計與實現(xiàn)324.1總體設(shè)計要點324.2設(shè)計步驟以與功能模塊324.3功能模塊33第5章項目測試465.1項目測試目的465.2項目測試結(jié)果截圖46第6章結(jié)束語51參考文獻(xiàn)52致53外文資料原文54譯文56附錄58介紹所選主題的背景隨著互聯(lián)網(wǎng)的逐步普及,互聯(lián)網(wǎng)技術(shù)也在逐步完善。人們的工作和生活越來越離不開網(wǎng)絡(luò),即時聊天是人們網(wǎng)上交流最常見、最直接的方式。本系統(tǒng)以聊天功能為主,為用戶提供了一個通過網(wǎng)絡(luò)相互交流的平臺。本文介紹的網(wǎng)絡(luò)聊天系統(tǒng)是基于JAVA編程語言開發(fā)設(shè)計的。其主要特點是能夠動態(tài)、實時地完成消息傳遞,具有高效的交互性,能夠更有效地處理客戶請求。本文將依次介紹其運行時所需的環(huán)境和工作流程以及各個模塊的工作原理,并提供全部程序源代碼。研究能力通過以上對局域網(wǎng)聊天的描述和發(fā)展,我們可以預(yù)見,局域網(wǎng)聊天在人們未來的生活中會有更大的發(fā)展前景,它必將向更廣更深的方向發(fā)展,從而進(jìn)一步影響人們的生活。所以要了解它的基本原理,通過了解基本原理加深對局域網(wǎng)聊天的了解,加深對局域網(wǎng)聊天的理解,為進(jìn)一步開發(fā)更新更有前途的監(jiān)控系統(tǒng)做準(zhǔn)備!基礎(chǔ)知識開發(fā)工具和開發(fā)語言概述首先,我將描述一下我做過的這個項目。項目概述:該系統(tǒng)通過B/S模式實現(xiàn)管理功能,通過Web方式完成對樓宇的監(jiān)控和管理??梢詾槲飿I(yè)公司提供更便捷的安全管理服務(wù)。本系統(tǒng)主要完成局域網(wǎng)聊天系統(tǒng)的需求分析、UI設(shè)計、數(shù)據(jù)庫設(shè)計等設(shè)計,并最終使用Java技術(shù)實現(xiàn)。系統(tǒng)采用的操作平臺是:Windows系統(tǒng),應(yīng)用服務(wù)器ApacheTomcat,數(shù)據(jù)庫Mysql開發(fā)工具:黯然失色開發(fā)語言:爪哇使用框架技術(shù):Struts框架采用模式:B/S模式管理功能WindowsXp簡介Windows中文稱為Windows操作系統(tǒng)體驗版。它是微軟公司發(fā)布的視窗操作系統(tǒng)。2001年10月25日出版,原名惠斯勒。微軟最初發(fā)布了兩個版本,家庭版和專業(yè)版。家庭版的消費者是家庭用戶,而專業(yè)版在家庭版的基礎(chǔ)上增加了網(wǎng)絡(luò)認(rèn)證、面向商務(wù)設(shè)計的雙處理器等新功能。而且家庭版只支持一個處理器,專業(yè)版支持兩個。字母XP的意思是英語單詞的“經(jīng)驗”。WindowXp是基于Window2000代碼的產(chǎn)品,具有用戶圖形界面。它包括一些小的修改,其中一些似乎是受Linux桌面環(huán)境的啟發(fā),如KDE:帶有用戶圖形的登錄界面就是一個例子。此外,WindowXp引入了“基于人”的用戶界面,使工具欄能夠訪問任務(wù)的具體細(xì)節(jié)。它包含了Window2000簡化的用戶安全功能,并集成了防火墻,保證了困擾微軟很久的安全問題。服務(wù)器ApacheTomcat簡介Tomcat是Apache軟件基金會的核心項目,由Apache、SUN等公司和個人共同開發(fā)。由于SUN的參與和支持,最新的Servlet和JSP規(guī)則總能在Tomcat中得到體現(xiàn)。由于Tomcat技術(shù)先進(jìn)、性能穩(wěn)定、免費,因此深受Java愛好者的喜愛,并得到了一些軟件開發(fā)者的認(rèn)可,成為目前比較流行的Web應(yīng)用服務(wù)器。Tomcat很受程序員的歡迎,因為它占用系統(tǒng)資源少,擴展性好,支持開發(fā)應(yīng)用系統(tǒng)常用的功能,比如負(fù)載均衡、服務(wù)等。而且它還在不斷的改進(jìn)和完善,任何感興趣的程序員都可以對它進(jìn)行修改或者添加新的功能。Tomcat是一種小型輕量級的應(yīng)用服務(wù)器,廣泛應(yīng)用于中小型系統(tǒng)和并發(fā)用戶不多的場合。它是開發(fā)和調(diào)試JSP程序的首選。對于初學(xué)者來說,可以認(rèn)為在一臺機器上配置了Apacheserver,就可以用它來響應(yīng)對HTML頁面的訪問請求。實際上,tomcat是Apacheserver的擴展,但它是獨立運行的,所以當(dāng)您運行Tomcat時,它實際上是作為一個獨立于Apache的進(jìn)程運行的。MySQL概述MySQL是瑞典MySQLAB公司開發(fā)的小型關(guān)系數(shù)據(jù)庫管理系統(tǒng)。它于2008年1月16日被Sun公司收購。2009年,SUN被甲骨文收購。沒有人看好Mysql的未來。目前,MySQL在中小型互聯(lián)網(wǎng)中應(yīng)用廣泛。由于其體積小、速度快、總擁有成本低,尤其是開源,許多中小企業(yè)選擇MySQL作為數(shù)據(jù)庫,以降低總擁有成本。MySQL的官方網(wǎng)站是。mysql。與其他大型數(shù)據(jù)庫如Oracle、DB2、SQLServer等相比。,MySQL有自己的缺點,比如規(guī)模小,功能有限(MySQL集群的功能和效率都比較差),但這絲毫沒有降低它的人氣。對于普通個人用戶和中小企業(yè)來說,MySQL提供的功能綽綽有余,而且由于MySQL是開源軟件,可以大大降低總擁有成本。MySQL的特點:1.用C和C++編寫,用各種編譯器測試,保證源代碼的可移植性。2.支持AIX、FreeBSD、惠普-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等操作系統(tǒng)。3.為多種編程語言提供API。這些編程語言包括C、C++、Python、Java、Perl、PHP、EiffelRuby和Tcl。4.支持多線程,充分利用CPU資源5.優(yōu)化后的SQL查詢算法能有效提高查詢速度。6.它可以在客戶機-服務(wù)器網(wǎng)絡(luò)環(huán)境中作為單獨的應(yīng)用程序使用,也可以作為庫嵌入到其他軟件中,提供多語言支持。常用代碼如中文GB2312、BIG5、日文Shift_JIS等??捎米鲾?shù)據(jù)表名稱和數(shù)據(jù)列名稱。7.提供TCP/IP、ODBC、JDBC等數(shù)據(jù)庫連接方式。8.為管理、檢查和優(yōu)化數(shù)據(jù)庫操作提供管理工具??梢蕴幚頁碛袛?shù)千萬條記錄的大型數(shù)據(jù)庫。Eclipse概述Eclipse是一個開源的、基于Java的可擴展開發(fā)平臺。它本身只是一個框架,一套通過插件組件構(gòu)建開發(fā)環(huán)境的服務(wù)。幸運的是,Eclipse附帶了一組標(biāo)準(zhǔn)插件,包括Java開發(fā)工具。Eclipse最初是由IBM開發(fā)的,作為下一代IDE開發(fā)環(huán)境來取代Java的商業(yè)軟件VisualAge。它于2001年11月被貢獻(xiàn)給開源社區(qū),現(xiàn)在由EclipseFoundation管理,這是一個非盈利軟件供應(yīng)商聯(lián)盟。2003年,Eclipse3.0選擇OSGi服務(wù)平臺作為運行時架構(gòu)。2007年6月,穩(wěn)定版3.3發(fā)布。代號為Ganymede的3.4版本于2008年6月發(fā)布。代號為伽利略的3.5版本于2009年7月發(fā)布。Eclipse是著名的跨平臺免費集成開發(fā)環(huán)境(IDE)。起初主要用于Java語言開發(fā),但目前也已經(jīng)通過插件作為C++和Python等其他計算機語言的開發(fā)工具。Eclipse本身只是一個框架平臺,但是眾多插件的支持使得Eclipse擁有了其他功能相對固定的IDE軟件很難擁有的靈活性。許多軟件開發(fā)人員使用Eclipse作為框架來開發(fā)他們自己的ide。Eclipse最初是由OTI和IBM的IDE產(chǎn)品開發(fā)團隊創(chuàng)建的,開始于1999年4月。IBM提供了原始的Eclipse代碼庫,包括平臺、JDT和PDE。目前,在IBM的領(lǐng)導(dǎo)下,Eclipse項目已經(jīng)發(fā)展成為一個龐大的Eclipse聯(lián)盟,參與Eclipse項目的軟件公司超過150家,包括Borland、RationalSoftware、RedHat和Sybase。Eclipse是一個開發(fā)源碼項目,實際上是VisualAge對Java的替代。它的界面類似于之前的VisualAgeforJava,但由于它的開源性,任何人都可以免費獲得,并在此基礎(chǔ)上開發(fā)自己的插件,所以越來越受到關(guān)注。最近,包括Oracle在內(nèi)的許多大公司也加入了該項目,聲稱Eclipse將成為未來可以用任何語言開發(fā)的主IDE。用戶只需要下載各種語言的插件。盡管大多數(shù)用戶樂于將Eclipse用作JavaIDE,但Eclipse的目標(biāo)并不僅限于此。Eclipse還包括插件開發(fā)環(huán)境(PDE),它主要針對那些想要擴展Eclipse的軟件開發(fā)人員,因為它允許他們構(gòu)建與Eclipse環(huán)境無縫集成的工具。因為Eclipse中的一切都是插件,所以所有工具開發(fā)人員都有相同的位置來為Eclipse提供插件,并為用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境?;贓clipse的應(yīng)用程序的一個突出例子是IBMWebSphereStudioWorkbench,它構(gòu)成了IBMJava開發(fā)工具系列的基礎(chǔ)。例如,WebSpherestudioapplicationDeveloper增加了對JSP、servlet、E、XML、Web服務(wù)和數(shù)據(jù)庫訪問的支持。Eclipse的主要組件Eclipse是一個開源軟件開發(fā)項目,致力于為高度集成的工具開發(fā)提供一個全功能和商業(yè)質(zhì)量的工業(yè)平臺。主要由Eclipse項目、Eclipse工具項目、Eclipse技術(shù)項目三個項目組成,包括Eclipse平臺、JDT、CDT、PDE四個部分。JDT支持Java開發(fā),CDT支持C開發(fā),PDE支持插件開發(fā),Eclipse平臺是一個開放的可擴展的IDE,提供了一個通用的開發(fā)平臺。它為構(gòu)建模塊以及構(gòu)建和運行集成軟件開發(fā)工具提供了基礎(chǔ)。Eclipse平臺允許工具構(gòu)建者獨立開發(fā)與其他人的工具無縫集成的工具,這樣就不需要區(qū)分一個工具功能在哪里結(jié)束,另一個工具功能在哪里開始。EclipseSDK(軟件開發(fā)者包)是由Eclipse平臺、JDT和PDE生產(chǎn)的組件組合而成,可以一次性下載。這些部分共同提供了一個具有豐富特性的開發(fā)環(huán)境,允許開發(fā)人員有效地構(gòu)建可以無縫集成到Eclipse平臺中的工具。EclipseSDK是Eclipseproject生產(chǎn)的工具和其他開源的第三方軟件的組合。Eclipseproject生產(chǎn)的軟件以GPL發(fā)布,第三方組件有自己的許可協(xié)議。Java面向?qū)ο笳Z言Java是SunMicrosystems于1995年5月推出的Java編程語言和Java平臺的總稱。用Java實現(xiàn)的HotJava瀏覽器展示了Java的魅力:跨平臺、動態(tài)Web和互聯(lián)網(wǎng)計算。此后,Java被廣泛接受并促進(jìn)了Web的快速發(fā)展,現(xiàn)在常見的瀏覽器都支持Javaapplet。Java是一種簡單的、面向?qū)ο蟮?、分布式的、解釋性的、健壯的、安全的、結(jié)構(gòu)中立的、可移植的、性能卓越的多線程動態(tài)語言。Java的主要特性1.Java語言很簡單。Java的語法非常接近C和C++的語法,這使得大多數(shù)程序員很容易學(xué)習(xí)和使用Java。另一方面,Java拋棄了C++中那些很少使用、難以理解、容易混淆的特性,比如運算符重載、多重繼承、自動強制類型轉(zhuǎn)換等。特別是Java語言不使用指針,提供自動垃圾回收,程序員不用擔(dān)心內(nèi)存管理。2.Java語言是面向?qū)ο蟮?。Java語言提供了類、接口和繼承等原語。為簡單起見,它只支持類之間的單一繼承,但支持接口之間的多重繼承,支持類和接口之間的實現(xiàn)機制。Java語言完全支持動態(tài)綁定,而C++語言只對虛函數(shù)使用動態(tài)綁定。總之,Java語言是一種純面向?qū)ο蟮木幊陶Z言。3.Java語言是分布式的。Java支持互聯(lián)網(wǎng)應(yīng)用的開發(fā)。基礎(chǔ)Java應(yīng)用編程接口中有一個網(wǎng)絡(luò)應(yīng)用編程接口,為網(wǎng)絡(luò)應(yīng)用編程提供了類庫。Java遠(yuǎn)程方法激活機制也是開發(fā)分布式應(yīng)用的重要手段。4.Java語言是健壯的。Java的強類型機制、異常處理和垃圾自動收集是Java程序健壯性的重要保證。丟棄指針對Java來說是明智的選擇。Java的安全檢查機制使得Java更加健壯。5.Java語言是安全的。Java通常用于網(wǎng)絡(luò)環(huán)境。為此,Java提供了一種安全機制來防止惡意代碼攻擊。除了Java語言的很多安全特性,Java對通過網(wǎng)絡(luò)下載的類也有安全機制,比如分配不同的命名空間,防止本地?zé)o名類和字節(jié)碼檢查,為Java應(yīng)用提供安全管理機制,設(shè)置安全崗哨。6.Java語言是架構(gòu)中立的。Java程序在Java平臺上被編譯成與架構(gòu)無關(guān)的字節(jié)碼格式,然后可以在任何實現(xiàn)這個Java平臺的系統(tǒng)上運行。這種方法適用于異構(gòu)網(wǎng)絡(luò)環(huán)境和軟件分發(fā)。7.Java語言是可移植的。這種可移植性來自于架構(gòu)的中立性。此外,Java還嚴(yán)格規(guī)定了每個基本數(shù)據(jù)類型的長度。Java系統(tǒng)本身也是高度可移植的。Java編譯器用Java實現(xiàn),Java的運行環(huán)境用ANSIC實現(xiàn)。8.Java語言解釋。如前所述,Java程序在Java平臺上被編譯成字節(jié)碼格式,然后可以在任何實現(xiàn)這個Java平臺的系統(tǒng)上運行。運行時,Java平臺中的Java解釋器解釋并執(zhí)行這些字節(jié)碼,執(zhí)行過程中需要的類在連接階段加載到運行時環(huán)境中。9.Java是高性能的。與那些解釋型高級腳本語言相比,Java確實是高性能的。事實上,隨著JIT(Just-In-Time)編譯技術(shù)的發(fā)展,Java的運行速度越來越接近C++。10.Java語言是多線程的。在Java語言中,線程是一種特殊的對象,它必須由Thread類或其子類()創(chuàng)建。創(chuàng)建線程通常有兩種方式:一種是通過使用類型為Thread的構(gòu)造函數(shù),將實現(xiàn)runnable接口的對象包裝到線程中;另一種是從Thread類派生一個子類,重寫Run方法,這個子類創(chuàng)建的對象就是一個線程。值得注意的是,Thread類實現(xiàn)了runnable接口,所以任何線程都有它的run方法,Run方法包含了線程要運行的代碼。線程的活動由一組方法控制。Java語言支持多線程的同時執(zhí)行,并提供多線程間的同步機制。1.Java語言是動態(tài)的。Java的設(shè)計目標(biāo)之一是適應(yīng)動態(tài)環(huán)境。Java程序需要的類可以動態(tài)加載到運行環(huán)境中,也可以通過網(wǎng)絡(luò)加載。這也有利于軟件的升級。此外,Java中的類有一個運行時表示,可以檢查運行時的類型。Java語言的優(yōu)秀特性使得Java應(yīng)用程序極其健壯可靠,這也降低了應(yīng)用系統(tǒng)的維護成本。全面支持Java對象技術(shù)和嵌入Java平臺的API,可以縮短應(yīng)用系統(tǒng)的開發(fā)時間,降低成本。Java可以編譯一次,然后在任何地方運行,這使它能夠提供一個可以在任何地方使用的開放結(jié)構(gòu),以及在多個平臺之間傳輸信息的低成本方式。尤其是Java企業(yè)應(yīng)用編程接口為企業(yè)計算和電子商務(wù)應(yīng)用系統(tǒng)提供了相關(guān)技術(shù)和豐富的類庫。STRUTS框架Struts是Apache基金會雅加達(dá)項目組的一個開源項目。它采用MVC模式,可以幫助java開發(fā)者用J2EE開發(fā)Web應(yīng)用。Struts和其他java架構(gòu)一樣,也是面向?qū)ο蟮脑O(shè)計,充分發(fā)揮了MVC模式“將顯示邏輯和業(yè)務(wù)邏輯分離”的能力。Structs框架的核心是一個彈性控制層,基于JavaServlets、JavaBeans、ResourceBundles和XML等標(biāo)準(zhǔn)技術(shù),以及JakartaCommons的一些類庫。Struts由一組相互協(xié)作的類(組件)和Servlet,以及jsp標(biāo)記庫組成?;趕truts框架的web應(yīng)用基本符合jspmode2的設(shè)計標(biāo)準(zhǔn),可以說是傳統(tǒng)MVC設(shè)計模式的一個變種。Struts最初是作為ApacheJakarta項目的一部分出現(xiàn)的。項目創(chuàng)始人希望通過該項目的研究,改進(jìn)和提高Java服務(wù)器頁面、Servlet、標(biāo)記庫以及面向?qū)ο蟮募夹g(shù)水平。Struts的目的是通過使用MVC設(shè)計模式來減少開發(fā)Web應(yīng)用程序的時間。您仍然需要學(xué)習(xí)和應(yīng)用架構(gòu),但是它將能夠完成一些繁重的工作。和StrutsTomcat、Turbine等很多Apache項目一樣,它是開源軟件,這是它的一大優(yōu)勢,能夠讓開發(fā)者對它的實現(xiàn)機制有更深入的了解。MVC模型-視圖-控制器的縮寫是一種常見的設(shè)計模式。這種模式弱化了業(yè)務(wù)邏輯接口和數(shù)據(jù)接口之間的耦合,從而使視圖層更具可變性。StrutsMVC是一個實現(xiàn),它使用Servlet和JSP標(biāo)簽(屬于J2EE法規(guī))作為實現(xiàn)的一部分。Struts繼承了MVC的特點,并根據(jù)J2EE的特點做了相應(yīng)的修改和擴展。模型部分:ActionForm和JavaBean,其中ActionForm用于封裝用戶的請求參數(shù),它封裝成一個ActionForm對象,由ActionServlet轉(zhuǎn)發(fā)給Action,Action根據(jù)ActionFrom中的請求參數(shù)處理用戶的請求。JavaBean封裝了底層的業(yè)務(wù)邏輯,包括數(shù)據(jù)庫訪問。查看零件這部分是用JSP實現(xiàn)的。Struts提供了豐富的標(biāo)記庫,可以減少腳本的使用。自定義標(biāo)簽庫可以實現(xiàn)與模型的有效交互,增加實用功能。對應(yīng)上圖的JSP部分??刂破鞯慕M件:控制器由兩部分組成——系統(tǒng)核心控制器和業(yè)務(wù)邏輯控制器。系統(tǒng)的核心控制器對應(yīng)上圖中的ActionServlet。這個控制器是Struts框架提供的,繼承了Servlet類,所以可以配置成一個標(biāo)記的Servlet??刂破髫?fù)責(zé)攔截所有請求,然后根據(jù)用戶的請求決定是否傳遞給業(yè)務(wù)邏輯控制器。負(fù)責(zé)處理用戶請求的業(yè)務(wù)邏輯控制器本身沒有處理能力,而是調(diào)用Model來完成處理。對應(yīng)動作部分。B/S模式管理B/S結(jié)構(gòu)是瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著互聯(lián)網(wǎng)技術(shù)的興起,對C/S結(jié)構(gòu)的一種改變或改進(jìn)。在這種結(jié)構(gòu)下,用戶界面通過WWW瀏覽器實現(xiàn),少數(shù)事務(wù)邏輯在前端實現(xiàn),但主要事務(wù)邏輯在服務(wù)器端實現(xiàn),形成所謂的三層3層結(jié)構(gòu)。這大大簡化了客戶端計算機的負(fù)載,降低了系統(tǒng)維護和升級的成本和工作量,降低了用戶的整體成本。根據(jù)目前的技術(shù),在局域網(wǎng)內(nèi)建立B/S結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用,并通過Internet/Intranet模式的數(shù)據(jù)庫進(jìn)行應(yīng)用,相對容易掌握,成本較低。它是一次性開發(fā),使不同的人能夠從不同的地方和不同的訪問方式(如局域網(wǎng)、廣域網(wǎng)、Internet/Intranet等)訪問和操作公共數(shù)據(jù)庫。).可以有效的保護數(shù)據(jù)平臺和管理訪問權(quán)限,服務(wù)器數(shù)據(jù)庫也非常安全。像JAVA這樣的跨平臺語言出現(xiàn)后,B/S架構(gòu)的管理軟件更加方便、快捷、高效。1.B/S結(jié)構(gòu)的優(yōu)勢B/S結(jié)構(gòu)最大的優(yōu)點就是可以在任何地方操作,不需要安裝任何專門的軟件。只要有能上網(wǎng)的電腦就可以使用,客戶端零維護。系統(tǒng)的擴展非常容易。只要您可以訪問互聯(lián)網(wǎng),就可以通過系統(tǒng)管理員分配的用戶名和密碼來使用互聯(lián)網(wǎng)。你甚至可以在網(wǎng)上申請。通過公司的安全認(rèn)證(如CA證書)后,系統(tǒng)可以自動給用戶分配一個賬號進(jìn)入系統(tǒng),無需人的參與。二、B/S架構(gòu)軟件的優(yōu)缺點(1)維護和升級方法簡單。目前,軟件系統(tǒng)的改進(jìn)和升級越來越頻繁,B/S架構(gòu)的產(chǎn)品明顯表現(xiàn)出更加便捷的特點。稍微大一點的單位,如果系統(tǒng)管理員需要在上百臺甚至上千臺電腦之間來回跑,效率和工作量可想而知,但是B/S架構(gòu)的軟件只需要管理服務(wù)器,所有的客戶端都只是瀏覽器,根本不需要做任何維護。無論用戶有多大,分支機構(gòu)有多少,都不會增加任何維護和升級的工作量,所有操作只需要對服務(wù)器進(jìn)行即可;如果是在異地,只需要將服務(wù)器連接到專網(wǎng),就可以實現(xiàn)遠(yuǎn)程維護、升級和共享。所以客戶端越來越薄,服務(wù)器越來越胖,這是未來信息發(fā)展的主流方向。以后軟件的升級維護會越來越容易,更容易使用,顯然會節(jié)省用戶的人力、物力、時間和費用。因此,維護和升級革命的方法是“瘦”客戶機和“胖”服務(wù)器。(2)降低成本,選擇更多。眾所周知,windows幾乎統(tǒng)治了桌面電腦,瀏覽器成為了標(biāo)準(zhǔn)配置。然而,windows在服務(wù)器操作系統(tǒng)中并不占絕對優(yōu)勢?,F(xiàn)在的趨勢是所有使用B/S架構(gòu)的應(yīng)用管理軟件只需要安裝在Linux服務(wù)器上,安全性高。所以服務(wù)器操作系統(tǒng)的選擇很多。無論選擇哪種操作系統(tǒng),大部分人都可以使用windows作為桌面操作系統(tǒng),他們的電腦不會受到影響。這使得最流行、最免費的Linux操作系統(tǒng)發(fā)展迅速。除了免費的操作系統(tǒng),連Linux的數(shù)據(jù)庫都是免費的。這個選擇很受歡迎。例如,許多人每天都去S,只要他們安裝了瀏覽器。他們不需要知道新浪的服務(wù)器用什么操作系統(tǒng)。其實大部分都不用windows操作系統(tǒng),只是大部分用戶的電腦都安裝了windows操作系統(tǒng)。(3)應(yīng)用服務(wù)器的數(shù)據(jù)負(fù)載重。由于B/S架構(gòu)的管理軟件只安裝在服務(wù)器端,網(wǎng)絡(luò)管理員只需要管理服務(wù)器即可。用戶界面的主要事務(wù)邏輯完全由服務(wù)器端的WWW瀏覽器實現(xiàn),少數(shù)事務(wù)邏輯在前端實現(xiàn)。所有客戶端只有瀏覽器,網(wǎng)管只需要做硬件維護。但是應(yīng)用服務(wù)器的數(shù)據(jù)負(fù)載較重,一旦服務(wù)器崩潰,后果將不堪設(shè)想。所以很多單位都有數(shù)據(jù)庫存儲服務(wù)器,以防萬一。運行平臺和開發(fā)工具的安裝和配置JDK安裝和配置JDK是Sun微系統(tǒng)公司為Java開發(fā)人員提供的產(chǎn)品。自從Java問世以來,JDK已經(jīng)成為應(yīng)用最廣泛的JavaSDK。JDK是整個Java的核心,包括Java運行時環(huán)境、Java工具和基于Java的類庫。JDK是學(xué)好Java的第一步。而專門運行在x86平臺上的Jrocket,在服務(wù)器端的運行效率要比SunJDK高得多。從SUN的JDK5.0開始,提供了泛型等非常實用的功能,并且版本不斷更新,所以運行效率大大提高。JDK是Sun微系統(tǒng)公司為Java開發(fā)人員提供的產(chǎn)品。自從Java問世以來,JDK已經(jīng)成為應(yīng)用最廣泛的JavaSDK。JDK是整個Java的核心,包括Java的運行環(huán)境、Java工具和基于Java的類庫。JDK是學(xué)好Java的第一步。而專門運行在X86平臺上的Jrocket,在服務(wù)器端的運行效率要比SunJDK高得多。從Sun的JDK5.0開始,提供了泛型等非常實用的功能,并且版本不斷更新,所以運行效率大大提高。首先安裝JDK的原因是JDK必須在TOMCAT安裝之前安裝。原因是JDK是java編譯運行環(huán)境,tomcat運行時也需要JDK編譯執(zhí)行JAVA文件。Tomcat是一款純java編寫的軟件,沒有JDK或JRE就無法運行。Eclipse不集成JDK就不能運行,因為它的門都是用java語言寫的軟件,用java寫的軟件必須運行在java軟件必須具備的JVM(java虛擬機)中,JVM是由軟件JDK中的JRE實現(xiàn)的。至于JDK的下載,讀者可以從JAVA官方下載,也可以從正規(guī)軟件下載。我下載了jdk-1_5_0_06-windows-i586-p,解壓到當(dāng)前文件夾,雙擊運行,就可以按照提示一個一個的完成安裝了。安裝過程可能會很慢,請耐心等待。安裝JDK之后,就可以安裝JRE(Java運行時環(huán)境)了。你可以按照下面的說明下載。ApacheTomcat應(yīng)用服務(wù)器安裝和配置安裝JDK和JRE之后,就可以安裝Tomcat了。同樣,你也可以從Tomcat官方軟件下載Tomcat。我下載了apache-tomcat-5.5.20。下載后雙擊運行,可以根據(jù)自己的硬盤大小選擇安裝哪個硬盤。我安裝了c盤。JDK和Tomcat之間的路徑配置現(xiàn)在JDK和Tomcat已經(jīng)安裝好了,我們可以把它們連接起來,但是首先我們需要知道一些名詞:類路徑:設(shè)置類路徑的目的是告訴Java執(zhí)行環(huán)境,在哪些目錄下可以找到要執(zhí)行的Java程序。Java執(zhí)行環(huán)境本身就是一個平臺,在這個平臺上執(zhí)行的程序就是編譯好的Java程序。如果將Java執(zhí)行環(huán)境比作操作系統(tǒng),并且如果設(shè)置了Path變量以便操作系統(tǒng)可以找到指定的工具程序(在Windows的情況下,這意味著找到。exe文件),設(shè)置類路徑的目的是讓Java執(zhí)行環(huán)境找到指定的Java程序(也就是。類文件)。有幾種方法可以設(shè)置類路徑,最簡單的方法是將Classpath環(huán)境變量添加到系統(tǒng)變量中。右鍵單擊我的電腦,選擇屬性,單擊高級,然后單擊系統(tǒng)變量下的新建,在變量名文本框中輸入Classpath,并在變量值文本框中輸入Java類文件的位置。我之前安裝在c盤,所以它的路徑是C:\ProgramFiles\Java\JDK1.5.0_06。注意:每個路徑必須以開頭;作為分手。很多人剛學(xué)Java的時候,經(jīng)常會被書中介紹的一堆環(huán)境變量的設(shè)置搞糊涂。很多書會讓他們在第一次安裝JDK的時候設(shè)置JAVA_HOME環(huán)境變量,在開發(fā)程序的時候設(shè)置CLASSPATH環(huán)境變量。但是,很多人并不了解這兩個環(huán)境變量的作用。我們來詳細(xì)解釋一下。首先是JAVA_HOME環(huán)境變量。我們先掌握一下這個環(huán)境變量的設(shè)置能力。JAVA_HOME環(huán)境變量的設(shè)置容量是JDK的安裝目錄。比如你的JDK安裝在D:\JDK1.6.0目錄下,請檢查這個目錄下是否有子目錄bin,bin目錄下是否有文件java.exe。如果是,你的JAVA_HOME環(huán)境變量的容量應(yīng)該是d,那么設(shè)置這個環(huán)境變量的作用是什么呢?就單獨的java開發(fā)而言,這個環(huán)境變量沒有任何作用。就是很多書都是按照書上的描述設(shè)置好之后,一本書寫完之后就不用這個變量了,所以非常不可理解。其實設(shè)置JAVA_HOME變量更好。首先,為了編譯運行java程序,我們需要在PATH環(huán)境變量中將java.exe所在的目錄設(shè)置為PATH變量的一部分,這樣就可以通過命令行運行javac和java命令。當(dāng)您進(jìn)入javac時...或者java...在命令行中,將提示您一個錯誤:“javac”不是一個命令或外部命令,也不是一個可運行的程序,或者這意味著操作系統(tǒng)沒有找到您通過命令行輸入的javac命令。為什么?因為操作系統(tǒng)不知道你的javac.exe文件在哪里,所以它不能執(zhí)行相應(yīng)的文件。因此,為了讓操作系統(tǒng)找到這個可執(zhí)行文件,我們需要將javac.exe的可執(zhí)行文件所在的目錄設(shè)置為PATH環(huán)境變量的一部分,以便當(dāng)您在命令行上輸入命令時,操作系統(tǒng)會自動搜索PATH變量中指定的所有目錄。在Windows系統(tǒng)中,path變量中的所有路徑都用分號分隔,在Linux系統(tǒng)中,使用冒號。另一方面,如果設(shè)置了環(huán)境變量,命令行中仍然出現(xiàn)相同的錯誤,則有兩種可能。一個是你的設(shè)置不正確,一個是你的設(shè)置無效。通常,您可以關(guān)閉命令行窗口,然后重新打開它。對于此設(shè)置,以剛才的目錄為例,那么PATH變量中的內(nèi)容為...;D:\jdk1.6.0\bin,此時我們可以將PATH的容量改為:...通過借用已經(jīng)設(shè)置好的JAVA_HOME%JAVA_HOME%\bin,這個設(shè)置有一定的優(yōu)勢。在系統(tǒng)中重新安裝JDK,更改目錄時,只需要修改JAVA_HOME的內(nèi)容,路徑不需要修改。另外,JAVA_HOME變量還會有一些其他的用途,比如Eclipse,IDE,是JAVA程序?qū)懙?,所以運行時需要有一個虛擬機,所以Eclipse需要在啟動時找到虛擬機。如果有JAVA_HOME變量,那么Eclipse將使用這個變量來查找虛擬機的路徑。因此,盡管一開始可能沒有設(shè)置JAVA_HOME環(huán)境變量,但建議您設(shè)置它以供將來考慮。我們繼續(xù)說類路徑的問題。很多書建議你在解釋java程序的時候設(shè)置環(huán)境變量CLASSPATH,但是我們不建議你在這里設(shè)置。稍后我們會看到原因。說到類路徑,我們先來看看在編寫java過程中使用過的兩個命令javac和java。javac的命令語法如下:Javac<選項><源文件>我們常見的情況如下:javac-classpath<classpath><要編譯的Java源文件>這里的類路徑中輸入了什么?這里的類路徑指的是要編譯的java源文件中使用的非javabasicAPI中的類。在該目錄下,路徑可以是用分號分隔的多個目錄。例如,如果我們要編譯文件App.java,并且這個文件中使用了包com.util中的類MyDate,現(xiàn)在我們假設(shè)這個類MyDate存在于以下目錄中:D:\mylib\d:\mylib\\util\MyDate.class那么我們?nèi)绾尉幾g和翻譯這個類App呢?我們的訂單如下:javac-classpathd:\mylibApp.java注意這里classpath的內(nèi)容。我們只指定包所在目錄的路徑,不能一起指定包。而且,MyDate.class必須在com\util的目錄下,因為這個類將package定義為com.util最后,至于Tomcat的路徑,只需要在類路徑的變量值行上寫C:\ApacheSoftwareFoundation\Tomcat5.5\common\lib\servlet-API.jar即可(我把Tomcat安裝在驅(qū)動器C上)Mysql安裝了驅(qū)動程序?qū)τ贛ysql,建議你去官網(wǎng)下載。我下載了MySQL5.1,解壓后雙擊安裝。安裝過程中請耐心等待,可以根據(jù)提示信息選擇想要安裝的位置。您可以在安裝過程中設(shè)置您的用戶名和密碼。在選擇字符集時,最好選擇UTF-8,這是UNICODE的變長字符集編碼,因為它允許在數(shù)據(jù)庫中存儲中文字節(jié)。所以Mysql安裝好了,但是還沒完成。我們必須添加Mysql驅(qū)動程序:mysql連接器Java5.1.7bin你可以從網(wǎng)上免費下載,放到你正在做的項目的文件夾里的lib里。即比如我的項目放在D盤的workspace的ZSGLT中,Mysql驅(qū)動放在D:\workspace\ZSGLT\WEB-INF\lib中。最后一步是將項目與Mysql集成,只需編寫:class.forname(".MySQL.JDBC.driver");stringURL="JDBC:MySQL://localhost:3306/zsglt";Stringuser="rootStringpassword="123connect=drivermanager.getconnection(URL,user,password);connect.settransactionisolation(連接。TRANSACTION_READ_COMMITTED);這幾個字的意思是在Mysql中連接ZSGLT項目,用戶名是root,密碼是123。Mysql客戶端NavicatNavicatforMySQL是一個強大的MySQL數(shù)據(jù)庫服務(wù)器管理和開發(fā)工具。它可以與任何MySQL版本3.21或更高版本一起工作,并支持大多數(shù)最新的MySQL函數(shù),包括觸發(fā)器、存儲過程、函數(shù)、事件、視圖、管理用戶等。它不僅對專業(yè)開發(fā)人員來說是非常前沿的技術(shù),對新手來說也很容易學(xué)習(xí)和使用。其精心設(shè)計的圖形用戶界面NavicatforMySQL允許您以安全簡單的方式快速輕松地創(chuàng)建、組織、訪問和共享信息。NavicatforMySQL可在三個平臺上使用——微軟Windows、MacOSX和Linux操作系統(tǒng)。它使用戶能夠連接到本地/遠(yuǎn)程服務(wù)器,并提供多種實用程序,如數(shù)據(jù)結(jié)構(gòu)同步、導(dǎo)入/導(dǎo)出、備份和報告,從而簡化了維護數(shù)據(jù)的過程。除了常規(guī)的數(shù)據(jù)庫對象管理,NavicatforMySQL主要有以下功能:各種格式的導(dǎo)入導(dǎo)出能力,使得維護數(shù)據(jù)的過程變得簡單。并且可以從ODBC導(dǎo)入數(shù)據(jù):MSSQL和Oracle數(shù)據(jù)可以導(dǎo)入MySQL進(jìn)行批量調(diào)度,有效減輕了數(shù)據(jù)庫管理員的負(fù)擔(dān)??焖賹崿F(xiàn)廣域網(wǎng)的遠(yuǎn)程連接,更加安全簡單。智能構(gòu)建復(fù)雜的SQL查詢語句,提高開發(fā)效率。Eclipse安裝和導(dǎo)入項目從Eclipse官網(wǎng)下載Eclipse,導(dǎo)入相應(yīng)的包后,雙擊Eclipse圖標(biāo),選擇你的項目地址。打開Eclipse后,點擊Window選擇preferences,點擊Tomcat選擇你當(dāng)前的Tomcat版本,然后介紹你當(dāng)前安裝的Tomcat的路徑名。往下看,有一個配置文件。這里介紹一下你的Tomcat的server.xml文件,在JVM設(shè)置的jre中選擇你當(dāng)前的JDK版本,最后右擊左邊空白處選擇new,再選擇others,然后雙擊Tomcat項目,導(dǎo)入你的項目,最后運行Tomcat檢查是否有異常。為了定制和完全控制Eclipse,您需要很好地理解Eclipse的安裝結(jié)構(gòu)。此外,我們需要知道如何通過管理Eclipse環(huán)境來動態(tài)擴展和自助服務(wù)已安裝的功能組件。這將幫助您更深入地理解Eclipse是如何工作的,并知道如何更好地配置新特性,使它們成為已安裝Eclipse的有用特性。在Eclipse中,特性是一個功能管理單元。您可以在Eclipse的關(guān)于Eclipse平臺對話框和產(chǎn)品配置對話框中看到已安裝的特性。組件是由插件開發(fā)者定義的,用來組織插件。Java的網(wǎng)絡(luò)功能與編程Java是Sun公司開發(fā)的新一代高級編程語言。可以在不同機器、不同操作平臺的各種網(wǎng)絡(luò)環(huán)境下開發(fā)軟件。無論你使用的是什么樣的網(wǎng)頁瀏覽器、電腦或操作系統(tǒng),只要網(wǎng)頁瀏覽器標(biāo)有“支持Java”并安裝了JAVA控件,就能看到栩栩如生的主頁。Java正逐漸成為互聯(lián)網(wǎng)應(yīng)用中最重要的開發(fā)語言。它徹底改變了軟件開發(fā)模式,帶來了自PC以來的又一次革命,為飛速發(fā)展的網(wǎng)絡(luò)世界增添了新的動力。Sun的Java語言開發(fā)團隊成立于1991年,Sun的員工稱這個項目為Green。這個小組的組長是詹姆斯·高斯林,一位非常杰出的程序員。在研發(fā)過程中,高斯林深刻體會到消費電子與工作站產(chǎn)品的區(qū)別:消費電子要求高可靠性、低成本、標(biāo)準(zhǔn)化、使用簡單。高斯林在開始寫Java的時候,并不局限于擴展語言機制本身,而是更側(cè)重于語言運行的軟硬件環(huán)境。他要構(gòu)建一個系統(tǒng),運行在一個巨大的、分布式的、異構(gòu)的網(wǎng)格環(huán)境中,完成各種設(shè)備之間的通信和協(xié)作。Gosling在設(shè)計中采用了虛擬機代碼,即編譯Java語言生成虛擬機,運行在解釋器上,每個操作系統(tǒng)都有一個解釋器。因此,Java成為了一種跨平臺的語言。PatrickNaughton也是Sun公司的技術(shù)骨干,曾經(jīng)是OpenWindows項目的負(fù)責(zé)人。諾頓加入團隊后,工作進(jìn)展迅速。經(jīng)過17個月的努力,整個系統(tǒng)順利完成。它由操作系統(tǒng)、語言、用戶界面、新的硬件平臺和三個專用芯片組成。通常,這樣的項目需要75個人在Sun公司工作三年。項目完成后,在Sun公司進(jìn)行了論證和評估。觀眾的反應(yīng)是:各方面都采用了全新大膽的技術(shù)。到1994年,互聯(lián)網(wǎng)已經(jīng)發(fā)展的如火如荼。高斯林意識到互聯(lián)網(wǎng)需要一個瀏覽器,它不依賴于任何平臺。它應(yīng)該是一個實時性高、可靠安全、具有交互功能的瀏覽器。所以高斯林決定用Java開發(fā)一個新的網(wǎng)絡(luò)瀏覽器。雖然Java出現(xiàn)的時間不長,但是已經(jīng)被業(yè)界完全接受了。一些大公司如IBM、蘋果、SiliconGraphics、惠普、甲骨文、東芝、網(wǎng)景和微軟已經(jīng)購買了Java許可證。微軟還在其網(wǎng)絡(luò)瀏覽器Explorer3.0版本3.0中增加了對Java的支持。很多軟件開發(fā)商也開發(fā)了很多支持Java的軟件產(chǎn)品。如:拿鐵;Borland公司基于Java的快速應(yīng)用開發(fā)環(huán)境;Metrowerks公司和NaturalIntelligence公司分別開發(fā)的基于Machintosh的Java開發(fā)工具;JavaWorkshop,Sun的Java開發(fā)環(huán)境;微軟也開發(fā)了一系列Java產(chǎn)品。Sybase、Oracle等數(shù)據(jù)庫供應(yīng)商正在開發(fā)支持HTML和Java的CGI。Intranet正在成為企業(yè)信息系統(tǒng)的最佳解決方案。它的優(yōu)點是:價格便宜,易于使用和管理。無論用戶使用什么樣的機器和操作系統(tǒng),界面都是統(tǒng)一的Web瀏覽器,而數(shù)據(jù)庫、網(wǎng)頁和應(yīng)用程序都存在于Web服務(wù)器上。未來每個主頁的本質(zhì)都是一個多媒體應(yīng)用,用Java開發(fā)。Java應(yīng)用程序運行在不同的機器、不同的操作系統(tǒng)上,甚至是冰箱、烤面包機和防盜電子設(shè)備上?;ヂ?lián)網(wǎng)用于連接所有電子設(shè)備,通過TCP/IP交換信息。Java的出現(xiàn)是計算機信息交換的一個重要里程碑。單機時代,程序進(jìn)程通過共享存儲來交換變量;網(wǎng)絡(luò)時代,運行在不同主機上的程序按照網(wǎng)絡(luò)協(xié)議交換二進(jìn)制字符流,語義由雙方維護。在Java時代,網(wǎng)絡(luò)上運行的程序進(jìn)程交換小應(yīng)用。隨著互聯(lián)網(wǎng)的興起和Java的誕生,龐大臃腫的應(yīng)用軟件開始小型化,許多生活在互聯(lián)網(wǎng)上的小應(yīng)用相互協(xié)作完成信息的處理和傳輸。Java將加速應(yīng)用軟件小型化和網(wǎng)絡(luò)化的趨勢。隨著互聯(lián)網(wǎng)的發(fā)展,軟件必須面向大眾,薄利多銷將是網(wǎng)絡(luò)應(yīng)用軟件的重要特征。信息的價值在于使用和共享?;ヂ?lián)網(wǎng)和Web是使用和共享信息的最快捷、最便宜的方式。Word將演變成網(wǎng)絡(luò)寫作工具,而Excel將演變成網(wǎng)絡(luò)電子表格。JAVA的特點(一)JAVA的主要特點Java具有以下特點:簡單性、面向?qū)ο蟆⒎植际健⒔忉寛?zhí)行、安全性、架構(gòu)中立性、可移植性、高性能、多線程和動態(tài)性。1.簡單的Java是一種面向?qū)ο蟮恼Z言,它提供了完成指定任務(wù)的最基本的方法。Java省略了運算符重載、多重繼承等模糊概念,通過實現(xiàn)自動垃圾回收,大大簡化了程序員的內(nèi)存管理。2.面向?qū)ο驤ava語言的設(shè)計側(cè)重于對象及其接口。它提供了簡單的類機制與動態(tài)接口模型接口,實現(xiàn)了模塊化和信息隱藏。類提供了第一個類對象的原型,通過繼承機制,子類可以使用父類提供的方法實現(xiàn)代碼重用。3.分配Java是一種面向網(wǎng)絡(luò)的語言。它提供的類庫可以處理TCP/IP協(xié)議,用戶可以通過URL地址輕松訪問網(wǎng)絡(luò)上的其他對象。4.安全性網(wǎng)絡(luò)和分布式環(huán)境中使用的Java必須防止病毒的入侵。Java不支持指針,所有對內(nèi)存的訪問都必須通過對象的實例變量來實現(xiàn),從而防止程序員通過“木馬”等欺騙手段訪問對象的私有成員,同時避免指針操作中容易產(chǎn)生的錯誤。5.建筑中立Java解釋器生成獨立于架構(gòu)的指令,Java程序可以在任何處理器上運行。這些指令對應(yīng)于Java虛擬機中的表示。Java解釋器得到字節(jié)碼后,轉(zhuǎn)換它,使它能在不同的平臺上運行。6.輕便與平臺無關(guān)的特性使得Java程序可以很容易地移植到網(wǎng)絡(luò)上的不同機器上。另外,Java編譯器由Java語言實現(xiàn),Java運行時系統(tǒng)由標(biāo)準(zhǔn)C實現(xiàn),這使得Java系統(tǒng)本身具有可移植性。7.解釋和實施Java解釋器直接解釋并執(zhí)行Java字節(jié)碼。代碼本身攜帶了大量的編譯時信息,這使得連接過程更加簡單。8.高性能與其他解釋和執(zhí)行的語言(如BASIC)不同,Java字節(jié)碼被設(shè)計為可以輕松直接地轉(zhuǎn)換為對應(yīng)于特定CPU的機器代碼,從而實現(xiàn)高性能。9.多線程操作多線程機制使應(yīng)用程序能夠并行執(zhí)行,同步機制保證了共享數(shù)據(jù)的正確操作。通過使用多線程,程序員可以使用不同的線程來完成特定的行為,而不是采用全局事件循環(huán)機制,因此很容易實現(xiàn)網(wǎng)絡(luò)上的實時交互行為。10.力學(xué)Java的設(shè)計使它適合于不斷發(fā)展的環(huán)境。新的方法和實例變量可以自由添加到類庫中,而不會影響用戶程序的執(zhí)行。而且Java通過接口支持多重繼承,這使得它比嚴(yán)格的類繼承更靈活,可擴展性更強。(2)豐富的類庫Java提供了大量的類來滿足網(wǎng)絡(luò)化、多線程和面向?qū)ο笙到y(tǒng)的需求。1.語言包提供的支持包括字符串處理、多線程、異常處理、數(shù)學(xué)函數(shù)處理等。它可以用來簡單地實現(xiàn)Java程序的運行平臺。2.實用程序包提供的支持包括哈希表、堆棧、變量數(shù)組、時間和日期等。3.I/O包使用統(tǒng)一的流程模型實現(xiàn)所有格式的I/O,包括文件系統(tǒng)、網(wǎng)絡(luò)和輸入。4.底層網(wǎng)絡(luò)包用于實現(xiàn)Socket編程。5.抽象GUI包實現(xiàn)了不同平臺上計算機的GUI組件,包括窗口、菜單、滾動條、對話框等。,使Java可以移植到不同平臺的計算機上。6.網(wǎng)絡(luò)包支持互聯(lián)網(wǎng)的TCP/IP協(xié)議,并提供與互聯(lián)網(wǎng)的接口。它支持URL連接和WEB即時訪問,簡化了C/S模式的編程。JAVABAEN技術(shù)JavaBeans是Java的可重用組件技術(shù)。JSPJavaBeans對文件上傳、郵件發(fā)送等復(fù)雜功能進(jìn)行擴展,將業(yè)務(wù)處理或復(fù)雜計算分離成獨立的、可重用的模塊。JSP為在Web應(yīng)用程序中集成JavaBeans組件提供了完美的支持。這種支持不僅可以縮短開發(fā)時間,還可以為JSP應(yīng)用程序帶來更多的可伸縮性。JavaBeans組件可用于執(zhí)行復(fù)雜的計算任務(wù),或負(fù)責(zé)與數(shù)據(jù)庫交互以提取數(shù)據(jù)等。由于JavaBeans開發(fā)簡單,可以利用Java語言的強大功能,很多動態(tài)頁面處理過程實際上都封裝在JavaBeans中。IP/TCP協(xié)議(1)IP/TCP協(xié)議的特點:TCP/IP(傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議)是傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議的簡稱,TCP/IP是當(dāng)今網(wǎng)絡(luò)互聯(lián)的核心協(xié)議。TCP/IP協(xié)議的體系結(jié)構(gòu)有四層,即應(yīng)用層、傳輸層、網(wǎng)絡(luò)互連層和網(wǎng)絡(luò)接口層。IP的作用:首先,它是一個網(wǎng)絡(luò)層協(xié)議,為互聯(lián)網(wǎng)上的數(shù)據(jù)傳輸提供統(tǒng)一的格式。第二,提供不可靠的無連接服務(wù)。第三,它定義了互聯(lián)網(wǎng)上數(shù)據(jù)傳輸?shù)幕締卧瑸槁酚商峁┬畔?,沒有錯誤檢查和處理的機制。TCP/IP協(xié)議具有以下特點:該標(biāo)準(zhǔn)是開放的,獨立于特定的計算機硬件和操作系統(tǒng),可以免費使用。統(tǒng)一分配網(wǎng)絡(luò)地址,以便每個TCP/IP設(shè)備在網(wǎng)絡(luò)中都有一個唯一的IP地址。它實現(xiàn)了高層協(xié)議的標(biāo)準(zhǔn)化,可以為用戶提供各種可靠的服務(wù)。(2)用于數(shù)據(jù)傳輸過程的TCP/IP協(xié)議:為了傳輸數(shù)據(jù),應(yīng)用程序會調(diào)用TCP,將數(shù)據(jù)和相應(yīng)的參數(shù)傳遞給TCP,將TCP包封裝在IP包中,通過網(wǎng)絡(luò)發(fā)送給目的TCP。接收方TCP收到數(shù)據(jù)后通知上層應(yīng)用,TCP會保證收到數(shù)據(jù)的正確性。調(diào)用TCP的IP接口,提供TCP需要的所有服務(wù)。(3)端口號:有時,IP地址不能完全識別服務(wù)器。這是因為一臺物理計算機同時運行多個應(yīng)用程序,這就要求我們在同一臺計算機上區(qū)分不同的服務(wù)。所以在傳輸層和應(yīng)用層都設(shè)置了接口,也就是端口。實際上端口是一個16位的地址,其周長在0到65535之間,其中0到1023是眾所周知的端口,主要由提供服務(wù)的應(yīng)用程序使用。這些端口是所有應(yīng)用程序進(jìn)程獨有的,1024到65535是通用端口,也稱為動態(tài)端口和連接端口,用于分配需要隨時通信的客戶端應(yīng)用程序。在數(shù)據(jù)傳輸?shù)倪^程中,各種服務(wù)器不斷檢查分配給他的端口,尋找需要與他通信的客戶端。套接字介紹Socket,簡稱socket,用于實現(xiàn)網(wǎng)絡(luò)上客戶端和服務(wù)器之間的連接。也就是說,網(wǎng)絡(luò)上的兩個或多個雙工通信進(jìn)程之間總是存在連接。這個連接的端點變成了套接字,套接字在較低的級別上進(jìn)行通信。具體來說,服務(wù)器應(yīng)用程序通常偵聽特定的端口,以等待客戶端的連接請求。當(dāng)連接請求到達(dá)時,客戶端和服務(wù)端建立通信連接。在連接過程中,客戶端被分配一個本地端口與套接字建立連接,客戶端通過寫套接字來通知服務(wù)器讀取套接字中的信息。類似的服務(wù)器也會獲得一個本地端口,它需要一個新的端口號來偵聽原始端口上的其他連接請求。服務(wù)器還通過其本地端口連接到套接字,并通過讀寫與客戶端通信。Socket程序的工作過程:1.建立套接字連接:通信開始前,雙方確認(rèn)身份,建立專用的虛擬連接通道。2.數(shù)據(jù)通信:虛擬連接通道用于傳輸數(shù)據(jù)信息。3.關(guān)閉:當(dāng)通信結(jié)束時,拆除已建立的虛擬連接。如下所示:插座示意圖11個服務(wù)器插座2監(jiān)控4接收5閱讀6寫7已關(guān)閉3客戶端etsocket6寫5閱讀7已關(guān)閉局域網(wǎng)聊天系統(tǒng)的分析與設(shè)計設(shè)計的總體思路基于P2P的聊天系統(tǒng),用戶既是服務(wù)器又是客戶端。這不同于傳統(tǒng)的一個服務(wù)器多客戶端的網(wǎng)絡(luò)結(jié)構(gòu),而是一個多服務(wù)器多客戶端的網(wǎng)絡(luò)結(jié)構(gòu)。服務(wù)器和客戶端一一綁定,數(shù)量相等。但是,原則上,這仍然是C/S模式。所以我的程序大致可以分為服務(wù)器模塊和客戶端模塊進(jìn)行分析。首先,介紹服務(wù)器模塊的任務(wù):1.服務(wù)器模塊應(yīng)建立一個服務(wù)器套接字,并持續(xù)監(jiān)聽客戶端模塊的連接或斷開。2.服務(wù)器模塊監(jiān)視網(wǎng)絡(luò)上的客戶端模塊是否需要與本地計算機通信。如果需要,建立連接,接收消息,并通過ActionListener接口進(jìn)行偵聽。當(dāng)用戶點擊該按鈕時,聊天界面被啟動,并且消息通過客戶端模塊被顯示。這是服務(wù)器模塊的兩個主要任務(wù)??蛻舳藨?yīng)該完成的任務(wù)包括:1.向需要通信的主機發(fā)送連接請求。如果成功,通過ServerSocket連接。默認(rèn)端口是5001。2.向連接的主機發(fā)送消息。3.顯示本地服務(wù)器收到的信息。此外,本系統(tǒng)還談到了群聊功能的實現(xiàn):默認(rèn)為廣播地址,利用UDP技術(shù)將消息以廣播的方式傳遞給局域網(wǎng)內(nèi)的每個用戶。原則上,它類似于實現(xiàn)客戶端的原理,只是它不是點對點的通信。主題源根據(jù)當(dāng)前網(wǎng)絡(luò)的需求,在線聊天越來越受到各類網(wǎng)民的青睞。因此,開發(fā)在線聊天是相當(dāng)必要的,增加聊天功能,不僅可以增加訪客數(shù)量,留住訪客,更重要的是讓訪客通過聊天室實時交流。如今,企業(yè)內(nèi)部網(wǎng)絡(luò)越來越普及。無需連接廣域網(wǎng)就能實現(xiàn)實時消息傳輸?shù)南到y(tǒng)因其優(yōu)越的性能而受到企業(yè)的青睞。我學(xué)過JAVA語言,對P2P技術(shù)和網(wǎng)絡(luò)編程比較感興趣。為了更好的檢驗自己對JAVA語言的掌握,了解P2P技術(shù)的內(nèi)涵,我決定將“基于JAVA局域網(wǎng)的聊天程序的設(shè)計與實現(xiàn)”作為我的畢業(yè)設(shè)計,希望這次能進(jìn)一步提高自己的網(wǎng)絡(luò)編程能力。局域網(wǎng)聊天架構(gòu)Jsp技術(shù)JSP是一種基于Java的腳本技術(shù)。在JSP的諸多優(yōu)勢中,它可以有效地將HTML編碼從網(wǎng)頁的業(yè)務(wù)邏輯中分離出來,用Jsp訪問Servlet、JavaBean、基于Java的Web應(yīng)用等可重用組件。JSP還支持在網(wǎng)頁中直接嵌入Java代碼。訪問JSP文件有兩種方式:瀏覽器發(fā)送JSP文件請求,請求發(fā)送到Servlet。1.JSP訪問Bean或其他可以將生成的動態(tài)內(nèi)容發(fā)送到瀏覽器的組件。圖5-1說明了JSP訪問模型。當(dāng)Web服務(wù)器收到一個JSP文件請求時,服務(wù)器會將請求發(fā)送給WebSphereapplicationserver。WebSphereapplicationserver解析JSP文件并生成Java源文件。Java源文件的生成和編譯只有在第一次調(diào)用Servlet時才會發(fā)生,除非原始JSP文件已經(jīng)更新。在這種情況下,WebSphereapplicationserver將檢測更新,并在執(zhí)行之前重新生成和編譯Servlet。圖3-1:瀏覽器發(fā)送JSP文件請求2。發(fā)送給Servlet的請求生成動態(tài)內(nèi)容,并調(diào)用JSP文件將內(nèi)容發(fā)送給瀏覽器。圖3-2說明了訪問模型。這種訪問模型使得將內(nèi)容生成與顯示分離更加方便。WebSphereapplicationserver支持ServiceRequest對象和ServiceRespon對象的一組新方法。這些方法允許調(diào)用Servlet將一個對象(通常是一個Bean)放入請求對象,并將請求傳遞給另一個頁面進(jìn)行顯示。調(diào)用頁面從請求對象中檢索Bean,并使用JSP生成客戶端HTML。圖3-1:瀏覽器發(fā)送JSP文件請求圖3-2:發(fā)送到Servlet的請求系統(tǒng)使用Jsp技術(shù)將抓取的視頻保存到數(shù)據(jù)庫中,然后使用相應(yīng)的代碼調(diào)出你想看的視頻。系統(tǒng)結(jié)構(gòu)——基于Struts三層結(jié)構(gòu)B/S模式下實現(xiàn)管理的功能前面已經(jīng)介紹過了。Struts是MVC的一個實現(xiàn),它使用Servlet和JSP標(biāo)簽作為實現(xiàn)的一部分。Struts繼承了MVC的特點,并根據(jù)J2EE的特點做了相應(yīng)的修改和擴展。Struts的架構(gòu)和工作原理如下圖所示。從圖中我們可以知道Struts的架構(gòu)包括三個部分:模型、視圖和控制器。流程:啟動Struts容器,加載并初始化web.xml中注冊的ActionAervlet,同時根據(jù)web.xml中的Servlet初始化參數(shù)加載Struts-config.xml文件。當(dāng)用戶提交表單時,請求會根據(jù)表單中表單動作標(biāo)簽中的url轉(zhuǎn)發(fā)到web.xml中指定的相應(yīng)Servlet。在Struts中,*。do請求被轉(zhuǎn)發(fā)給ActionServlet,根據(jù)之前的字符串搜索struts-config.xml中與path屬性匹配的action節(jié)點。去吧。生成對應(yīng)的ActionMapping對象,根據(jù)Actionform的name屬性找到其對應(yīng)的子類,使用表單中的屬性值為Actionform對象中的每個屬性賦值。根據(jù)action元素中的scope屬性,對象將被保存到指定的范圍。根據(jù)action的validate屬性,您可以決定是否在表單對象被相應(yīng)的Action對象處理之前對其進(jìn)行驗證。如果驗證通過,form對象將交給Action對象處理,通過findforward找到Action元素的forward子元素ActionForward對象,實現(xiàn)頁面跳轉(zhuǎn)。數(shù)據(jù)庫生成和目錄結(jié)構(gòu)數(shù)據(jù)庫結(jié)構(gòu)本系統(tǒng)的數(shù)據(jù)庫中有六個表格,表格和表格結(jié)構(gòu)如下:表1:用戶安全登錄表(如圖3-3所示)功能:允許相關(guān)人員登錄本系統(tǒng)。圖3-3用戶安全登錄表表2:家用火爐表功能:將監(jiān)控得到的視頻結(jié)果以數(shù)字?jǐn)?shù)據(jù)的形式整理出來。這張表整理了家里的火災(zāi)情況。圖3-4家庭消防表表3:家庭盜竊表功能:將監(jiān)控得到的視頻結(jié)果以數(shù)字?jǐn)?shù)據(jù)的形式整理出來。這張表整理了家庭盜竊的情況。圖3-5家庭盜竊表表4:社區(qū)公園監(jiān)測表功能:將監(jiān)控得到的視頻結(jié)果以數(shù)字?jǐn)?shù)據(jù)的形式整理出來。這張表整理了小區(qū)公園的監(jiān)測結(jié)果。圖3-6社區(qū)苑公園監(jiān)測表表5:住宅樓監(jiān)測表功能:將監(jiān)控得到的視頻結(jié)果以數(shù)字?jǐn)?shù)據(jù)的形式整理出來。這張表整理了居民樓的監(jiān)測結(jié)果。圖3-7住宅樓監(jiān)測表表6:視頻存儲表功能:將各個位置的攝像頭拍攝的視頻地址存儲在此表中,供相關(guān)人員調(diào)用,因為如果存儲大量視頻,機器會越來越慢,視頻會存儲在本地磁盤中。圖3-8視頻存儲表目錄結(jié)構(gòu)該系統(tǒng)在開發(fā)軟件Eclipse中的目錄如下所示:圖3-9目錄結(jié)構(gòu)表單:Web表單Action:Action類是用戶請求和業(yè)務(wù)邏輯之間的橋梁。Dao:數(shù)據(jù)庫代碼集Util:主要是一些特殊的類,用來監(jiān)控和JDBC語句Jsp中的圖片:用來存儲需要的圖片。Js:用于存儲公共js腳本代碼。Css:美化頁面頁面:頁面的位置。Struts-config.xml:主要是一些配置信息,比如Formbean:用于從網(wǎng)頁接收數(shù)據(jù)。系統(tǒng)各模塊的詳細(xì)設(shè)計與實現(xiàn)總體設(shè)計要點聊天系統(tǒng)的設(shè)計和普通的設(shè)計有很多不同之處。在普通設(shè)計中考慮的因素,例如,一般需要大量的美化布局的動畫設(shè)計等。,聊天室只需要為雙方訪問者提供直接的實時聊天。因此,在設(shè)計聊天系統(tǒng)的過程中,我們必須考慮以下設(shè)計要點:1、實現(xiàn)理念一般局域網(wǎng)中基于P2P的聊天程序都是使用服務(wù)器模塊提供連接響應(yīng),用戶通過客戶端模塊與用戶進(jìn)行連接和通話,這是一個面向連接的通信過程。所以在TCP/IP環(huán)境下,程序要實現(xiàn)服務(wù)器端和客戶端的程序。2.服務(wù)器模塊的工作流程模塊通過Socket()系統(tǒng)調(diào)用創(chuàng)建套接字?jǐn)?shù)組,并綁定到指定的本地端口后,就可以在端口監(jiān)聽listen()。如果有用戶連接請求,則建立一個套接字,并將客戶端地址分配給該套接字。然后我們可以互相發(fā)信息。3.客戶端模塊的工作流程客戶端程序相對簡單。它只需要建立一個套接字來連接服務(wù)器模塊。成功后,它可以通過這個套接字發(fā)送和接收數(shù)據(jù)。系統(tǒng)通過ActionListener界面監(jiān)控用戶點擊按鈕,啟動所有聊天窗口做相關(guān)工作,如私聊、群聊等。設(shè)計步驟和功能模塊該表如下圖所示:1.頁,面,張,版功能:聊天系統(tǒng)工作原理圖圖4-2示意圖功能微型組件1.加載框架(源代碼見附錄,下同)登錄接口的publicinit(){//初始化方法SetTitle(“登錄”);seticonimage((newimageicon("\\image\\icon.gif"))。getImage());……setLocation(387,234);setSize(350,300);setvisible(true);setDefaultCloseOperation(3);loadBTN.addactionlistener(this);//向事件偵聽器添加“登錄”按鈕cancelBTN.addactionlistener(this);//談“取消”按鈕加入事件監(jiān)聽器nametext.addactionlistener(this);//在事件偵聽器中輸入用戶名的文本框。this.setresizable(false);}publicvoidactionperformed(actionevente){if(e.getsource()==loadBTN||e.getsource()==nametext){//創(chuàng)建客戶端的主接口text=nametext.gettext();新StateFrame(文本);dispose();}elseif(e.getsource()==CancelBTN){//取消登錄并啟動程序。dispose();system.exit(0);}} 程序的登錄窗口,從這個窗口輸入用戶名,點擊“登錄”初始化一個StateFrame對象,在顯示器上顯示客戶端的主界面。后期改進(jìn)會完成記住用戶名和自動登錄的功能。主要是通過將用戶名寫入記事本來保存。2.狀態(tài)序列幀publicfinalstaticintDEFAULT_PORT=8322;//默認(rèn)端口publicfinal靜態(tài)intCATCH_PORT=7322publicfinalstaticintTCP_PORT=6322;//默認(rèn)TCP連接端口publicinit(){//初始化應(yīng)用程序窗口……frilist.addactionlistener(newactionlistener(){//使用ActionListener接口監(jiān)視圖形界面中的每個組件。publicvoidactionperformed(actionevente){//雙擊登錄列表框時觸發(fā)的事件是連接列表框中的IP,建立TCP通信。插座插座;ints=frilist.getselectedindex();字符串a(chǎn)ddress=userinfo[s]。getIP();//獲取對方的IP嘗試{socket=新套接字(地址,TCP_PORT);//建立連接MainChatFrameMF=newMainChatFrame(socket,userinfo[s].getName());//啟動私聊主界面}catch(異常E1){E1.printstacktrace();}}});……//初始化UDP協(xié)議端口信息//首先將本地IP發(fā)送給online程序響應(yīng)請求,監(jiān)聽對應(yīng)的組播端。publicvoidJoinGroup(){嘗試{group=inetaddress.getbyname("");//初始化廣播聊天信息組groupC=inetaddress.getbyname("");//初始化登錄信息組socket=newdatagramsocket();bytenotify[]=新字節(jié)[100];bytenametag[]=新字節(jié)[20];nametag=name.getbytes();//向登錄的用戶發(fā)送登錄消息,通知他們這個程序已經(jīng)上線。//包的數(shù)據(jù)結(jié)構(gòu)是:判斷位+用戶名+IP地址+用戶名長度。notify=新字符串("C"+name+InetAddress.getLocalHost()。getHostAddress()+name.length())。getBytes();packet=newdatagrampacket(notify,notify.length,groupC,CATCH_PORT);socket.send(數(shù)據(jù)包);socketc=newmulticastsocket(CATCH_PORT);socketc.joingroup(groupC);CatcherCatcher=newCatcher(socketc,this,name,userinfo);CheckInlogin=newCheckIn(this,userinfo);}catch(Exceptione){e.printstacktrace();}} 該窗口用于顯示用戶名和在線人,并監(jiān)視窗口中的組件。從而可以成功生成每個聊天主界面。3.捕手//監(jiān)聽組播端口并反映。公共無效運行(){請嘗試{socket=newdatagramsocket();while(true){byte[]Rdata=新字節(jié)[256];packet=newDatagramPacket(Rdata,Rdata.length);Csocket.receive(數(shù)據(jù)包);//等待數(shù)據(jù)包被接受字符串計數(shù)=新String(packet.getData())。substring(packet.getLength()-1,packet.getlength());intnum=integer.parseint(count);//count記錄數(shù)據(jù)包的最后一位數(shù)字,即用戶名的長度。stringcheck=newString(packet.getdata())。substring(1+num,packet.getlength()-1);//檢查是數(shù)據(jù)包的IP地址。Stringjudge=newString(packet.getdata())。子串(0,1);Stringusertag=新字符串(packet.getData())。子串(1,num+1);if(judge.equals("C"){//當(dāng)//判斷為“C”時,向組播組發(fā)回一個包含對方用戶名和本方IP的數(shù)據(jù)包?!瓆publicvoidconnect(stringcheck){//connect()方法實現(xiàn)了響應(yīng)對方原生信息的過程,//其中第一個和最后一個都是無用信息,被接收方吸收?!瑿he
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年西南交通大學(xué)希望學(xué)院單招綜合素質(zhì)筆試參考題庫含詳細(xì)答案解析
- 2026年泰山職業(yè)技術(shù)學(xué)院單招職業(yè)技能考試模擬試題含詳細(xì)答案解析
- 2026年棗莊職業(yè)學(xué)院單招綜合素質(zhì)筆試備考題庫含詳細(xì)答案解析
- 2026年河北資源環(huán)境職業(yè)技術(shù)學(xué)院單招職業(yè)技能考試參考題庫含詳細(xì)答案解析
- 2026年池州職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)筆試模擬試題含詳細(xì)答案解析
- 2026年山西經(jīng)貿(mào)職業(yè)學(xué)院單招綜合素質(zhì)考試模擬試題含詳細(xì)答案解析
- 2026年河北外國語學(xué)院單招綜合素質(zhì)考試備考題庫含詳細(xì)答案解析
- 2026浙江溫州市蒼南縣人才發(fā)展有限公司招聘銀行勞務(wù)外包人員參考考試題庫及答案解析
- 2026年江門職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試備考試題及答案詳細(xì)解析
- 2026年陜西國防工業(yè)職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)筆試備考試題含詳細(xì)答案解析
- 廣東省佛山市2024-2025學(xué)年高二上學(xué)期期末考試 語文 含解析
- 中藥材及中藥飲片知識培訓(xùn)
- 2024年臺州三門農(nóng)商銀行招聘筆試真題
- 高一政治必修1、必修2基礎(chǔ)知識必背資料
- 垃圾處理設(shè)備維修合同
- DB4114T 105-2019 黃河故道地區(qū)蘋果化學(xué)疏花疏果技術(shù)規(guī)程
- 如何高效向GPT提問
- JT-T-969-2015路面裂縫貼縫膠
- 無抗養(yǎng)殖模式可行性分析
- 《常見疾病康復(fù)》課程教學(xué)大綱
- 飼料廠HACCP計劃書
評論
0/150
提交評論