FTP项目优化基本完成
前面我做了一个c/s的项目不知道大家看没看,我把它优化了一下转成b/s的项目,基本实现了增删改查等较为常见的功能。并且用json返回了几个接口,给前端和移动端用。
此项目融合了servlet、mybatis、ftp、线程、接口json数据返回、相关知识。有需要的可以来看一看
基本架构
用servlet做控制器来获取请求,mybatis来进行数据的增删改查,用一个异常
对象(不是继承异常,是一个对象代表异常)来以json的格式返回处理结果。
详细步骤就不说了,主要几个注意点
1. 自定义一个对象,定义几个属性和构造方法,当有异常的时候对属性进行复制并返回对象至控制层,然后json返回。
2. 线程的start和run方法
start
:在主线程中启用分线程对象的start方法的话,会立即调用分线程的run方法,并且主线程会继续往下走。 但是一个线程已经start了之后就不能再次start。-
run
: 在主线程中启动分线程对象的run方法就会立即调用分线程的run方法,并且主线程不会继续往下走。由于我项目本来是启动两个线程,并且不管开关控制线程的时候对象都没有释放。但是由于start之后不能run,因为run的话主线程就无法返回接口数据了。所以现在每次关闭,都是将线程置为null,释放。每次开启都是一个新的线程对象。
/** * 停止任务 */ public void cancelTask(String task){ setClose(true); if (task.equals("upload")) { uploadThread = null; }else { downloadThread = null; } }
3. 做接口真的需要判断很多种情况,并且每种情况都需要一个合理的数据返回。这样用户才会有一个好的体验。所以前期的架构设计很重要!不然就会产生很多重复的代码,并且后面只能越来越臃肿。
细的就不多说了。感兴趣的可以下载看一看。
联系方式
- github: 大猫传说中的gitHud地址
- 邮箱: 不经常用,回复慢的话请原谅1974469025@qq.com