当前位置: 首页 > 知识库问答 >
问题:

Css和图像文件没有在SpringMVC中加载?

东门翰
2023-03-14

我使用intelliJ IDEA中的maven webapp原型创建了一个spring项目。我正在使用tomcat插件和maven插件。我可以在app name/home路径上运行这个应用程序,但是css和图像没有加载,它显示的是简单的文本和图像表情。

在项目内部,我创建了ApplicationInitializer类,这很好,ApplicationConfig看起来像这样-

package com.test;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
import org.springframework.web.servlet.view.JstlView;

@Configuration
@ComponentScan(basePackages = "com.test")
public class ApplicationConfig extends WebMvcConfigurationSupport {

    @Override
    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("css/**","images/**")
                .addResourceLocations("classpath:/css/","classpath:/images/");
    }

    @Bean
    public InternalResourceViewResolver viewResolver(){
        InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
        viewResolver.setPrefix("/WEB-INF/jsp/");
        viewResolver.setSuffix(".jsp");
        viewResolver.setViewClass(JstlView.class);
        return viewResolver;
    }

}

下面是文件夹结构-

我正在访问css和图像文件,如下面在我的jsp文件

<link rel="stylesheet" href="css/style.css" type="text/css"/>
<img src="images/employees/JessicaNewton.jpg" alt="My photo">

我还将ApplicationConfig类与我在ApplicationInitializer类中创建的上下文联系起来,这似乎很好。谁能告诉我哪里错了。

共有1个答案

松飞翮
2023-03-14

如果使用Spring security,可以包括以下内容:

httpSecurity.authorizeRequests().antMatchers("/css/**", "/js/**", "/img/**").permitAll();

对于MVC配置,您可以使用:

private static final String[] CLASSPATH_RESOURCE_LOCATIONS = {
        "classpath:/META-INF/resources/", "classpath:/resources/",
        "classpath:/static/", "classpath:/public/"
};

Jsp标记可能如下所示:

<link href="/css/main.css" rel="stylesheet">
<script src="/webjars/popper.js/umd/popper.min.js"></script>

另外,请确保您有css和js文件夹下的静态文件夹在这样的资源:

 类似资料:
  • 我正在尝试从可执行JAR文件加载图像。 我跟踪了这里的信息,然后是这里的信息。 这是检索图像的函数: 这就是它的名称: 这是一个简单的对象。我也不会得到NullPointerException,除非它被UI屏蔽。 我检查了JAR文件,图像位于: /图片/标识1。巴布亚新几内亚 当前代码在eclipse中以及导出到JAR并在终端中运行时都有效,但在双击JAR时不起作用,在这种情况下,图标是默认的JF

  • 问题内容: 我有一个CoreBundle,其中包含主要的CSS文件和图像。现在,当我从CSS加载图像时出现问题;图片未显示。 (可以使用完整路径) 我使用以下命令安装了资产:我可以在下看到图像和CSS文件。 这是核心捆绑包中的文件结构: 这是我将css文件加载到模板中的方法: 提前谢谢你的帮助。 问题答案: 使用Assetic捆绑包中的过滤器 在config.yml中: 然后像这样调用样式表: 哦

  • 问题内容: 我有一个隐藏的联系表单,单击该按钮即可进行部署。它的字段设置为CSS背景图像,它们的出现时间总是比已切换的div晚一点。 我在本节中使用了此代码段,但运气不好(清除缓存后): 我正在使用jQuery作为我的库,如果我也可以使用它来解决此问题,那将很酷。 多谢您的光临。 问题答案: 我可以确认我的原始代码似乎有效。我随便坚持使用错误路径的图像。

  • 问题内容: 我有一个5000 x 4000像素的图像,想要绘制到画布上。 首先,我尝试从资源中加载它。我把它放进去了。 我使用以下方法: 它像魅力一样运作。 在这种情况下,是。 所以现在我想从sdcard加载它。 这是我尝试做的事情: 在这种情况下,是,创建时得到了。 所以我想知道: 有没有一种方法可以加载图像而不会出现该错误?还是有办法将a转换为? 注意: 我不想调整图像的大小,因为我正在实现缩

  • 问题内容: 我想在不知道文件名的情况下将所有图像加载到文件夹中,然后将它们存储到Integer向量中-在运行时。 实际上,我需要执行与本示例相同的操作:http : //developer.android.com/resources/tutorials/views/hello- gridview.html 但是在运行时却不知道文件名。 有什么帮助吗? 在您回答之后,我知道该怎么做…但是我不知道如何

  • 问题内容: 我有2台Windows 2008 R2 x64服​​务器NLB,具有共享配置的ARR。我在网络共享中有应用程序文件。ASP.net页面(.aspx)正常显示,但没有CSS,图像,js。我也有一个.htm文件,它显示CSS和图像都很好。 在iis日志中,我确实看到401.3消息。因此,这似乎是权限,但不确定是否还要配置权限。 我尝试了建议的解决方案-似乎都没有用(除非我错过了什么)。任何