gpt4 book ai didi

java - 如何从 servlet 获取 JSP 的服务器文件路径?

转载 作者:行者123 更新时间:2023-12-02 02:54:56 24 4
gpt4 key购买 nike

这是我第二次提出这个问题 - 这次我将提供更多详细信息,以帮助获得明智的答案。

我在这里真正想做的是用从应该在页面加载上运行的可执行文件动态生成的数据填充下拉菜单。问题是,可执行文件必须位于服务器上 JSP 的本地目录中。我的公司有 3 或 4 个该网站的克隆,我无法将可执行文件放置在某个绝对文件路径中 - 它必须是相对的(因为它将由其他团队与 JSP 页面一起发送到其他处理器)。

我知道 JSP 能够运行具有相对路径的可执行文件,因为我可以运行这个:

<form action="./my_executable_that_generates_a_dynamic_page">

但是,我需要从 servlet 运行它,以使用 JavaScript 填充保管箱。

<%= new File("./exec_produce_dropdown_list").getPath() %>

上面的代码片段给了我一个不同的目录。

我也尝试过:

<%= new File(new File(request.getServletContext().getRealPath(request.getRequestURI())).getParent().replace('\\', '/'), "exec_produce_dropdown_list"); %>

这非常接近,除非 URI 中存在与文件系统(这就是我们拥有的)不对应的虚拟路径,它不会指向正确的目录。

有没有一种简单的方法可以让我运行可执行文件?我还想补充一点,没有可供我使用的 web.xml。

最佳答案

找到我的答案:

request.getRealPath(request.getServletPath())

应该给我/path/in/filesystem/to/file.jsp

关于java - 如何从 servlet 获取 JSP 的服务器文件路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43259972/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com