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

Vaadin 23.2.17修改urlMapping后静态资源无法加载求助

解决Vaadin 23静态资源无法访问的问题

针对你遇到的静态图片无法加载的问题,可按以下步骤排查修复:

1. 修正图片资源路径

当配置了vaadin.urlMapping = /vaadin/*后,前端资源的基础访问路径变为/vaadin/frontend/,因此你的图片路径需要调整为完整的相对路径:

Image image = new Image("frontend/images/company-logo.gif", "company-logo");
portalLogo.add(image);

或者使用Vaadin的ContextRelativeResource确保路径解析正确:

Image image = new Image(new ContextRelativeResource("frontend/images/company-logo.gif"), "company-logo");
portalLogo.add(image);

2. 移除自定义的ServletRegistrationBean

Vaadin 23与Spring Boot集成时,配置vaadin.urlMapping后框架会自动处理前端资源的路由逻辑,手动注册/vaadin/frontend/*的Servlet可能会覆盖或干扰默认的资源处理流程,建议删除你自定义的frontendServletBean Bean定义。

3. 检查Spring Security配置

确保Spring Security允许访问Vaadin相关的前端资源路径,在Security配置类中添加放行规则:

@Override
protected void configure(HttpSecurity http) throws Exception {
    http.authorizeRequests()
        .antMatchers("/vaadin/**", "/frontend/**", "/VAADIN/**")
        .permitAll()
        // 其他业务权限规则...
}

完成以上调整后,重启应用即可正常加载静态图片资源。

内容的提问来源于stack exchange,提问作者Giuseppe Di Luca

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 18:47:07