繁体   English   中英

如何从Servlet获取JSP的服务器文件路径?

[英]How can I get the server filepath of the JSP from a servlet?

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

我在这里真正想做的是在下拉菜单中填充从可执行文件动态生成的数据,该可执行文件应该在页面加载时运行。 问题是,可执行文件必须位于服务器上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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM