【问题标题】:JSP can't find stylesheets, images [duplicate]JSP找不到样式表,图像[重复]
【发布时间】:2011-07-09 08:56:30
【问题描述】:

可能重复:
JSP can't find stylesheet

Tomcat7、spring framework3、jstl 1.2。 层次结构:WEB-INF/jsp WEB-INF/styles

我在我的 JSP 文件中链接样式表,该文件位于 WEB-INF/jsp:但它不起作用!当我打开我的应用程序时,没有样式,并且由 Tomcat 编写:

Apache Tomcat/7.0.14 - 错误报告 HTTP 状态 404 - 类型状态报告 信息 描述 请求的资源 () 不可用。 Apache Tomcat/7.0.14

所以我将我的样式文件夹从 WEB-INF 中取出,但它仍然无法正常工作! 此外,图像也不起作用,但我的图像文件夹不在 WEB-INF 中,它们的路径是正确的...... 有什么问题?

【问题讨论】:

  • 你已经问过同样的问题,得到的答复是:你不能把 CSS 文件放在 WEB-INF 中。如果您需要更多帮助,请编辑您的原始问题,向我们展示您的 JSP 代码,并告诉我们所有相关文件在目录树中的位置。

标签: java jsp tags jstl stylesheet


【解决方案1】:

在 Spring 中,我将资源放在 web-inf 之外的文件夹中。像这样:

Web.xml

<!-- Processes application requests -->
    <servlet>
        <servlet-name>appServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

然后在我的 servlet-context.xml(web.xml 中指定的配置文件)文件中,我将资源目录排除在调度程序的管理范围之外,因此以资源/为前缀的 URL 不会被调度程序拾取并尝试路由到适当的控制器。

<!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory -->
<resources mapping="/resources/**" location="/resources/" />

在我的 jsp 中,我可以正常访问资源:

<link rel="stylesheet" type="text/css" href="/skillsmanager-ui/resources/css/reset.css" /> 

【讨论】:

  • @Lomer 很高兴你得到它的工作感谢您的接受。当我第一次设置它时,我也遇到了这个问题。请记住,您的调度员将接收您的所有请求并尝试路由它们,除非您有规则设置来阻止它
猜你喜欢
  • 2011-10-01
  • 2013-01-21
  • 2021-08-24
  • 1970-01-01
  • 1970-01-01
  • 2018-01-11
  • 1970-01-01
  • 2019-08-28
  • 2021-07-19
相关资源
最近更新 更多