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

Vaadin 8 Spring Boot集成非Vaadin UI路径访问异常求助

解决Vaadin Spring Boot拦截非UI URL的问题

我之前适配Vaadin示例项目的时候也碰到过一模一样的问题!Vaadin默认会接管几乎所有HTTP请求,导致Actuator端点、自定义非Vaadin登录页这类路径被错误重定向到带#!的Vaadin路由。给你几个亲测有效的解决办法:

  • 配置Vaadin忽略特定路径
    直接在Spring Boot的配置文件里指定Vaadin不需要处理的路径。比如在application.properties里添加:

    vaadin.url.excludes=/actuator/**,/login/**
    

    如果用yaml格式的application.yml:

    vaadin:
      url:
        excludes:
          - /actuator/**
          - /login/**
    

    这样Vaadin就会跳过这些路径的请求,直接交给Spring MVC或者对应的控制器处理。

  • 修改Vaadin Servlet的映射路径
    如果上面的方法没生效,可以调整Vaadin Servlet的映射范围,不让它霸占根路径/*。比如把Vaadin的UI都放到/ui/*路径下,这样只有访问/ui开头的路径才会走Vaadin。
    你可以创建一个配置类来注册Vaadin Servlet:

    @Configuration
    public class VaadinServletConfig {
    
        @Bean
        public ServletRegistrationBean<VaadinServlet> vaadinServlet() {
            VaadinServlet servlet = new VaadinServlet();
            ServletRegistrationBean<VaadinServlet> registration = new ServletRegistrationBean<>(servlet, "/ui/*");
            registration.setLoadOnStartup(1);
            return registration;
        }
    }
    

    之后你的Vaadin Dashboard就会在http://localhost:8080/ui/dashboard访问,而/actuator/health和/login就能正常访问了。

  • 检查Spring Security配置(如果用到的话)
    如果你项目里加了Spring Security,要确保这些非Vaadin路径被允许匿名访问,同时避免和Vaadin的认证机制冲突。比如继承VaadinWebSecurityConfigurerAdapter后,额外添加允许规则:

    @Configuration
    @EnableWebSecurity
    public class SecurityConfig extends VaadinWebSecurityConfigurerAdapter {
    
        @Override
        protected void configure(HttpSecurity http) throws Exception {
            super.configure(http);
            // 开放Actuator和登录页的访问权限
            http.authorizeRequests()
                .antMatchers("/actuator/**", "/login").permitAll();
        }
    }
    
  • 清理浏览器缓存
    最后别忘了清空浏览器缓存或者用隐私模式测试,有时候旧的重定向缓存会干扰新配置的生效。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:58:54