`
rantim
  • 浏览: 19277 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

apache ftp server 学习笔记

    博客分类:
  • ftp
阅读更多
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();
  }
        
 }
}



分享到:
评论
3 楼 yoyo837 2011-04-08  
请问,如果 用代码启动,而不是用 他提供的bat,exe或者sh启动,那res目录下的其他文件是干什么的?怎么使用
2 楼 despotic 2009-03-05  
不知道用户名密码是什么?admin admin 或者 空 都不行
1 楼 hrob 2009-03-04  
我用默认的配置独立启动,客户端(FlashFXP)怎么连不上呢

相关推荐

    apache ftpserver笔记

    这篇笔记主要围绕Apache FTPServer的使用、配置和相关开发进行讲解。 首先,Apache FTPServer提供了灵活的配置机制,允许管理员通过XML文件定制服务器的行为。这包括设置用户账户、指定工作目录、限制上传下载速度...

    apache mina 学习笔记三(子项目FtpServer)

    在本学习笔记中,我们将专注于MINA的子项目——FtpServer,它是实现FTP服务器功能的一个模块。 FTP(File Transfer Protocol)是一种广泛使用的互联网协议,用于在不同主机之间传输文件。Apache MINA FtpServer提供...

    web测试学习笔记

    本篇学习笔记将深入探讨Web测试的关键概念、工具和技术。 首先,让我们从Web服务器说起。Apache HTTP Server是一款广泛使用的开源Web服务器,它支持多种操作系统,包括Windows和Linux。Apache的灵活性和可扩展性...

    HTML5学习笔记前台页面.pdf

    这份"HTML5学习笔记前台页面.pdf"涵盖了网站开发的基础知识,包括HTML5的结构、标签使用、CSS、JavaScript以及与服务器相关的技术。 首先,网站开发的基础涉及理解URL网址的构成,它由协议(如HTTP或HTTPS)、域名...

    web前端学习笔记.docx编程资料

    ### Web前端学习笔记知识点概述 #### 一、Web基础知识 ##### 1.1 Web与Internet - **Internet**: 是一个全球性的计算机互联网络,提供多种服务如Telnet、Email、WWW、BBS、FTP等。它基于分组交换原理及TCP/IP协议...

    jmeter学习笔记

    ### jmeter学习笔记 #### 一、jmeter简介 **jmeter是什么?** Apache JMeter 是 Apache 组织开发的一款开源的压力测试与性能测量工具,主要用于进行 Web 应用的性能测试,不过随着时间的发展,其功能已经扩展到了...

    web 从入门到放弃笔记

    ### Web从入门到放弃笔记 #### 一、Web与Internet **1.1 Internet** - **定义**: 因特网,又称互联网,是指通过TCP/IP协议族互相连接的、世界范围内的、最大的、开放的、由众多网络相互连接而成的计算机网络。 - ...

    mina作为服务器的用法

    描述中的“各种学习文档和学习笔记”表明压缩包可能包含了教程、示例代码、笔记等内容,这对于初学者来说是非常宝贵的资源。通过阅读这些资料,你可以逐步了解Mina的原理和实践,避免踩坑,快速上手。 总之,Apache...

    老男孩linux运维课程笔记

    通过对上述知识点的学习,可以深入了解Linux运维中的各种优化技术和工具,掌握如何提高系统的安全性、稳定性和性能。同时,也能更好地理解和运用如rsync、Nginx、Apache和MySQL等关键组件和服务,为构建高效可靠的IT...

    unix大全(涵盖了UNIX学习的方方面面)

    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...

    mina

    2. **Apache_Mina_Server_2.0中文参考手册V1.0.pdf**:这是MINA服务器的中文版参考手册,涵盖了MINA的核心组件、API使用、配置方法等详细信息,是深入理解MINA不可或缺的资源。 3. **MINA使用手记[1] .shtml** 和 *...

    linux-python

    在搭建远程登录服务之后,我们还可以进一步学习搭建各种网络服务,如Web服务器、FTP服务器和MySQL数据库服务器。Web服务器,如Apache,是用于发布网页内容的服务器,用户可以通过HTTP或HTTPS协议访问。FTP服务器则...

    jsp113学生成绩管理系统.zip

    这通常涉及Tomcat、Apache等Web服务器,以及FTP、SSH等远程管理工具,便于项目的发布和维护。 7. **Eclipse或IntelliJ IDEA等集成开发环境**:开发者可能使用这些工具进行代码编写、调试和项目构建,提供高效的开发...

    Matlab.rar_前端开发_HTML_

    这可能涉及FTP上传、使用GitHub Pages、Netlify等服务,或者通过本地Web服务器如Apache或Nginx进行预览。 8. **SEO优化**:为了提高网页在搜索引擎中的可见性,开发者可能还会关注SEO(Search Engine Optimization...

    起始页:家用服务器的起始页

    4. **服务安装**:根据需求,你可能需要安装FTP服务(如vsftpd)、HTTP服务(如Apache或Nginx)、数据库服务(如MySQL或PostgreSQL)、文件共享服务(如Samba)等。 5. **安全措施**:家用服务器的安全至关重要。...

Global site tag (gtag.js) - Google Analytics