【问题标题】:JSP not loading JavaScript files if Servlet used to redirect如果 Servlet 用于重定向,JSP 不会加载 JavaScript 文件
【发布时间】:2014-03-07 01:27:53
【问题描述】:

我正在使用 J2EE 7 和 JDK 7 构建我的第一个 J2EE 应用程序。我有一个 JSP,上面写着:

script type="text/javascript" src="${pageContext.request.contextPath}/appName/javascript/MyScript.js">close-tag

如果我在 web.xml 中使用 (welcome-file) 标记,那么它会加载页面和 JavaScript 文件。我可以看到它打印的警报,并在“Net”下的萤火虫中显示它下载了 226 个字节。但是,如果我使用 servlet 来确定它需要打开的页面并使用 response.sendRedirect() 或 RequestDispatcher.forward(),那么 firebug 的状态为“200 OK”,但它不会下载 JavaScript 文件。它说“0字节”。

所以,基本上,如果我使用 servlet 重定向到从 webapps (tomcat) 导入 JavaScript 文件的页面,它不会找到它们。如果我使用 web.xml 来确定我想要的 URL 并在 firefox 中打开它,它会找到它们。

有人可以帮忙吗?

谢谢

【问题讨论】:

    标签: javascript jakarta-ee servlets


    【解决方案1】:

    您的 servlet 的上下文路径是什么?如果它是默认(根),${pageContext.request.contextPath} 将返回空字符串,并且 src 属性中的 URL 不会以 / 开头,从而导致相对 URL。这可能是 JavaScript 仅从您的欢迎页面而不是从您的转发或重定向 servlet 加载的原因。打开页面的 HTML 源代码,看看<javascript> 标记和src 属性是如何呈现的。

    【讨论】:

    • 上下文路径是:“localhost:8080/myapp”,我打开了脚本标签,上面写着:“/myapp/myapp/javascript/myapp.js”。然而,Firebug 使用 HTTP、localhost 等构建整个 URL。如果我使用欢迎文件,则完全相同。没有区别。莫名其妙的J2EE............
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-18
    • 1970-01-01
    • 1970-01-01
    • 2012-09-12
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    相关资源
    最近更新 更多