如何在Lotus Notes中访问WEB-INF文件?

3
我需要使用Java或Lotus Script访问Lotus Notes数据库中的WEB-INF文件内容:
WebContent\WEB-INF\jdbc\DB2Connect.jdbc
XPages使用这些属性连接到DB2数据库。但我需要一个Java代理,可以使用DB2Connect.jdbc文件中相同的属性(用户名/密码)连接到DB2并执行某些例行任务。 enter image description here

你可以使用一个文件资源,这样两者都可以访问到。 - Steve Zavocki
我该如何使用文件资源来声明XPage的DB2连接?我会使用WEB-INF源。 - VladP
请参考以下链接:https://dev59.com/tW855IYBdhLWcg3wcz1h#4342095 - Berin Loritsch
我只是在暗示这是可能的,我从未尝试过。对于XPages,仅使用web-inf是最好的,但如果您需要共享文件,则NSF内部的某些内容将对代理程序可访问。我猜想您可以编写类似于代理程序的Java代码来读取文件并将值写入作用域变量以供XPages使用。 - Steve Zavocki
1个回答

1

你无法从Java代理程序中访问nsf文件中的文件。

Java代理程序存在于它自己的"世界"中。它包括了所有的Java类、Java档案、Java库和所有资源

你可以通过http访问该文件。

不过,将这个文件复制到代理程序的资源文件夹中可能会更容易一些,使用"导入/资源"即可访问该文件。

 InputStream is = this.getClass().getResourceAsStream("/DB2connect.jdbc");

但是xPages如何访问WEB-INF目录中的这些文件呢?假设Java代理也可以访问它们。 - VladP
DB2Connect.jdbc 文件在 XPages SSJS 中与 @JdbcInsert("DB2Connect", ...@JdbcUpdate("DB2Connect", ...@JdbcDelete("DB2Connect", ... 一起使用。请参阅有关将 DB2 集成到 XPages 中的教程:http://johnjardin.ukuvuma.co.za/2012/02/29/tutorial-integrating-xpages-with-db2-part-1/ 。 - Knut Herrmann
抱歉.. 我的意思是 xPages 可以访问它.. 但是为什么我用 Java 无法访问它? - VladP
因为Java agent在其自己的环境中运行,您可以使用Sven的黑客技巧来使用未记录的方法,或尝试通过http访问文件,或将文件复制到Java agent中。后者是我更喜欢的方式,因为它只涉及一个小文件。 - Knut Herrmann
我想让这个文件既可以被xPages使用,又可以被Java代理程序使用。所以我把所有信息都放到WEB-INF文件夹里,特别是为了xPages。 - VladP

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接