我正在使用 IBM 的 Rational Software Architect(我想本质上是 Eclipse)。我有一个 JAR 文件,其中包含用于访问 Web 服务 (JAX-RPC) 的代理类。我创建了一个带有简单 JSP 页面的动态 Web 项目,在其中我尝试使用此库中的代理类来使用 Web 服务。 JSP 页面中的代码:
<jsp:useBean id="queryProxy" scope="session" class="location.DataSearchProxy" />
<% queryProxy.setEndpoint("http://localhost:9080/CIDataService/services/DataSearch"); %>
<%=queryProxy.query("SELECT street, city, prov, postcode FROM v_location WHERE c1 = '48704'") %>
此时,我已将外部 JAR 文件添加到构建路径的库部分,但是当在浏览器中的 WebSphere 上运行 JSP 页面时;我收到“DataSearchProxy 无法解析为类型”错误。
我也尝试过使用:
<%@ page import="location.DataSearchProxy" %>
<% DataSearchProxy queryProxy = new DataSearchProxy(); %>
<% queryProxy.setEndpoint("http://localhost:9080/CIDataService/services/DataSearch"); %>
<%=queryProxy.query("SELECT street, city, prov, postcode FROM v_location WHERE c1 = '48704'") %>
但我遇到了同样的错误。我对这种类型的 Web 项目有一种感觉,我可能需要以其他方式引用它,以便可以从 JSP 页面或项目中的其他 Bean 解析它。我可能会以错误的方式处理这个问题,我希望有人能为我指出从 JSP 使用 Web 服务的正确方向。
最佳答案
您可能希望将 jar 打包到您的应用程序中。
- 将其从构建路径中删除(我们稍后会将其添加回来)
- 将 JAR 放在 EAR 的根目录中,将其拖到您的应用程序项目中,而不是 WEB 应用程序中
- 打开您的 Web 项目属性并转到 Java EE 依赖项。您应该看到那里提供的 jar 。选择它,它会将其添加到构建时类路径和 list 中,以便在运行时获取它。
关于java - 将 Jar 添加到 JSP 的运行时路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1306887/