You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JSP页面无法访问resources目录下资源的问题求助

无法访问resources目录下静态资源的解决方案

尝试使用绝对路径、相对于resources目录的路径等多种方式,仍无法访问该目录下的资源,核心问题出在main.jsp的图片路径配置上:

main.jsp代码

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>  
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title> Simple Title </title>
    <link href = "css/style.css" rel="stylesheet" type="text/css">
</head>
<body>
    <header>
        <img class = "avatar" src = "images/skyrim-logo.png" alt = "avatar"> <!-- 此行存在问题 -->
        <span class = "header-info">
            ... some info ...
        </span>
    </header>
    <div class="container">
        <div class="container-header">
            Enter point coordinates
        </div>
    </div>
</body>
</html>

项目结构

项目结构

Target目录结构

Target结构


问题原因

src/main/resources目录下的资源会被编译到WEB-INF/classes目录中,而WEB-INF下的内容默认无法直接通过浏览器URL访问,所以直接用相对路径images/skyrim-logo.png无法找到资源。

解决方法

方法1:调整静态资源存放位置(推荐)

将css、images等静态资源直接放到webapp目录下(与WEB-INF同级),然后修改jsp中的路径为:

<link href="${pageContext.request.contextPath}/css/style.css" rel="stylesheet" type="text/css">
<img class="avatar" src="${pageContext.request.contextPath}/images/skyrim-logo.png" alt="avatar">

${pageContext.request.contextPath}会自动获取项目的上下文根路径,避免因部署路径变化导致的路径错误。

方法2:配置静态资源映射(适用于必须放在resources目录的场景)

如果是Spring MVC项目,在XML配置文件中添加静态资源映射:

<mvc:resources mapping="/images/**" location="classpath:/images/"/>
<mvc:resources mapping="/css/**" location="classpath:/css/"/>

如果是Spring Boot项目,添加配置类:

@Configuration
public class WebResourceConfig implements WebMvcConfigurer {
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        // 映射images路径到resources下的images目录
        registry.addResourceHandler("/images/**")
                .addResourceLocations("classpath:/images/");
        // 映射css路径到resources下的css目录
        registry.addResourceHandler("/css/**")
                .addResourceLocations("classpath:/css/");
    }
}

配置完成后,jsp中的路径同样使用${pageContext.request.contextPath}/images/skyrim-logo.png即可访问资源。


内容的提问来源于stack exchange,提问作者grxuau

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 06:35:26