web.xml
是一个标准的 JavaEE 文件,其结构在 Servlet 规范中有详细记录。在web.xml
中,您声明在本地 JNDI 命名空间 ( java:comp/env
) 中已知的 URL。
web.xml
应该位于WEB-INF
WAR 项目结构下方的内部。如果您使用 IDE(例如 Eclipse)来创建 Web 项目,则应该已经为您创建了该文件(除非您使用 Servlet Specification 2.5 及更高版本 - JavaEE 5.0 中包含 Servlet Specification 2.5 - 其中部署描述符是可选的)。
ibm-web-bnd.xml
是特定于 WebSphere 的文件。它包含将声明的工件(例如 URL 定义)绑定到真正的工件中。您应该参考 IBM 的文档以确定该文件的格式。
该ibm-web-bnd.xml
文件应位于与web.xml
.
的id
属性resource-ref
可以设置为您喜欢的任何值,只要它被id
内部匹配的属性交叉引用即可ibm-web-bnd.xml
。这就是 WebSphere 可以如何将 inibm-web-bnd.xml
中的定义与web.xml
. 您在教程中看到的随机字符串是由 RAD 或 WSAD 创建的;您可以在那里放置任何标识符。
编辑(添加说明)
简而言之,过程是这样的:
在web.xml
中,您定义本地JNDI 名称。这将是您的 Java 代码引用 URL 的名称。例如,myWebsiteUrl
。您的代码必须对java:comp/env/myWebsiteUrl
. 定义如下:
<resource-env-ref>
<resource-env-ref-name>myWebsiteUrl</resource-env-ref-name>
<resource-env-ref-type>java.net.URL</resource-env-ref-type>
</resource-env-ref>
在 WebSphere 本身中,添加一个 URL 定义。关键是WebSphere 的 JNDI 树中的 JNDI 名称,通过该名称可以知道 URL。您可以在此处设置任何值,但建议(按照惯例)在其前面加上url/
. 例如:url/test
。
在ibm-web-bnd.xml
中,您需要绑定myWebsiteUrl
(由您的应用程序查找)到url/test
(WebSphere 通过它知道 URL 的 JNDI 名称)。定义将遵循以下原则:
<resource-env-ref name="myWebsiteUrl" binding-name="url/test"/>
步骤 3 不是必需的。如果ibm-web-bnd.xml
在部署时不存在,那么基于 GUI 的部署流程(在您通过 WAS 管理控制台部署应用程序时使用)将提示您输入绑定值。(如果您使用脚本进行部署,您仍然可以省略该ibm-web-bnd.xml
文件,只要您以不同的方式指定绑定,但这超出了此答案的范围。阅读有关策略文件的 IBM 文档和AdminApp.installApplication
)
注意:只要您使用 JavaEE 5.0 及更高版本,就不需要id
定义中的属性。顺便说一句,您正在阅读的文章已经过时了。