作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我第二次提出这个问题 - 这次我将提供更多详细信息,以帮助获得明智的答案。
我在这里真正想做的是用从应该在页面加载上运行的可执行文件动态生成的数据填充下拉菜单。问题是,可执行文件必须位于服务器上 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/
我是一名优秀的程序员,十分优秀!