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

如何将web.xml中SassCompiler过滤器配置转为纯Spring MVC Java配置?

纯Spring MVC下替换web.xml过滤器配置的Java实现

核心思路

在纯Spring MVC项目中,我们通过实现WebApplicationInitializer接口替代传统web.xml配置,手动完成过滤器的注册与映射规则设置。

具体实现代码

创建一个实现WebApplicationInitializer的类,在onStartup方法中完成对应配置:

import com.darrinholst.sass_java.SassCompilingFilter;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import org.springframework.web.WebApplicationInitializer;

public class WebAppInitializer implements WebApplicationInitializer {
    @Override
    public void onStartup(ServletContext servletContext) throws ServletException {
        // 实例化Sass编译过滤器,对应web.xml中的<filter-class>
        SassCompilingFilter sassFilter = new SassCompilingFilter();
        
        // 注册过滤器并设置名称,对应web.xml中的<filter-name>
        servletContext.addFilter("SassCompiler", sassFilter)
                // 配置过滤器映射规则,对应web.xml中的<url-pattern>
                .addMappingForUrlPatterns(null, false, "*.css");
    }
}

代码说明

  • WebApplicationInitializer是Spring提供的替代web.xml的标准接口,项目启动时会自动执行该类的onStartup方法。
  • addFilter("SassCompiler", sassFilter):第一个参数对应原配置的<filter-name>,第二个参数是过滤器实例,对应<filter-class>。
  • addMappingForUrlPatterns(null, false, "*.css"):最后一个参数对应原配置的<url-pattern>;前两个参数分别为调度器类型(传null表示默认所有类型)、是否匹配转发请求(false表示不匹配)。

注意事项

  • 确保项目已引入sass-java相关依赖(与原web.xml配置时的依赖一致)。
  • 若使用Spring 6+(基于Jakarta EE规范),需将javax.servlet相关包替换为jakarta.servlet。

内容的提问来源于stack exchange,提问作者Богдан Иманкулов

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 00:20:53