java 启动 apache ftp server,apache ftp server的简单入门(java应用内嵌ftp server)

Apache Ftp Server:(强调)

Apache Ftp Server 是100%纯Java的FTP服务器软件,它采用MINA网络框架开发具有非常好的性能。Apache FtpServer 既可以嵌到Java应用中使用,也可以做为Windows服务或Unix/Linux Daemon单独运行。此外还提供与Spring 相集成的模块。

Apache Ftp Server 应用:

apache ftp server :主要应用场景大的分为两方面:

作为单独的ftp服务器(这个我在前面两篇已经谈到)

作为java应用的内嵌ftp 服务器

这篇博客主要是介绍内嵌方式的用户注册的不同方式.

Apache Ftp Server 用户管理:

apache  ftp server的用户管理,在前面两篇也说过,在这重新强调一次,不管是配置文件还是数据库验证,组主要的还是那几个字段上,标示字段,密码,上传权限,连接数,上传限制等等。

Apache Ftp Server  提供多种方式的用户注册:文件【常用】(properties)、URL(远程注册)、数据库【常用】(数据库文件)、手动配置注册(暂时没用过)等

Apache Ftp Server 用户注册的四种方式讲解(不同的加载方式【不能用junit测试启动】):

文件注册(常用)

文件注册相对于来说比较常用,就是我们在配置user.repertoes文件

090cfe7be10120bb57b0c0c5f343c4af.png

关于文件注册的加载方式有两种:

通过xml的方式(通过依赖ftpd-typical.xml或是ftpd-full.xml来加载):

08c8559d6aa7df14b1a18ff841c31e19.png

启动方式:(    CommandLine.main(new String[]{"src/main/resources/ftpserver/ftpd-typical.xml"});   )

28b4dbddc7f6ffc6ec5ed5317f288e4c.png

代码驱动的方式:(主要代码如下)

f0e7bbaaa081fdc90d39c27d095171dd.png

数据库注册(常用)

前提:需要在数据库中建表

CREATE TABLE FTP_USER (

userid VARCHAR(64) NOT NULL PRIMARY KEY,

userpassword VARCHAR(64),

homedirectory VARCHAR(128) NOT NULL,

enableflag BOOLEAN DEFAULT TRUE,

writepermission BOOLEAN DEFAULT FALSE,

idletime INT DEFAULT 0,

uploadrate INT DEFAULT 0,

downloadrate INT DEFAULT 0,

maxloginnumber INT DEFAULT 0,

maxloginperip INT DEFAULT 0

);

ftpd-mysql.xml内容如下:

f65dd0a318d92c799e8b19190678e1c3.png

xml驱动加载( 依赖ftpd-mysql.xml或是ftpd-full.xml来加载)

7092d7ca9f20d7936fb65c8a4e0974b0.png

代码驱动

6102ff9f1b7caaac462b6fc33e912c2e.png

url注册

eebc8de0adebf6952b3faf4fdb931135.png

通过xml 进行注册

33469a7f919a022a03065007412efb4d.png

代码驱动注册

2faaa0e099b9118550a106202ebedb18.png

手动配置注册(手动注册只提供注册的接口,对数据的来源不做要求,可以来自数据库,文件,远程资源等等)

手动注册到内存中

67389a894e5b9cfe92e50b83301183c6.png

手动注册到数据库

61074e072da9be71a343b48d071a9d9a.png

修改或是删除用户(百度)

如果想要对ftpserver启动后,修改或删除用户的信息,并使之生效。

1)       如果是配置文件或是URL

可以调用下面的方法来修改。

((PropertiesUserManager)serverFactory.getUserManager()).refresh();

2)       如果是数据库

((DbUserManager)serverFactory.getUserManager()).save(user);

3)       如果是手动注册

((PropertiesUserManager)serverFactory.getUserManager()).delete(usrName);

((PropertiesUserManager)serverFactory.getUserManager()).save(user);

知识点总结:

apache ftp server 的编码方式默认是UTF-8    ,保证上传的文本是utf-8  。这样就能保证文本传输上不会出现乱码:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值