gpt4 book ai didi

javascript - war 中js文件的http url?

转载 作者:行者123 更新时间:2023-11-29 17:31:11 25 4
gpt4 key购买 nike

假设一个像这样的 WAR 布局:

foo.war-->/WEB-INF   -->/classes (..)   -->/js      -->bar.js   -->index.jsp   -->web.xml

现在假设 WAR 的虚拟目录是服务器 example.com 上的/blah(即 http://example.com/blah)。

bar.js 的 HTTP URL 是什么? ,将用于 <script src=""> 中的一个标记 index.jsp可以服务吗? http://example.com/blah/js/bar.js似乎没有用。

最佳答案

您必须永远JS放入WEB-INF目录。

正如 Servlet 规范中所写,无论您放在 WEB-INF 目录中,都永远不会直接对外部世界可用。那里只有本地应用程序资源。

所以如果你想从外部访问一些JS文件,把它直接放在WAR的ROOT下。像这样:

foo.war
-->/js/
-->bar.js
-->/WEB-INF
-->internal resources here

访问 JS 的 URL 类似于:

http://YOUR_IP:8080/foo/js/bar.js

这当然会有所不同,具体取决于您在应用程序服务器上设置 war 部署的方式。

但是将JSP文件放在WEB-INF目录中,只是为了从Servlets调用它们(你不能直接访问它们要么)与类似的东西:

RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("WEB-INF/index.jsp");

如果您不希望人们从外部直接访问您的 JSP 文件,这是一种常见的做法。

关于javascript - war 中js文件的http url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3891907/

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