【问题标题】:How to reach files inside WEB-INF [duplicate]如何访问 WEB-INF 中的文件 [重复]
【发布时间】:2014-09-02 04:04:45
【问题描述】:

我正在尝试将我所有的东西(jsp 页面、CSS、图像)移动到 WEB-INF 文件夹中。 但是现在,例如,我无法使用“常规”代码访问我的 CSS

<link rel="stylesheet" type="text/css" href="CSS/Style.css" >   

在WEB-INF下我有这种结构

如何从 JSP 页面(在 JSP 文件夹内)访问 CSS 文件(在 CSS 文件夹内)?

我必须在每个 html 页面中使用 getServletContext() 吗?

【问题讨论】:

  • 我们能知道您为什么要将 CSS 和/或图像等资源移动到 WEB-INF 中吗?
  • WEB-INF 是一个不会从服务器外部访问的文件夹。我将移动到 WEB-INF 的唯一文件是 jsp 片段 - jsp 页面不打算自己查看,但只包含在其他页面上。

标签: java html css eclipse jsp


【解决方案1】:

不要将 HTML 资源移动到 WEB-INF 中,该文件夹的全部意义在于服务器不会直接从那里提供文件。如果你真的,真的想,你可以,但你必须编写一个控制器 servlet 来提供这些静态文件,不要忘记适当地设置内容类型。此外,您将无法以“/WEB-INF/css/blah.css”的形式访问它们,因为服务器不会提供该文件夹。所以它会类似于“/myServlet?resource=css/blash.css”。

【讨论】:

    【解决方案2】:

    如果您使用的是 Spring,您可以将所有文件(CSS、JS、...)放在文件夹中:

    src/main/webapp/resources (create if not exists)

    然后在您的 servlet 配置 xml 中:

    &lt;mvc:resources mapping="/resources/**" location="/resources/" /&gt;

    【讨论】:

      猜你喜欢
      • 2017-11-05
      • 1970-01-01
      • 1970-01-01
      • 2015-04-10
      • 2014-09-08
      • 1970-01-01
      • 1970-01-01
      • 2014-06-05
      • 1970-01-01
      相关资源
      最近更新 更多