FTP項目優(yōu)化基本完成
前面我做了一個c/s的項目不知道大家看沒看,我把它優(yōu)化了一下轉成b/s的項目,基本實現(xiàn)了增刪改查等較為常見的功能。并且用json返回了幾個接口,給前端和移動端用。
此項目融合了servlet、mybatis、ftp、線程、接口json數(shù)據(jù)返回、相關知識。有需要的可以來看一看
基本架構
用servlet做控制器來獲取請求,mybatis來進行數(shù)據(jù)的增刪改查,用一個異常
對象(不是繼承異常,是一個對象代表異常)來以json的格式返回處理結果。
詳細步驟就不說了,主要幾個注意點
1. 自定義一個對象,定義幾個屬性和構造方法,當有異常的時候對屬性進行復制并返回對象至控制層,然后json返回。

自定義異常對象
2. 線程的start和run方法
start
:在主線程中啟用分線程對象的start方法的話,會立即調用分線程的run方法,并且主線程會繼續(xù)往下走。 但是一個線程已經start了之后就不能再次start。-
run
: 在主線程中啟動分線程對象的run方法就會立即調用分線程的run方法,并且主線程不會繼續(xù)往下走。由于我項目本來是啟動兩個線程,并且不管開關控制線程的時候對象都沒有釋放。但是由于start之后不能run,因為run的話主線程就無法返回接口數(shù)據(jù)了。所以現(xiàn)在每次關閉,都是將線程置為null,釋放。每次開啟都是一個新的線程對象。
/** * 停止任務 */ public void cancelTask(String task){ setClose(true); if (task.equals("upload")) { uploadThread = null; }else { downloadThread = null; } }
3. 做接口真的需要判斷很多種情況,并且每種情況都需要一個合理的數(shù)據(jù)返回。這樣用戶才會有一個好的體驗。所以前期的架構設計很重要!不然就會產生很多重復的代碼,并且后面只能越來越臃腫。
細的就不多說了。感興趣的可以下載看一看。
聯(lián)系方式
- github: 大貓傳說中的gitHud地址
- 郵箱: 不經常用,回復慢的話請原諒1974469025@qq.com