![基于JAVA的FTP文件傳輸系統(tǒng)設(shè)計與開發(fā)課程設(shè)計_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/1/8f937d60-fefb-4cd7-a8e2-aedb54212e5a/8f937d60-fefb-4cd7-a8e2-aedb54212e5a1.gif)
![基于JAVA的FTP文件傳輸系統(tǒng)設(shè)計與開發(fā)課程設(shè)計_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/1/8f937d60-fefb-4cd7-a8e2-aedb54212e5a/8f937d60-fefb-4cd7-a8e2-aedb54212e5a2.gif)
![基于JAVA的FTP文件傳輸系統(tǒng)設(shè)計與開發(fā)課程設(shè)計_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/1/8f937d60-fefb-4cd7-a8e2-aedb54212e5a/8f937d60-fefb-4cd7-a8e2-aedb54212e5a3.gif)
![基于JAVA的FTP文件傳輸系統(tǒng)設(shè)計與開發(fā)課程設(shè)計_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/1/8f937d60-fefb-4cd7-a8e2-aedb54212e5a/8f937d60-fefb-4cd7-a8e2-aedb54212e5a4.gif)
![基于JAVA的FTP文件傳輸系統(tǒng)設(shè)計與開發(fā)課程設(shè)計_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/1/8f937d60-fefb-4cd7-a8e2-aedb54212e5a/8f937d60-fefb-4cd7-a8e2-aedb54212e5a5.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、類型:課程設(shè)計基于JAVA的FTP文件傳輸系統(tǒng)設(shè)計與開發(fā)簡介:隨著計算機網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,客戶/服務(wù)C/S(Client/Sersver)結(jié)構(gòu)成為開發(fā)FTP的網(wǎng)絡(luò)編程結(jié)構(gòu),Java作為Web應(yīng)用程序的開發(fā)技術(shù)也為更多的人所采用。主題詞:FTP;C/S;B/S;JAVA引言FTP(FileTransferProtocol)是文件傳輸協(xié)議的簡稱。FTP的主要作用,就是讓用戶連接上一個遠程計算機(這些計算機上運行著FTP服務(wù)器程序)查看遠程計算機有哪些文件,然后把文件從遠程計算機上拷到本地計算機,或把本地計算機的文件送到遠程計算機去。目前FTP服務(wù)器軟件都為國外作品,例如Server_U、IIS,
2、國內(nèi)成熟的FTP服務(wù)器軟件很少,有一些如(CrobFTPServer),但從功能上看來遠不能和那些流行的服務(wù)器軟件媲美。下面對這些軟件簡單的做一個比較:IIS只適用于NT/2000/XPWindows操作系統(tǒng),適合建個小型的同時在線用戶數(shù)不超過10個的FTP服務(wù)器。它對賬戶的管理按照Windows用戶賬戶方式進行;比起IIS來,Server_U的管理功能強大得多,而且設(shè)置也很方便。它是一款由RobBeckers開發(fā)的獲獎的FTP服務(wù)器軟件,它功能強大又易于使用,支持9x/ME/NT/2K等全Windows系列。FTP服務(wù)器用戶通過它用FTP協(xié)議能在internet上共享文件。Serv-U不僅1
3、00犍從通用FTP標準,也包括眾多的獨特功能可為每個用戶提供文件共享完美解決方案。它并不是簡單地提供文件的下載,還為用戶的系統(tǒng)安全提供了相當全面的保護。例如:您可以為您的FTP設(shè)置密碼、設(shè)置各種用戶級的訪問許可等等;而CrobFTPServer從功能設(shè)置上可以看出,它沿用了像Server_U等主流FTP服務(wù)器軟件的基本設(shè)置;并加入了不少人性化的功能;同時支持多服務(wù)器。(即在軟件中可以在任意的有效端口上建立任意多的FTP服務(wù)器并可同時運行,各服務(wù)器間互不相干的穩(wěn)定運行)應(yīng)該說進步是非常大的。并且可以應(yīng)用于Windows95/98/ME/me/N/T2000及最新的.NET操作系統(tǒng)上。不過,縱觀上
4、面這些軟件,它們都只能在Windows操作系統(tǒng)中運行,并且功能過于強大,許多功能應(yīng)用于我們的考試系統(tǒng)的話,并沒有太大的意義,而且有些也沒必要,于是就需要一個專用的,而且也能通用(應(yīng)用于UNIX等其他的操作系統(tǒng))的FTP服務(wù)器。要求實習(xí)一些基本功能:文件上傳;文件下載;文件列表和存在檢查、文件屬性查詢?;谝陨系囊?,可以說在選擇開發(fā)語言的時候,無疑我選擇了JAVA語言。眾所周知,JAVA是一種可以編寫跨平臺應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計語言。Java編程語言的風(fēng)格十分接近C+語言。Java繼承了C+語言面向?qū)ο蠹夹g(shù)的核心,舍棄了C+語言中容易引起錯誤的指針(以引用取代)、運算符重載、多重繼承(以
5、接口取代)等成分,增加了自動垃圾回收器功能用于回收不再被引用的對象所占據(jù)的內(nèi)存空間。Java最初是為嵌入式小設(shè)備而設(shè)計的。起初,它為人們所喜愛的原因是由于可以用它來開發(fā)復(fù)雜的、以Applet為形式的客戶端Web應(yīng)用。然而,服務(wù)器端JAVA的應(yīng)用的興起才是JAVA編程最令人振奮的趨勢。Java本質(zhì)上適合開發(fā)大型客戶機/服務(wù)器(Client/Server)應(yīng)用。其跨平臺、面向?qū)ο?、?nèi)存保護的安全性、內(nèi)在的對網(wǎng)絡(luò)編程的支持以及豐富的API等特性使JAVA成為服務(wù)器端應(yīng)用開發(fā)的一種理想語言。之所以選擇JAVA語言,還有個重要的原因就是本人的個人所好。在選擇開發(fā)平臺方面,JCreatoReclipse&
6、gt;Jbuilder等都是不錯的選擇,由于個人喜好我選擇了Jbuilder作為我的開發(fā)平臺,而在版本的選擇上我選的是Jbuilder2005。通過閱讀大量的文獻質(zhì)料,我發(fā)現(xiàn)用JAVA來開發(fā)FTP服務(wù)器還是具有一定的難度,主要是由于它不像開發(fā)FTP客戶端的程序那樣(Jbuilder中提供了一類網(wǎng)絡(luò)類庫.ftp.FtpClient.,該類庫主要提供了用于建立FTP連接的類。利用這些類的方法,編程人員可以遠程登錄到FTP服務(wù)器,列舉該服務(wù)器上的目錄,設(shè)置傳輸協(xié)議,以及傳送文件。FtpClient類涵蓋了幾乎所有FTP的功能,F(xiàn)tpClient的實例變量保存了有關(guān)建立。),在Jbuilder中并沒有
7、像FtpClient類這樣的,來提供給用于服務(wù)器端編程的類,所以我們只能從FTP的工作原理入手,來解決服務(wù)器端的程序編寫問題。經(jīng)過分析,大體思路如下:在主函數(shù)中建立一個服務(wù)器套接字端口,等待客戶端請求,一旦客戶端請求被接受,服務(wù)器程序就建立一個服務(wù)器分線程,處理客戶端的命令。如果客戶端需要和服務(wù)器端進行文件的傳輸,則建立一個新的套接字連接來完成文件的操作。在主函數(shù)中,完成服務(wù)器端口的偵聽和服務(wù)線程的創(chuàng)建。線程類的主要設(shè)計都是在run()方法中實現(xiàn)。用run()方法得到客戶端的套接字信息,根據(jù)套接字得到輸入流和輸出流,向客戶端發(fā)送歡迎信息。在文件傳輸方面,主要處理從服務(wù)器中獲得文件RETR和向服
8、務(wù)器中發(fā)送文件STOR,這兩個命令的處理非常類似。處理RETR命令時,首先得到用戶要獲得的文件的名稱,根據(jù)名稱創(chuàng)建一個文件輸入流,然后和客戶端建立臨時套接字連接,并得到一個輸出流。隨后,將文件輸入流中的數(shù)據(jù)讀出并借助于套接字輸出流發(fā)送到客戶端,傳輸完畢以后,關(guān)閉流和臨時套接字;STOR命令的處理也是同樣的過程,只是方向正好相反。當然,這只是大體的思路,具體的實現(xiàn)還涉及到許多細節(jié)上的問題了,從理論上來講,利用JAVA來開發(fā)FTP服務(wù)器是可行的,也基本能完成我們預(yù)先所要達到的目標,實現(xiàn)一些基本功能,不過在檢查文件的屬性這方面還有待查找更多相關(guān)的質(zhì)料。另外,由于Internet網(wǎng)絡(luò)帶寬是有限的,所以
9、可以考慮將在Internet上需要傳輸?shù)臄?shù)據(jù)文件壓縮后再傳輸,則更有利于數(shù)據(jù)文件的快速傳輸,同時,壓縮文件也可以節(jié)省服務(wù)器哦的外部存儲空間。實現(xiàn)的時候,主要可應(yīng)用JavaAPI中java.util.zip包提供的ZipEntry、ZipInputStream和ZipOutputStream共3個類。本軟件將盡量實現(xiàn)這個功能。1技術(shù)簡介1.1 Java語言Java語言的優(yōu)點主要表現(xiàn)在:簡單、面向?qū)ο蟆⒍嗑€程、分布性、體系結(jié)構(gòu)中立、安全性等方面。1.1.1 簡單性Java與C+皓言非常相近,但Java比C+嘀單,它拋棄了C+沖的一些不是絕對必要的功能,如頭文件、預(yù)處理文件、指針、結(jié)構(gòu)、運算符重載、
10、多重繼承以及自動強迫同型。Java實現(xiàn)了自動的垃圾收集,簡化了內(nèi)存管理的工作。這使程序設(shè)計更加簡便,同時減少了出錯的可能。1.1.2 面向?qū)ο驤ava提供了簡單的類機制和動態(tài)的構(gòu)架模型。對象中封裝了它的狀態(tài)變量和方法,很好地實現(xiàn)了模塊化和信息隱藏;而類則提供了一類對象的原型,通過繼承和重載機制,子類可以使用或重新定義父類或超類所提供的方法,從而既實現(xiàn)了代碼的復(fù)用,又提供了一種動態(tài)的解決方案。Java是一種完全面向?qū)ο蟮某绦蛟O(shè)計語言,它除了數(shù)組、布爾和字符三個基本數(shù)據(jù)類型外的其它類都是對象,它不再支持全局變量。在Java中,如果不創(chuàng)建新類就無法創(chuàng)建程序,Java程序在運行時必須先創(chuàng)建一個類的實例
11、,然后才能提交運行。Java同樣支持繼承特性,Java的類可以從其它類中繼承行為,但Java只支持類的單重繼承,即每個類只能從一個類中繼承。Java支持界面,界面允許程序員定義方法但又不立即實現(xiàn),一個類可以實現(xiàn)多個界面,利用界面可以得到多重繼承的許多優(yōu)點而又沒有多重繼承的問題。1.1.3 多線程多線程使應(yīng)用程序可以同時進行不同的操作,處理不同的事件。在多線程機制中,不同的線程處理不同的任務(wù),他們之間互不干涉,不會由于一處等待影響其他部分,這樣容易實現(xiàn)網(wǎng)絡(luò)上的實時交互操作。Java程序可以有多個執(zhí)行線程,如可以讓一個線程進行復(fù)雜的計算,而讓另一個線程與用戶進行交互,這樣用戶可以在不中斷計算線程的
12、前提下與系統(tǒng)進行交互。多線程保證了較高的執(zhí)行效率。1.1.4 分布性Java是面向網(wǎng)絡(luò)的語言。通過它提供的類庫可以處理TCP/IP協(xié)議,用戶可以通過URLM址在網(wǎng)絡(luò)上很方便的訪問其他對象。1.1.5 體系結(jié)構(gòu)中立Java是一種網(wǎng)絡(luò)語言,為使Java程序能在網(wǎng)絡(luò)的任何地方運行,Java解釋器生成與體系結(jié)構(gòu)無關(guān)的字節(jié)碼結(jié)構(gòu)的文件格式。Java為了做到結(jié)構(gòu)中立,除生成機器無關(guān)的字節(jié)碼外,還制定了完全統(tǒng)一的語言文本,如Java的基本數(shù)據(jù)類型不會隨目標機的變化而變化,一個整型總是32位,一個長整型總是64位。為了使Java的應(yīng)用程序能不依賴于具體的系統(tǒng),Java語言環(huán)境還提供了用于訪問底層操作系統(tǒng)功能的
13、類組成的包,當程序使用這些包時,可以確保它能運行在各種支持Java的平臺上。java.lang:一般的語言包。其中包括用于字符串處理、多線程、異常處理和數(shù)字函數(shù)等的類,該包是實現(xiàn)Java程序運行平臺的基本包;java.util:實用工具包。其中包括哈希表、堆棧、時間和日期等;java.io:基于流模型的輸入/輸出包。該包用統(tǒng)一的流模型實現(xiàn)了各種格式的輸入/輸出,包括文件系統(tǒng)、網(wǎng)絡(luò)和設(shè)備的輸入/輸出等;:網(wǎng)絡(luò)包。該包支持TCP/IP協(xié)議,其中提供了socket>URL和WW的編程接口;java.awt:抽象窗口工具集。其中實現(xiàn)了可以跨平臺的圖形用戶界面組件,包括窗口、菜單、滾動條和對話框等
14、;java.applet:支持applet程序設(shè)計的基本包。1.1.6 安全性用于網(wǎng)絡(luò)、分布環(huán)境下的Java必須要防止病毒的入侵,Java不支持指針,一切對內(nèi)存的訪問都必須通過對象的實例變量來實現(xiàn),這樣就防止了程序員使用欺騙手段訪問對象的私有成員,同時也避免了指針操作中容易產(chǎn)生的錯誤。1.2 JAVA工具1.2.1 JDKJava編譯器Java編譯器將Java源代碼文件編譯成可執(zhí)行的Java字節(jié)碼。Java源代碼文件的擴展名為.java,Java編譯器把這種擴展名的文件編譯成擴展名為.class的文件。源文件中的每個類在編譯后都將產(chǎn)生一個class文件,這意味一個Java源代碼文件可能編譯生成
15、多個class文件。Java解釋器Java解釋器對編譯生成的字節(jié)碼格式的可執(zhí)行程序的運行提供支持,它是運行非圖形Java程序的命令行工具。(3)Appletviewer它是JavaApplet的簡單測試工具,可使用它來測試JavaApplet程序,而不需要WW涮覽器的支持。1.2.2VisualJ+VisualJ+集成了可視化界面設(shè)計、交互式調(diào)試、代碼編輯、聯(lián)機幫助信息和介紹如何快速掌握該開發(fā)環(huán)境的實用向?qū)У榷囗椆δ?,同時具有能充分利用ActiveX和COMf技術(shù)的優(yōu)勢。利用VisualJ+可創(chuàng)建交互性很強的Internet應(yīng)用程序,是難得的Java開發(fā)系統(tǒng)。1.3 Java中輸入/輸出流概念
16、過濾流DataInputStream和DataOutputStream除了分別作為FilterInputStream和FilterOutputStream的子類外,還分別實現(xiàn)了接口DataInput和DataOutput。接口DataInput中定義的方法主要包括從流中讀取基本類型的數(shù)據(jù)、讀取一行數(shù)據(jù)、或者讀取指定長度的字節(jié)數(shù),如readBoolean()readInt()、readLine()、readFully()等。接口DataOutput中定義的方法主要是向流中寫入基本類型的數(shù)據(jù)或者寫入一定長度的字節(jié)數(shù)組,如writeChar()、writeDouble()DataInputStrea
17、m可以從所連接的輸入流中讀取與機器無關(guān)的基本類型數(shù)據(jù),用以實現(xiàn)一種獨立于具體平臺的輸入方式;DataInputStream可以向所連接的輸出流寫入基本類型的數(shù)據(jù)。1.4 Socket機制Socket是面向客戶/服務(wù)器模型設(shè)計的,網(wǎng)絡(luò)上的兩個程序通過一個雙向的通訊連接實現(xiàn)數(shù)據(jù)的交換,這個雙向鏈路的一端稱為一個SocketoSocket通常用來實現(xiàn)客戶方和服務(wù)方的連接??蛻舫绦蚩梢韵騍ocket寫請求,服務(wù)器將處理此請求,然后通過Socket將結(jié)果返回給用戶。Socket通信機制提供了兩種通訊方式:有聯(lián)接和無聯(lián)接方式,分別面向不同的應(yīng)用需求。使用有聯(lián)接方式時,通信鏈路提供了可靠的,全雙工的字節(jié)流服
18、務(wù)。在該方式下,通信雙方必須創(chuàng)建一個聯(lián)接過程并建立一條通訊鏈路,以后的網(wǎng)絡(luò)通信操作完全在這一對進程之間進行,通信完畢關(guān)閉此聯(lián)接過程。使用無聯(lián)接方式時其系統(tǒng)開銷比無聯(lián)接方式小,但通信鏈路提供了不可靠的數(shù)據(jù)報服務(wù),不能保證信源所傳輸?shù)臄?shù)據(jù)一定能夠到達信宿。在該方式下,通信雙方不必創(chuàng)建一個聯(lián)接過程和建立一條通訊鏈路,網(wǎng)絡(luò)通信操作在不同的主機和進程之間轉(zhuǎn)發(fā)進行。1.5 JBuilder集成開發(fā)環(huán)境介紹BorlandJBuilder是全球第一的跨平臺Java開發(fā)環(huán)境,可以用于構(gòu)建符合工業(yè)標準的Java應(yīng)用系統(tǒng),開發(fā)EJBWebXMLH及數(shù)據(jù)庫等各類應(yīng)用程序。雙向、可視化設(shè)計工具使得我們可以快速的構(gòu)建各種
19、J2EE應(yīng)用程序,并部署至多種應(yīng)用程序服務(wù)器,包括BEAWebLogic、IBMWebSphereSunONEApplicationServer>Oracle10gApplicationServer以及整合于JBuilder的BorlandEnterpriseServer。鑒于此原因,在我們學(xué)習(xí)Java語言的時候,也沒有理由杜絕使用JBuilder這個優(yōu)秀的編譯器。除非你看到集成開發(fā)環(huán)境就暈,呵呵(初學(xué)者和大師經(jīng)常這樣說)。當然如果你還是初學(xué)者,選擇IntellijIDEA也不錯,簡單、清晰,他獲得了2003年Java最佳編譯器大獎,集成了很多先進的軟件工程方法。但是做企業(yè)級的開發(fā),JB
20、uilder無可爭論的成為最佳選擇。QuickStart-原來JBuilder這么容易上手正如你使用其它的編譯器學(xué)習(xí)Java語言一樣,你的幾個想法之一便是“讓我盡快的完成一個HelloWorld吧!"。我們暫且什么都不看,僅僅快速的完成一個HelloWorld程序。安裝JBuilder似乎并不需要更多的向?qū)Т蠹叶寄軌颡毩⑼瓿?。那么趕快打開這個集成開發(fā)環(huán)境,讓我們盡快完成我們的HelloWorld。運行JBuilder后我們看到了這樣的界面:趕快新建一個工程(一個習(xí)慣是,不管你建立的程序有多么的小,建立一個工程是一個良好的程序設(shè)計習(xí)慣,便于有效的管理你的代碼和編譯后生成的資源),在新建
21、的工程中新建一個HelloWorld類文件HelloWorld.java。你的工程名、類文件名和類名最好是統(tǒng)一的,這是一個良好的編程習(xí)慣。需要注意的是:你得類文件名和類名必須是統(tǒng)一的,否則就會出現(xiàn)類似下面的報警錯誤,我們假設(shè)將類名命名為HelloWorldd,而文件名為HelloWorld,編譯后就會出現(xiàn)下面的提示信息:"HelloWorld.java":classHelloWorlddispublic;shouldbedeclaredinafilenamedHelloWorldd.javaatline12,columnl完整的HelloWorld程序可以參考下面的建立:寫
22、好你的程序后,編譯運行之。右擊工程欄當中的HelloWorld.java,選擇DebugUsingDefaults。除非上面的步驟出現(xiàn)問題,否則你將會很興奮的看到,HelloWorld在信息窗格中輸出了!這樣看來似乎JBuilder沒有那么復(fù)雜,對么?很多人花了N長時間來調(diào)試一個HelloWorld程序,不是環(huán)境變量沒有設(shè)置好就是忘記這個丟了那個。但你絕不能從此斷定“搞定!我已經(jīng)掌握了JBuilder!”其實這只是給大家建立一個信心,告訴大家JBuilder其實并不像你想象的那樣無法接受而已。想要徹底掌握JBuilder,我們需要認真的學(xué)習(xí)下面的指導(dǎo)。AppBrowser-我以后天天對著你打開
23、JBuilder集成開發(fā)環(huán)境的時候,我們面對的便是AppBrowser。下面我們來逐一的介紹主要的組成部件:如果是正在調(diào)試多個工程或者你需要打開多個AppBrowser窗口,可以點擊Window菜單中的NewBrowser或者是在工程窗體中右擊文件名,點擊OpeninNewBrowser。再來看看主工具欄,如果你覺得這么多快捷按鈕不爽,大可在下面這幅圖的指導(dǎo)下關(guān)掉這些工具欄。在View中選擇Toolbars:但個人習(xí)慣使用默認的工具欄,提供了不少方便。工程窗體中顯示的是當前的工程以及當前工程所包含的所有文件。結(jié)構(gòu)窗體中展示了當前在被編輯的文件結(jié)構(gòu),下面的圖片顯示的便是剛剛的HelloWorld
24、文件結(jié)構(gòu),很簡單是么,只有一個main方法。如果你的程序中有錯誤,結(jié)構(gòu)窗體就會實時出現(xiàn)一個Errors文件夾,其中包含了這些語法錯誤。Improts中存放的是所有引入的Package下面我們再來看看位于內(nèi)容窗體下的文件查看頁簽:Source顯示的是目前文件的源代碼,可以直接進行編輯。Design中包含了組件托盤,以便進行可視化程序開發(fā)。Bean中包含了BeanExpress設(shè)計工具,可以用于查看和編輯bean的特性。UML好神奇,打開看看剛才系統(tǒng)為你的工程創(chuàng)建的UMLS!Doc為你的文件創(chuàng)建了一個Javadoc。History顯示了文件的版本控制系統(tǒng)記錄。開發(fā)環(huán)境中一個非常重要的工具便是搜索欄
25、,你可以在工具欄上看到一個搜索欄,這個是在當前文檔中進行內(nèi)容搜索用的。如果你要對某些類進行搜索,不妨同時按下Ctrl和減號。在Search中可以對類進行搜索,在Browse中可以對package進行搜索。2系統(tǒng)分析2.1 可行性分析可行性研究就是預(yù)開發(fā)軟件系統(tǒng)的總體目標,給出它的功能、性能、可靠性以及其他方面的要求。其目的是用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決、是否值得去解決。下面從四個方面分析本系統(tǒng)的可行性:技術(shù)可行性本系統(tǒng)用JAVA進行代碼的編寫,目前十分流行的一種技術(shù),主要用于開發(fā)服務(wù)端的腳本程序和動態(tài)生成網(wǎng)站。它與目前同樣流行的VB技術(shù)技術(shù)是相同性質(zhì)的、同一層次的,它們在
26、網(wǎng)站的建設(shè)中所起的作用是一樣的,但是JAVA技術(shù)與這兩種技術(shù)相比,有著十分突出的優(yōu)越性,發(fā)展前途不可限量。經(jīng)濟可行性經(jīng)濟可行性分析(能否贏利)是,從經(jīng)濟的角度分析本系統(tǒng)的規(guī)劃方案有無實現(xiàn)的可能和開發(fā)的價值;分析網(wǎng)站系統(tǒng)所帶來的經(jīng)濟效益是否超過開發(fā)和維護網(wǎng)站所需要的費用。經(jīng)濟上的可行性是企業(yè)行為的基礎(chǔ)。由于本系統(tǒng)的開發(fā)設(shè)計是為完成畢業(yè)設(shè)計任務(wù)而進行的,所以不存在贏利問題。所在此也就不討論經(jīng)濟可行性問題。開發(fā)環(huán)境可行性網(wǎng)站開發(fā)需要的開發(fā)環(huán)境需要裝有windows2000系統(tǒng)以上的電腦上運行,這樣的配置在當今已經(jīng)不能成為難題,而服務(wù)器方面,只需要一臺安裝了JAVA和JBuilder服務(wù)的計算機即可。
27、所以開發(fā)環(huán)境可行性是沒有任何問題的。2.2 開發(fā)工具整個系統(tǒng)的開發(fā)和運行所需的軟件環(huán)境包括。(1)服務(wù)器操作系統(tǒng):Windows/Unix(2)客戶端操作系統(tǒng):Windows2000/XP/Unix(3)系統(tǒng)框架結(jié)構(gòu):J2EE框架組織系統(tǒng)結(jié)構(gòu);(4)開發(fā)工具:Jbuilder,Frontpage20032.3 需求分析根據(jù)畢業(yè)設(shè)計的要求,傳輸系統(tǒng)的主要功能實現(xiàn)在網(wǎng)絡(luò)環(huán)境下,客戶端與服務(wù)端的文件傳輸。主要有客戶端與服務(wù)端兩大模塊。整個系統(tǒng)基于Web境,應(yīng)用于FTP服務(wù)器,故考慮后臺數(shù)據(jù)庫采用JAV顏寫,充分發(fā)揮其在Internet信息處理方面上的優(yōu)勢,實現(xiàn)方便快捷、高效實用,安全穩(wěn)定的開發(fā)效果。
28、系統(tǒng)開發(fā)的總體任務(wù)是連接FTP服務(wù)器,上傳/下載文件、對FTP服務(wù)器站點的管理、服務(wù)器端提供FTP服務(wù)、允許遠程登錄下載服務(wù)器上的文件。功能層次圖如圖1所示,ftp客戶端程序運矍件操作本地文件操作圖1FTP功能層次圖FTP數(shù)據(jù)流圖,如圖2所示圖2FTP數(shù)據(jù)流圖日益文件耆端3系統(tǒng)詳細設(shè)計3.1系統(tǒng)的主要功能在日常的網(wǎng)絡(luò)應(yīng)用中,文件傳輸已經(jīng)成為繼即時通訊之后第二大的網(wǎng)絡(luò)基礎(chǔ)應(yīng)用,而點對點的文件發(fā)送是最方便的文件傳輸手段。越來越多的網(wǎng)民或是商業(yè)用戶都采用這種方式發(fā)送文件,目前許多即時通訊軟件,例如QQ、MSN都有點對點文件傳輸功能,同時還出現(xiàn)了專門的點對點文件傳輸工具,如快遞通等。當今比較流行的局域
29、網(wǎng)內(nèi)文件傳輸軟件,如:飛鴿傳書等。我們本次制作的軟件就是以飛鴿傳書為參照,具體功能也是飛鴿傳書的基礎(chǔ)上,通過分析與對比,總結(jié)其他此類軟件的優(yōu)缺點,制作出一款有自己特色的內(nèi)網(wǎng)傳輸軟件。主要特點要突出在,方便快速,實用性強,功能適應(yīng)于廣大用戶,實現(xiàn)文件資源在局域網(wǎng)快速傳遞分享,充分利用內(nèi)網(wǎng)寶貴的資源。當打開軟件,首先要讓通知在線用戶(使用了本軟件的的用戶),讓對方知道自己的在線狀態(tài),同時也獲取其他用戶的在線情況,及時了解本軟件的在線用戶狀態(tài)。用戶可以根據(jù)自己的需要,向在線用戶名單列表,添加與刪除當前在線用戶的名單,并可以手動刷新用戶名單。當然本軟件也會自動刷新用戶名單列表,而且可以根據(jù)自己的需要,
30、設(shè)定軟件自動刷新的時間間隔,做到準確掌握在線名單。知道了用戶的在線情況,如果想對某個在線用戶進行對話或發(fā)送文件,則可以雙擊在線用戶名單列表中的某個用戶,系統(tǒng)將會自動彈出一個對話框,并在對話框顯示對方的連接情況。然后就可以進行發(fā)送文字信息或回復(fù)對方,同時在信息顯示欄中會顯示雙方之間所進行多的全部對話歷史記錄。在此對話期間,還可以同時發(fā)送文件給對方。對話框界面簡單實用,方便操作,一目了然。然而,有的人不太喜歡太多別人發(fā)信息給自己,或十分的討厭太多的騷擾”信息,這個時候,只要你選擇主窗口的基本設(shè)置處,就會用相應(yīng)的設(shè)置,在自動彈開對話窗口”字樣的前面,把復(fù)選框前面的勾取消,就可以取消一切外來用戶發(fā)送來
31、的信息,也就不會再有信息騷擾”了。然后回到主窗口介紹下。首先可以看到,基本設(shè)置框,直接顯示在最前端,這樣方便用戶進行必要的添加設(shè)置或重新設(shè)置。用戶可以根據(jù)自己的電腦配置,或自己的意圖進行必要的端口設(shè)定。此端口是用來接收文件的主要端口,通過設(shè)定此端口,有效的提高發(fā)送速度與質(zhì)量,同時還可以在一定程度上保證信息在傳輸過程中的安全性。當然在局域網(wǎng)內(nèi),為了更多的資源共享,為了更多的方便,也為了時間效益,我們一般選擇默認的端口就可以了;否則發(fā)送與接收文件的雙方都必須先要進行對話與協(xié)議”,才能有效的建立文件傳送與接收。至于時間間隔項,我們在上面已經(jīng)有介紹過,其主要用途就是刷新在線用戶名單,保證了對話與發(fā)送文
32、件的實效性。很多人在發(fā)送或接收文件的時候,總不希望自己的電腦出現(xiàn)當機(也就是所謂的死機)狀態(tài)。不難想象,要是很多用戶同時連接到你的電腦,此時電腦是很難發(fā)揮起速度效益”的作用,有的時候反而導(dǎo)致一系列的什么崩潰"、當機"、停滯'現(xiàn)象。所以在設(shè)置最大連接還是有一定的必要性的。此選項可以根據(jù)自己的需要、自己的電腦配置進行更改。一般情況下設(shè)置為默認也就行了。接下來的,自動彈開對話窗口”,在上面也有輕輕的描述過,在此就不多論述了?,F(xiàn)在介紹下系統(tǒng)的主要部分,也是核心部分。既然說是局域網(wǎng)內(nèi)文件傳輸軟件”,那么傳輸部分當然是不可缺少的部分。其實此功能實現(xiàn)起來并不難,只要用戶選擇了一個
33、文件接收對象,即文件接收方,就可以選擇文件與對方進行連接與發(fā)送文件了。當有新文件發(fā)送,對方(接收方)會自動彈出一個接受文件的對話窗體,對方可以接受或拒絕。對方拒絕接收文件,那么雙方也就中斷了文件的接收與發(fā)送,并且接收方會通知發(fā)送方中斷的消息。相反,要是接收方同意了接收文件,文件的傳輸工作就會啟動,進行一系列的數(shù)據(jù)包發(fā)送與接收。此時,雙方都可以很清楚的知道對方的發(fā)送與接收狀態(tài),比如:發(fā)送方可以知道文件接收方是否中止或退出接收,發(fā)送是否異常,是否需要重新發(fā)送數(shù)據(jù)包;接收方同樣可以知道對方的狀態(tài),以及文件接收率,速度等情況。還有很多功能都可以在界面上直接看到,在這里就沒有必要一一提出。因為系統(tǒng)可以同
34、時發(fā)送多個文件,并且可以同時與多人聊天、對話。打開的窗口可能很多很多,十個、百個、千個?此時,要是想關(guān)閉這些子窗口,只需要輕輕點下關(guān)閉子窗”,一切就OK了,這樣就省去了很多時間,真正體現(xiàn)方便,快捷”。為了抗騷擾”,系統(tǒng)還特意的設(shè)置了黑名單功能,此功能里可以輕易的設(shè)定需要排斥”的對象。在這部分重要用到FSO模塊技術(shù),可以動態(tài)生成一個黑名單文件,操作直觀而簡單。系統(tǒng)的功能體現(xiàn)了方便與實用的特點,并不是一意追求太強大的功能與復(fù)雜的界面,而是通用的基礎(chǔ)上做到實效。例如其中的多聊、群發(fā)”功能都有力的體現(xiàn)了這點。3.2模塊設(shè)計主窗口如圖3所示圖3主窗口文件發(fā)送窗口如圖4所示圖3文件發(fā)送窗口文件接收窗口如圖
35、5所示圖3文件接收窗口3.3FTP協(xié)議簡介3.3.1 什么是FTP協(xié)議FTP協(xié)議即文件傳輸協(xié)議(FileTransferProtocol),它是TCP/IP協(xié)議族的應(yīng)用協(xié)議之一,是Internet上使用非常廣泛的一種通信協(xié)議。它是由支持Internet文件傳輸?shù)母鞣N規(guī)則所組成的集合,這些規(guī)則使Internet用戶可以把文件從一個主機拷貝到別一個主機上。通過TCP/IP連接在一起的任何兩臺計算機,如果安裝了FTP和服務(wù)器,就可以通過FTP服務(wù)進行相互之間的文件傳輸,因而為用戶提供了極大的方便和收益。FTP通常也表示用戶執(zhí)行這個協(xié)議所使用的應(yīng)用程序。FTP和其他的Internet服務(wù)一樣,亦采用客
36、戶機/服務(wù)器方式。它要求用戶用本地的客戶端與服務(wù)器建立連接,然后才能從服務(wù)器上獲取文件(Download),或向服務(wù)器發(fā)送文件(Upload)。使用方法很簡單;啟動FTP程序先與主機連接,然后向遠程主機發(fā)出傳輸命令,遠程主機給予響應(yīng),執(zhí)行正確命令。目前Windows操作系統(tǒng)最常用的FTP軟件有WS-FTP,CUTEFTPT等。FTP有一個根本的限制,那就是:如果用戶未被某一服務(wù)器授權(quán),未取得UserName和Password就不能訪問該主機,實際上是不能遠程登陸(RemoteLogin)進入該主機。而AnonymousFTP(S名FTP)則取消了這種限制。3.3.2 FTP文件傳輸?shù)闹饕攸c用
37、戶有合法的用戶名和口令的前提下才與服務(wù)器建立連接。通過客戶端軟件,用戶可以在權(quán)限允許的范圍內(nèi)進行文件更名、刪除、或傳送操作。3.3.3 FTP支持的文件傳送類型FTP支持的文件傳送類型,它們是ASCII和二進制映像。(1)文本文件(ASCII):在傳送文本文件時應(yīng)該使用ASCII。在ASCII模式中,將執(zhí)行網(wǎng)絡(luò)標準字符轉(zhuǎn)換。例如,行尾的字符在必要時根據(jù)目標操作系統(tǒng)進行轉(zhuǎn)換。(2)二進制(Binary)文件的傳輸可執(zhí)行文件、圖像和壓縮文件等時應(yīng)該使用二進制。在二進制模式中,一個字節(jié)接一個字節(jié)地移動文件。3.3.4 FTP在實現(xiàn)網(wǎng)絡(luò)傳輸時提供的3種模式(1)流模式(Streammode)。在這種模式下
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 紅河云南紅河個舊市人民醫(yī)院黨委辦公室需招聘干事1名(2024年第28期)筆試歷年參考題庫附帶答案詳解
- 煙臺2025年山東煙臺龍口市結(jié)合事業(yè)單位招聘征集本科及以上學(xué)歷畢業(yè)生入伍筆試歷年參考題庫附帶答案詳解
- 漯河2024年河南漯河市委社會工作部所屬事業(yè)單位人才引進4人筆試歷年參考題庫附帶答案詳解
- 2025年中國雙向手動打氣筒市場調(diào)查研究報告
- 2025年中國R134a制冷壓縮機市場調(diào)查研究報告
- 2025至2031年中國鑄造平臺行業(yè)投資前景及策略咨詢研究報告
- 2025年美麗絨項目可行性研究報告
- 2025至2031年中國水電站調(diào)速系統(tǒng)液壓站行業(yè)投資前景及策略咨詢研究報告
- 2025年斜齒輪-螺旋錐齒輪減速電機項目可行性研究報告
- 2025年帽型磁芯項目可行性研究報告
- 四川省自貢市2024-2025學(xué)年上學(xué)期八年級英語期末試題(含答案無聽力音頻及原文)
- 2025-2030年中國汽車防滑鏈行業(yè)競爭格局展望及投資策略分析報告新版
- 2025年上海用人單位勞動合同(4篇)
- 二年級上冊口算題3000道-打印版讓孩子口算無憂
- 高中英語北師大版必修第一冊全冊單詞表(按單元編排)
- 新教科版科學(xué)小學(xué)四年級下冊全冊教案
- 2024中考語文試卷及答案長沙
- 2024年高考生物總復(fù)習(xí)高中生物必修一全冊重點知識梳理筆記(全冊完整版)
- 商業(yè)綜合體物業(yè)運營方案
- 2025年生物安全年度工作計劃
- 鄉(xiāng)鎮(zhèn)衛(wèi)生院2025年度工作計劃
評論
0/150
提交評論