Tomcat:通过 JNDI 使用 FTP 连接

Tomcat: use FTP connection via JNDI(Tomcat:通过 JNDI 使用 FTP 连接)
本文介绍了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.xmlcontext.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 连接的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Android sdk 18 TextView gravity doesn#39;t work vertically(Android sdk 18 TextView 重力不能垂直工作)
Java android: appending a newline using TextView(Java android:使用 TextView 添加换行符)
How to create simple Android TextView and display text on it using java code?(如何使用 java 代码创建简单的 Android TextView 并在其上显示文本?)
Add opaque quot;shadowquot; (outline) to Android TextView(添加不透明的“阴影(大纲)到 Android TextView)
Android: Creating a Circular TextView?(Android:创建一个圆形 TextView?)
Android - set TextView TextStyle programmatically?(Android - 以编程方式设置 TextView TextStyle?)