Tomcat: use FTP connection via JNDI(Tomcat:通过 JNDI 使用 FTP 连接)
问题描述
我需要从运行在 Tomcat 6 上的 Web 应用程序访问 FTP 服务器.我想使用 JNDI 来执行此操作.
I need to access an FTP server from my Web Application which runs on Tomcat 6. I want to use JNDI to do this.
如何使用 JNDI 在 Tomcat 中配置此 FTP 连接?我必须在 web.xml
和 context.xml
中写入什么来配置资源?然后如何从 Java 源代码访问此连接?
How can I configure this FTP connection in Tomcat using JNDI?
What do I have to write into web.xml
and context.xml
to configure the resource? And how can I then access this connection from the Java source code?
推荐答案
来自这篇文章:http://codelevain.wordpress.com/2010/12/18/url-as-jndi-resource/
在您的 context.xml 中定义您的 FTP URL,如下所示:
Define your FTP URL in your context.xml like this :
<Resource name="url/SomeService" auth="Container"
type="java.net.URL"
factory="com.mycompany.common.URLFactory"
url="ftp://ftpserver/folder" />
提供 com.mycompany.common.URLFactory 实现并确保生成的类可用于 Tomcat:
Provide the com.mycompany.common.URLFactory implementation and make sure the resulting class is available to Tomcat :
import java.net.URL;
import java.util.Hashtable;
import javax.naming.*;
import javax.naming.spi.ObjectFactory;
public class URLFactory implements ObjectFactory {
public Object getObjectInstance(Object obj, Name name, Context nameCtx, Hashtable environment) throws Exception {
Reference ref = (Reference) obj;
String urlString = (String) ref.get("url").getContent();
return new URL(urlString);
}
}
在 web.xml 中创建您的参考
Create your reference in web.xml
<resource-ref>
<res-ref-name>
url/SomeService
</res-ref-name>
<res-type>
java.net.URL
</res-type>
<res-auth>
Container
</res-auth>
</resource-ref>
然后在您的代码中通过 JNDI 查找获取 FTP URL:
Then in your code obtain the FTP URL by doing a JNDI lookup:
InitialContext context = new InitialContext();
URL url = (URL) context.lookup("java:comp/env/url/SomeService");
这篇关于Tomcat:通过 JNDI 使用 FTP 连接的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Tomcat:通过 JNDI 使用 FTP 连接
基础教程推荐
- 无法使用修饰符“public final"访问 java.util.Ha 2022-01-01
- FirebaseListAdapter 不推送聊天应用程序的单个项目 - Firebase-Ui 3.1 2022-01-01
- 在 Libgdx 中处理屏幕的正确方法 2022-01-01
- 设置 bean 时出现 Nullpointerexception 2022-01-01
- 减少 JVM 暂停时间 >1 秒使用 UseConcMarkSweepGC 2022-01-01
- Java Keytool 导入证书后出错,"keytool error: java.io.FileNotFoundException &拒绝访问" 2022-01-01
- Java:带有char数组的println给出乱码 2022-01-01
- “未找到匹配项"使用 matcher 的 group 方法时 2022-01-01
- 降序排序:Java Map 2022-01-01
- 如何使用 Java 创建 X509 证书? 2022-01-01