gpt4 book ai didi

javascript - 如何在 JSP/Struts WEB-INF 中获取资源

转载 作者:行者123 更新时间:2023-11-28 10:59:09 25 4
gpt4 key购买 nike

WEB-INF内名为“jsp”的文件夹中有JSP页面。 。这些页面需要一些 javascript 文件。在JSP页面中,javascript文件被称为

<script type="text/javascript" src="../../app.lib/jQuery-v-1-7-2.js"></script> 

但是浏览器无法访问该资源。对 web-inf 内的 JSP 页面的所有请求都会经过一个操作,并且还为该页面提供了名为“安全”的单独 namespace 。

可以说,这个 account.jsp 页面需要一个 javascript 文件,该文件位于“web”文件夹内名为“app.lib”的文件夹中。(在 web-inf 之外)。

(1) 我想知道一种使用 struts 操作或其他 jsp 功能将该 javascript 文件检索到 account.jsp 页面的方法。
(2) 第二个问题是:可以说,有些图像应该受到保护,并且应用程序本身应该能够在请求时将它们发送到浏览器。换句话说,文件夹内的图像WEB-INF,那么如何在account.jsp中访问它们?
这是 web.xml(为了清晰的 View 而删除了 session 配置和欢迎文件列表标签)
<?xml version="1.0" encoding="UTF-8"?>
<web-app.......><br/>
<filter>
<filter-name>struts2</filter-name><br/>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class><br/>
</filter><br/>
<filter-mapping><br/>
<filter-name>struts2</filter-name><br/>
<url-pattern>/*</url-pattern><br/>
</filter-mapping><br/>
</web-app>

这是项目结构
enter image description here

最佳答案

不要将 JavaScript 文件放在 WEB-INF 文件夹中。保存在 WEB-INF 中的 JSP 页面由 servlet-container 访问、处理,然后通过 servlet 呈现给客户端,servlet 可以访问 WEB-INF 中的文件。 JavaScript 文件是客户端资源,由于客户端无法访问 WEB-INF 内的任何资源,因此它们必须位于该文件夹之外。

通常,通常将 JavaScript 文件放在名为“js”的文件夹中,如下所示:

-/js
- actions.js
-/WEB-INF
- /jsp
- abc.jsp

顺便说一句,由于 JavaScript 是客户端,即使您费尽心思将它们存储在 WEB-INF 文件夹中并使用 servlet 引擎来处理它们,任何用户仍然可以访问该资源URL 并查看源代码。从本质上讲,您不会从中获得任何好处,只会产生维护成本和额外的开发开销。

关于javascript - 如何在 JSP/Struts WEB-INF 中获取资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11181261/

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