Apache FTPServer好东西,可以集成到自己的WEB项目中,单独用也非常不错。大家有兴趣可以研究一下,测试了一下和Spring WEB项目结合。留下代码如下:
web.xml
<listener>
<listener-class>com.strong.utils.ftpservice.FtpServerListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/classes/com/strong/spring/applicationFTP.xml
</param-value>
</context-param>
FtpServerListener.java
package com.strong.utils.ftpservice;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import org.apache.ftpserver.FtpServer;
import org.apache.ftpserver.impl.DefaultFtpServer;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
public class FtpServerListener implements ServletContextListener {
public void contextDestroyed(ServletContextEvent sce) {
System.out.println("Stopping FtpServer");
DefaultFtpServer server = (DefaultFtpServer) sce.getServletContext().getAttribute(FtpConstants.FTPSERVER_CONTEXT_NAME);
if (server != null) {
server.stop();
sce.getServletContext().removeAttribute("FTPSERVER_CONTEXT_NAME");
System.out.println("FtpServer stopped");
} else {
System.out.println("No running FtpServer found");
}
}
public void contextInitialized(ServletContextEvent sce) {
System.out.println("Starting FtpServer");
WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(sce.getServletContext());
DefaultFtpServer server = (DefaultFtpServer) ctx.getBean("StrongFTP");
sce.getServletContext().setAttribute("FTPSERVER_CONTEXT_NAME", server);
try {
server.start();
System.out.println("FtpServer started");
} catch (Exception e) {
throw new RuntimeException("Failed to start FtpServer", e);
}
}
}
applicationFTP.xml
<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="StrongFTP" max-logins="500" anon-enabled="false" max-anon-logins="123" max-login-failures="124" login-failure-delay="125">
<listeners>
<nio-listener name="default" port="2222" implicit-ssl="false" idle-timeout="60" local-address="127.0.0.1" />
</listeners>
<file-user-manager file="users.properties" encrypt-passwords="true" />
</server>
具体参数就不解释了,大家看文档。大概的做法是做一个ServletContextListener,tomcat启动时开始ftp服务器,结束时停止ftp服务器。
分享到:
相关推荐
Apache FtpServer 可以与 Spring 框架集成,以便在 Web 应用程序中使用 FTP 服务。 ### 基于 commons-net 的文件上传下载 commons-net 库提供了文件上传下载的功能,可以与 Apache FtpServer 集成,以便实现文件...
本文将深入探讨如何将CXF与Spring进行集成,以构建一个基于WebServer的实例。 首先,让我们了解CXF的基本概念。CXF允许开发者使用Java编程语言来实现SOAP和RESTful Web服务。它支持多种协议,如HTTP、JMS和FTP,...
6. **工具集成**:作为标签中的"工具",Apache Mina可以与其他开源工具如Spring、Hibernate等良好集成,为开发者提供更强大的功能和更便捷的开发环境。 7. **源码分析**:由于标签中提到了“源码”,因此,对于有志...
- **实现方式**:基于Apache FTPServer组件实现。 - **配置**:通过`user.properties`文件进行配置。 #### 常用工具类 - **Groovy**: - Groovy是一种运行于Java平台上的动态编程语言,兼容Java语法。 - `...
标题中的"SSI+Mina2(Struts2+Spring4+Mybatis3+Mina2)集成发布就可运行"指的是一个基于Java的Web应用程序开发框架的整合,它结合了多种技术来构建高效、灵活和可扩展的网络应用。这个集成方案主要包括以下组件: 1....
由于 Spring 框架使用 log4j 进行日志管理,因此需要在 web.xml 中指定 log4j 配置文件的位置,创建监听器类以初始化 log4j 配置。这使得应用程序可以按照配置文件的规则记录日志,方便监控和调试。 通过以上步骤...
这个"apache-cxf-2.1.3.zip"压缩包包含了该框架的版本2.1.3的所有组件和资源,使得开发者可以便捷地在他们的项目中集成和使用CXF。 CXF的核心功能包括: 1. **SOAP与RESTful服务支持**:CXF允许开发人员创建和消费...
通过以上步骤,我们就实现了Spring MVC应用中上传文件到FTP服务器的功能。用户可以通过Web界面选择文件并提交,后台服务则会将文件安全地传输到FTP服务器。这个功能在许多场景下都非常实用,比如文件共享、备份或...
在Java Web中,常见的MVC框架有Spring MVC和Struts2。 三、Spring框架 Spring是Java企业级应用开发的核心框架,它提供了依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)...
为了使用Apache Camel 2.7.0,开发者需要熟悉Java编程和Maven或Gradle等构建工具,以便编译源代码并将其集成到自己的项目中。同时,理解EIPs和Camel的组件体系将有助于构建高效的数据集成解决方案。
首先,我们需要在Spring Boot项目中引入FTP相关的依赖。在`pom.xml`文件中添加Apache Commons Net库,它是Java中实现FTP协议的常用库: ```xml <groupId>commons-net</groupId> <artifactId>commons-...
这个"apache cxf 工程"可能是一个包含CXF项目示例或配置的压缩包,尽管描述中没有具体信息,我们可以从CXF的基本概念、用途、核心功能等方面进行深入探讨。 Apache CXF是一个流行的开源工具,它允许开发者创建、...
Apache ServiceMix是一个开源的企业服务总线(ESB)和应用服务器,它基于OSGi(开放服务网关规范)框架,提供了集成不同系统和服务的能力。这个项目的主要目标是提供一个灵活、可扩展且易于管理的平台,用于实现企业...
EJB中JNDI的使用源码例子 1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件...
Tomcat是Apache软件基金会的一个开源项目,是一个符合Java Servlet和JavaServer Pages(JSP)规范的Web应用服务器。在此描述中,提到能用Tomcat运行,说明项目是一个基于Java的Web应用,可能使用了Spring、Struts和...
在IT行业中,集成和通信是系统开发中的重要环节。Apache Camel 是一个强大的开源框架,它提供了多种方式来连接和交互不同的系统、服务和协议。本文将深入探讨如何利用Camel调用远程对象,以实现系统间的高效通信。 ...
【标题】"上传jsp demo" 涉及到的核心知识点主要围绕着JSP(Java Server Pages)技术在文件管理系统中的应用。JSP是Java的一种动态网页技术,它允许开发人员在HTML页面中嵌入Java代码,实现服务器端的动态内容生成。...
6. **安全机制**:如Spring Security或Apache Shiro,用于身份验证和授权,保护系统资源不被非法访问。 7. **数据建模**:关系型数据库如MySQL、Oracle或SQL Server,可能使用ER图进行数据模型设计,确保数据的一致...
对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。 7.SQL Server提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。 SQL Server 2000与以前版本相比较,又具有以下新特性...
6. 安全管理:实现用户认证与授权,如登录验证、权限控制,通常采用Spring Security或Apache Shiro等框架。 7. 邮件服务:自动发送通知邮件,可能集成JavaMail API来实现。 8. 文件管理:支持文档上传、下载、版本...