【发布时间】:2017-09-01 18:24:25
【问题描述】:
这是我第二次提出这个问题 - 这次我将提供更多细节以帮助获得明智的答案。
我在这里真正要做的是填充一个下拉菜单,其中包含从应该在页面加载时运行的可执行文件动态生成的数据。问题是,可执行文件必须位于服务器上 JSP 的本地目录中。我的公司有这个网站的 3 或 4 个克隆,我不能将可执行文件放在某个绝对文件路径中 - 它必须是相对的(因为其他团队会同时将它与 JSP 页面一起运送到其他处理器)。
我知道 JSP 能够运行具有相对路径的可执行文件,因为我可以运行这个:
<form action="./my_executable_that_generates_a_dynamic_page">
但是,我需要从 servlet 运行它以使用 javascript 填充 Dropbox。
<%= new File("./exec_produce_dropdown_list").getPath() %>
上面的 sn-p 给了我一个不同的目录。
我也试过了:
<%= new File(new File(request.getServletContext().getRealPath(request.getRequestURI())).getParent().replace('\\', '/'), "exec_produce_dropdown_list"); %>
这非常接近,除非 URI 中有一个与文件系统不对应的虚拟路径(这就是我们所拥有的),它不会指向正确的目录。
我有一种简单的方法来运行可执行文件吗? 我还想补充一点,没有可供我使用的 web.xml。
【问题讨论】:
-
什么是正确的目录?文件在哪里?如果它在您的网络应用程序的根目录中,请尝试使用 作为路径。
-
真实路径不对应。不过我找到了解决方案,谢谢。
标签: java html jsp servlets web