本文介绍通过spring 集成的方式来实现。创建spring-apacheFtpServer.xml文件如下图所示
<?xml version="1.0" encoding="UTF-8"?>
<server xmlns="http://mina.apache.org/ftpserver/spring/v1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://mina.apache.org/ftpserver/spring/v1 http://mina.apache.org/ftpserver/ftpserver-1.0.xsd
"
id="apacheFtpServer">
<listeners>
<nio-listener name="default" port="21">
</nio-listener>
</listeners>
<file-user-manager file="ftpConfig.properties" />
</server>
引入的属性文件ftpConfig.properties如下所示
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
# Password is "admin"
ftpserver.user.admin.userpassword=21232F297A57A5A743894A0E4A801FC3
ftpserver.user.admin.homedirectory=F:\\temp
ftpserver.user.admin.enableflag=true
ftpserver.user.admin.writepermission=true
ftpserver.user.admin.maxloginnumber=0
ftpserver.user.admin.maxloginperip=0
ftpserver.user.admin.idletime=0
ftpserver.user.admin.uploadrate=0
ftpserver.user.admin.downloadrate=0
ftpserver.user.anonymous.userpassword=
ftpserver.user.anonymous.homedirectory=F:\\temp
ftpserver.user.anonymous.enableflag=true
ftpserver.user.anonymous.writepermission=false
ftpserver.user.anonymous.maxloginnumber=20
ftpserver.user.anonymous.maxloginperip=2
ftpserver.user.anonymous.idletime=300
ftpserver.user.anonymous.uploadrate=4800
ftpserver.user.anonymous.downloadrate=4800
实现如下java代码。
package com.sdjxd.util;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import org.apache.ftpserver.ftplet.FtpException;
import org.apache.ftpserver.impl.DefaultFtpServer;
import org.apache.log4j.Logger;
import org.springframework.context.ApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
/**
* 项目启动的时候,就开启ftp服务器
*
* @author zhen
*
*/
public class ApacheFtpServerListener implements ServletContextListener {
private static final Logger logger = Logger
.getLogger(ApacheFtpServerListener.class);
private static final String FTPSERVER_CONTEXT_NAME = "FTPSERVER_CONTEXT_NAME";
public void contextDestroyed(ServletContextEvent sce) {
logger.info("正在停止FTP服务....");
DefaultFtpServer server = (DefaultFtpServer) sce.getServletContext()
.getAttribute(FTPSERVER_CONTEXT_NAME);
if (server != null) {
server.stop();
sce.getServletContext().removeAttribute(FTPSERVER_CONTEXT_NAME);
logger.info("FTP服务已停止!");
} else {
logger.info("停止FTP服务出错!");
}
}
public void contextInitialized(ServletContextEvent sce) {
logger.info("正在开启FTP服务....");
ApplicationContext ac = WebApplicationContextUtils
.getWebApplicationContext(sce.getServletContext());
DefaultFtpServer server = (DefaultFtpServer) ac
.getBean("apacheFtpServer");
sce.getServletContext().setAttribute(FTPSERVER_CONTEXT_NAME, server);
try {
server.start();
logger.info("FTP服务已开启!");
} catch (FtpException e) {
logger.error(e.getMessage());
}
}
}
最后在web.xml文件中加入监听
<listener>
<description>apache ftp server监听器</description>
<listener-class>com.sdjxd.util.ApacheFtpServerListener</listener-class>
</listener>
至此Ftp文件服务器架设成功,让我们用ftp客户端来测试一下我们的Ftp服务器吧。
注意 写道
Ftp客户端连接服务器编码要用utf-8,否则可能会出现路径或文件名乱码的情况!
由于附件大小的限制,源码放到了CSDN,有需要的童鞋请到这里下载
FtpServer源码
分享到:
相关推荐
Apache FtpServer是一款开源的FTP服务器软件,它基于Java语言开发,可以轻松地与各种Java应用集成。在本场景中,我们重点讨论如何利用Apache FtpServer与Spring框架集成来搭建一个功能强大的FTP服务器。 首先,...
从零开始介绍Apache FtpServer,并一步一步教你配置Apache FtpServer,更高级的应用,教你用写代码控制Apache FtpServer及集成到自己的应用中 <!--ftp端口 --> <!--绑定的服务器IP地址,多网卡的时候使用...
2. **可扩展性**:Apache FTPServer基于Mina网络应用框架,具有高度可扩展性。用户可以编写自定义模块来扩展其功能,如认证、授权、日志记录等。 3. **模块化设计**:服务器由多个模块组成,每个模块负责特定的功能...
Apache FTPServer 是一个基于 Java 的 FTP 服务器,支持多种操作系统,功能强大、灵活。 ### 安装配置 安装 Apache FTPServer 需要 Java 运行环境和 Apache Commons Net 库。 环境准备: * 安装 Java JDK * 安装...
Apache Ftpserver是一款开源的FTP服务器软件,由Apache软件基金会维护。它提供了高度可配置性和模块化设计,使得用户可以根据需求定制自己的FTP服务环境。在本资料包中,你将获得Apache Ftpserver的全套资源,包括...
Apache FTPServer是一款开源的FTP服务器软件,它是Apache MINA项目的一部分,用于构建高性能、可扩展的网络应用。这篇笔记主要围绕Apache FTPServer的使用、配置和相关开发进行讲解。 首先,Apache FTPServer提供了...
Java使用Apache FtpServer实现嵌入式FTP服务器是一项常见的任务,尤其在开发集成测试或部署自动化流程时。Apache FtpServer是一个开源项目,它提供了一个轻量级且可嵌入的FTP服务器,允许开发者在Java应用程序中直接...
Apache FTPServer是一款开源的FTP服务器,它允许...通过上述步骤,你将能够成功配置Apache FTPServer与Mysql的集成,实现基于数据库的用户管理和权限控制。这样的配置不仅便于管理大量用户,还能提供更高级的安全特性。
总之,Apache FTPServer是一个强大且灵活的FTP服务器解决方案,无论是在个人项目还是企业环境中,都能提供可靠的服务。了解并熟练掌握其安装、配置和管理方法,对于提升网络文件传输的安全性和效率至关重要。
例如,在 `%FTP_HOME%/common/lib/ftpserver-core-1.0.5.jar` 文件中找到相关类文件,如 `org.apache.ftpserver.usermanager.impl.DbUserManager.class` 和 `org.apache.ftpserver.usermanager.impl....
Apache Ftp Server是一款开源的FTP服务器软件,基于Java平台,由Apache软件基金会开发。它提供了高度可配置性和灵活性,使得用户可以根据自身需求定制FTP服务。本文将深入探讨Apache Ftp Server的使用方法,包括安装...
Apache FtpServer是一个100%纯Java的、基于现有开放式协议基础上、完整、小巧的FTP服务器。此外,FtpServer还可以作为Windows服务器、Unix / Linux后台程序或是被嵌入在Java应用程序而独立运行。有了MINA...
Apache FtpServer是一款开源的FTP服务器,它基于Java平台,为用户提供了一种灵活且可扩展的方式来搭建和管理FTP服务。Apache FtpServer以其强大的功能、良好的稳定性和丰富的配置选项深受IT专业人士的喜爱。以下是对...
Apache FTP Server是一个开源的FTP服务器,它允许用户通过FTP协议上传、下载文件。这个服务器是用Java语言编写的,因此可以在任何支持Java的平台上运行,包括Windows、Linux、Unix等操作系统。Apache FTP Server的...
- `org\apache\ftpserver\usermanager\impl\AbstractUserManager.class` 修改这些类的主要目的是让其支持新的表结构,并实现在验证过程中对源IP地址的检查。 通过以上步骤,我们可以有效地配置并使用Apache FTP...
本项目为基于Java与Apache FtpServer构建的HDFS文件访问FTP服务器设计源码,共包含22个文件,涵盖5个属性文件、4个偏好设置文件、4个Java源文件、2个XML配置文件、1个classpath文件、1个Git忽略文件、1个项目文件、1...
Apache FTPServer是一个开源的FTP服务器项目,它提供了一个强大、灵活且可扩展的平台来管理文件传输服务。这个服务器是基于Java实现的,因此具备跨平台性,可以在多种操作系统上运行,包括Windows、Linux和Mac OS等...
Java中的Apache FtpServer库为开发人员提供了一个强大的框架,用于在Java应用程序中轻松地创建和管理FTP服务器。Apache FtpServer提供了丰富的API,可以定制服务器的行为,满足各种需求。本篇文章将深入探讨如何利用...
Apache FtpServer是一款开源的FTP服务器,它基于Java实现,提供了灵活且强大的配置方式,能够方便地集成到各种系统环境中,比如与Spring框架的整合。Apache FtpServer的核心设计目标是提供一个轻量级、高性能且易于...
Apache FTPServer是一款开源的FTP服务器软件,它基于Java平台,提供了强大的可扩展性和高度的定制性。本篇文章将深入探讨Apache FTPServer的配置、使用以及API的详细操作,旨在帮助用户更好地理解和应用这款服务器。...