【问题标题】:JSP with CSS does not display the background image带有 CSS 的 JSP 不显示背景图片
【发布时间】:2011-09-04 07:25:57
【问题描述】:

我有以下目录结构

http://img853.imageshack.us/img853/7092/96816871.jpg

我的 CSS 尝试使用图像作为背景

#search-text {
width: 213px;
height: 28px;
padding: 6px 0 0 7px;
border: none;
background: url(../images/img02.jpg) no-repeat left top;
color: #000000;

}

它不工作,而 css 的其他部分工作正常。

Firebug 显示应用程序尝试通过 URL _http://localhost:8080/images/img02.jpg 访问图像并得到 404 错误

当我尝试直接访问图像时,我也会收到此错误。我也试过 _http://localhost:8080/paygate/images/img02.jpg _http://localhost:8080/paygate/resources/images/img02.jpg ...而且这个错误不会停止跟随我。

当我将我的 CSS 文件更改为以下内容时

background: url(images/img02.jpg) no-repeat left top;

警告出现在网络服务器日志中:

WARN : org.springframework.web.servlet.PageNotFound - No mapping found for HTTP request with URI [/paygate/images/img02.jpg] in DispatcherServlet with name 'appServlet'

并且 Firebug 显示 URL _http://localhost:8080/paygate/images/img02.jpg 的 404 错误

我应该如何组织我的目录结构或者我应该怎么做才能使我的图像易于访问。谢谢!

附:我正在使用 springsource tc 服务器作为网络服务器。

【问题讨论】:

  • 尝试将此位置用于图像../views/images/img02.jpg希望它有效

标签: java html css jsp tomcat


【解决方案1】:

根据你的项目结构,.css文件和images文件夹在同一级,所以:

background: url(images/img02.jpg) no-repeat left top;

会起作用的。

【讨论】:

  • 没有任何改变。 Firebug:localhost:8080/paygate/images/img02.jpg 404 错误并在 Web 服务器日志中出现警告 WARN:org.springframework.web.servlet.PageNotFound - 在 DispatcherServlet 中找不到带有 URI [/paygate/images/img01.jpg] 的 HTTP 请求的映射,名称为 'appServlet '
  • 此消息表明 Spring DispatcherServlet 已映射到 /images/img01.jpg(通过 web.xml 中的 servlet-mapping 元素)。因此,它试图在其配置中找到此路径的 URL 映射,但没有找到。图像不应映射到调度程序 servlet。
【解决方案2】:

静态资源应该由容器的默认 servlet 提供服务。但是,每当您在 web 应用程序中将任何 servlet 映射到 //* 的 URL 模式时,默认的 servlet 将被完全覆盖。你不想拥有那个。将 Spring 调度程序 servlet 映射到更具体的 URL 模式,例如/app/**.html 或其他。如果您不想更改 URL,那么您需要将静态资源放在像 /static 这样的固定文件夹中,并创建一个 Filter,它将非静态资源转发到 Spring dispatcher servlet。

另见:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-06
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 2020-03-08
    • 2021-05-29
    相关资源
    最近更新 更多