apache ftpserver 使用实例
apache ftp 也提供服务器
相关下载:
ftpserver:http://mina.apache.org/ftpserver/
ftpserver down:http://mina.apache.org/ftpserver/apache-ftpserver-100-release.html
commons-net down:http://commons.apache.org/net/download.html
根据介绍了解到,它是一个%100java简便ftp 服务器容器
需求,之前是经理提出需要使用apache 的commons-net来操作ftp的上传下载签约文件,在与客户交互过程提及自己开发ftpserver 但能力有限,对ftp 协议也不是很了解,就google到 apache ftpserver
但下载apache ftpserver之后发现同http server一样,但我所要求的是使用程序自动开启关闭ftpsever所以需要更进行一步了解下面是简单的例子,希望对其它朋友有一点点帮助:
(以下代码只是doc加了一点中文说明方便自己查看)
/**
* 操作ftpserver
* @author zhanghuadong
*
*/
public class FtpService {
public static void main(String[] args){
//服务工厂
FtpServerFactory serverFactory = new FtpServerFactory();
//监听
ListenerFactory factory = new ListenerFactory();
// 设置监听端口
factory.setPort(21);
// ssl 相关配置 我自己没有使用
// SslConfigurationFactory ssl = new SslConfigurationFactory();
//根据通过绝对路径,也可以是classpath路径
// ssl.setKeystoreFile(new File("ftpserver.jks"));
// ssl.setKeystorePassword("password");
// set the SSL configuration for the listener
// factory.setSslConfiguration(ssl.createSslConfiguration());
// factory.setImplicitSsl(true);
serverFactory.addListener("default", factory.createListener());
//根据properties提供用户 也可使用DbUserManagerFactory 提供用户,具体查看文件,表结构也给出来了
PropertiesUserManagerFactory userManagerFactory = new PropertiesUserManagerFactory();
//这里只能是绝对路径 ?
userManagerFactory.setFile(new File(FtpService.class.getResource("/").getPath()+"myusers.properties"));
/**使用自己的加密类,因为apache ftp server 使用的是md5 也就是logon之前需把密码加密后才能logon */
userManagerFactory.setPasswordEncryptor(new LocalPassword());
serverFactory.setUserManager(userManagerFactory.createUserManager());
//创建服务并启动
FtpServer server = serverFactory.createServer();
try {
server.start();
} catch (FtpException e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
这篇笔记主要围绕Apache FTPServer的使用、配置和相关开发进行讲解。 首先,Apache FTPServer提供了灵活的配置机制,允许管理员通过XML文件定制服务器的行为。这包括设置用户账户、指定工作目录、限制上传下载速度...
在本学习笔记中,我们将专注于MINA的子项目——FtpServer,它是实现FTP服务器功能的一个模块。 FTP(File Transfer Protocol)是一种广泛使用的互联网协议,用于在不同主机之间传输文件。Apache MINA FtpServer提供...
本篇学习笔记将深入探讨Web测试的关键概念、工具和技术。 首先,让我们从Web服务器说起。Apache HTTP Server是一款广泛使用的开源Web服务器,它支持多种操作系统,包括Windows和Linux。Apache的灵活性和可扩展性...
这份"HTML5学习笔记前台页面.pdf"涵盖了网站开发的基础知识,包括HTML5的结构、标签使用、CSS、JavaScript以及与服务器相关的技术。 首先,网站开发的基础涉及理解URL网址的构成,它由协议(如HTTP或HTTPS)、域名...
### Web前端学习笔记知识点概述 #### 一、Web基础知识 ##### 1.1 Web与Internet - **Internet**: 是一个全球性的计算机互联网络,提供多种服务如Telnet、Email、WWW、BBS、FTP等。它基于分组交换原理及TCP/IP协议...
### jmeter学习笔记 #### 一、jmeter简介 **jmeter是什么?** Apache JMeter 是 Apache 组织开发的一款开源的压力测试与性能测量工具,主要用于进行 Web 应用的性能测试,不过随着时间的发展,其功能已经扩展到了...
### Web从入门到放弃笔记 #### 一、Web与Internet **1.1 Internet** - **定义**: 因特网,又称互联网,是指通过TCP/IP协议族互相连接的、世界范围内的、最大的、开放的、由众多网络相互连接而成的计算机网络。 - ...
描述中的“各种学习文档和学习笔记”表明压缩包可能包含了教程、示例代码、笔记等内容,这对于初学者来说是非常宝贵的资源。通过阅读这些资料,你可以逐步了解Mina的原理和实践,避免踩坑,快速上手。 总之,Apache...
通过对上述知识点的学习,可以深入了解Linux运维中的各种优化技术和工具,掌握如何提高系统的安全性、稳定性和性能。同时,也能更好地理解和运用如rsync、Nginx、Apache和MySQL等关键组件和服务,为构建高效可靠的IT...
10.SCO TCP/IP网络管理---FTP的配置 11.SCO TCP/IP网络管理---守护进程inetd 12.SCO TCP/IP网络管理---守护进程(daemon) 13.SCO TCP/IP网络管理---ifconfig命令的语法 14.SCO UNIX5的几个主要系统进程 15.SCO UNIX5...
2. **Apache_Mina_Server_2.0中文参考手册V1.0.pdf**:这是MINA服务器的中文版参考手册,涵盖了MINA的核心组件、API使用、配置方法等详细信息,是深入理解MINA不可或缺的资源。 3. **MINA使用手记[1] .shtml** 和 *...
在搭建远程登录服务之后,我们还可以进一步学习搭建各种网络服务,如Web服务器、FTP服务器和MySQL数据库服务器。Web服务器,如Apache,是用于发布网页内容的服务器,用户可以通过HTTP或HTTPS协议访问。FTP服务器则...
这通常涉及Tomcat、Apache等Web服务器,以及FTP、SSH等远程管理工具,便于项目的发布和维护。 7. **Eclipse或IntelliJ IDEA等集成开发环境**:开发者可能使用这些工具进行代码编写、调试和项目构建,提供高效的开发...
这可能涉及FTP上传、使用GitHub Pages、Netlify等服务,或者通过本地Web服务器如Apache或Nginx进行预览。 8. **SEO优化**:为了提高网页在搜索引擎中的可见性,开发者可能还会关注SEO(Search Engine Optimization...
4. **服务安装**:根据需求,你可能需要安装FTP服务(如vsftpd)、HTTP服务(如Apache或Nginx)、数据库服务(如MySQL或PostgreSQL)、文件共享服务(如Samba)等。 5. **安全措施**:家用服务器的安全至关重要。...