Spring MVC中添加资源处理器

SpringMVC资源处理器

  • 自定义ServletConfig类,这种方式使得Spring MVC的配置更加灵活和方便,特别是当你想避免使用传统的web.xml文件时。
  • Spring的配置文件我们定义了Spring[]{"/"}
    • 表示spring会拦截所有访问请求
    • 但是我们的前端页面不需要被拦截,因此我们需要自定义一个资源处理器

  • 添加SpringMVCConfig配置类的包扫描

  • 自定义一个SpringMvcSupport类处理访问的资源
@Configuration
public class SpringMvcSupport extends WebMvcConfigurationSupport {
    @Override
    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/pages/**").addResourceLocations("/pages/");
        registry.addResourceHandler("/css/**").addResourceLocations("/css/");
        registry.addResourceHandler("/js/**").addResourceLocations("/js/");
        registry.addResourceHandler("/plugins/**").addResourceLocations("/plugins");
    }
}

再mvc中我们需要自定义资源处理器。这段代码定义了一个名为SpringMvcSupport的配置类,它继承WebMvcConfigurationSupportWebMvcConfigurationSupport是Spring MVC中用于提供自定义配置的基类,允许你覆盖默认的Spring MVC配置。SpringMvcSupport类通过覆盖addResourceHandlers方法来配置静态资源的处理。

addResourceHandlers方法用于向Spring MVC中添加资源处理器,这些处理器定义了哪些URL路径被映射到哪些资源位置。这对于将静态资源(如HTML、CSS、JavaScript文件、图片等)提供给客户端是非常有用的。

具体来说,这段代码配置了以下静态资源的映射:

  1. /pages/** 路径下的请求被映射到/pages/目录下的资源。这意味着,如果你的应用部署在服务器上,并且/pages/目录下有一个名为index.html的文件,那么通过访问http://yourserver.com/pages/index.html,你就可以看到这个页面。

  2. /css/** 路径下的请求被映射到/css/目录下的资源。这允许你通过URL如http://yourserver.com/css/style.css来访问style.css文件。

  3. /js/** 路径下的请求被映射到/js/目录下的资源。这允许你通过URL如http://yourserver.com/js/script.js来访问script.js文件。

  4. /plugins/** 路径下的请求被映射到/plugins/目录下的资源。这允许你通过URL如http://yourserver.com/plugins/someplugin.js来访问插件或其他资源。

注意,这些路径和位置都是相对于Servlet容器的根目录(通常是应用的部署目录)的。但是,在实际部署时,这些资源文件通常会放在应用的WEB-INF目录之外,以确保它们可以直接通过Web服务器访问,而无需经过Servlet容器处理。

与SpringBoot比较

在Spring Boot应用中,这些资源文件通常放在src/main/resources/staticsrc/main/resources/publicsrc/main/resources/META-INF/resourcessrc/main/webapp(对于打包为WAR的情况)等目录中,Spring Boot会自动为它们配置资源映射。

此外,使用Spring Boot,并且只是想要简单地添加静态资源映射,通常不需要继承WebMvcConfigurationSupport并覆盖addResourceHandlers方法。Spring Boot提供了自动配置,你可以通过简单的目录结构来管理静态资源。

然而,如果你需要更复杂的配置(比如添加资源处理器或修改默认的静态资源路径),那么继承WebMvcConfigurationSupport是一个可行的选择。但请注意,这样做会禁用Spring Boot的自动配置,因此你可能需要手动配置其他Spring MVC特性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值