登录后,为什么Spring Boot中的H2控制台显示为空白?

我正在使用Spring Boot 1.4.1和H2数据库。 我通过在application.properties文件中添加以下行来启用H2控制台,如参考指南中所述:

spring.h2.console.enabled=true spring.h2.console.path=/h2 

当我在Chrome 53 for Windows中进入H2控制台时,我可以看到登录页面并单击“测试连接”按钮导致“测试成功”:

在此处输入图像描述

但是当我点击“连接”按钮时,屏幕完全变为空白。 当我查看源代码时,我看到“抱歉,Lynx尚未支持”(请参阅完整源代码 )。 在Firefox中也会发生同样的事情。

为什么会这样? 我相信我正在使用正确的JDBC URL,因为有4个不同的人发布了这个问题 ,你应该使用jdbc:h2:mem:testdb

根据博客文章 ,如果项目中有spring-boot-starter-security依赖项,则需要在SecurityConfig类的configure方法中添加一行,否则在登录H2控制台后会看到一个空页:

 http.headers().frameOptions().disable(); 

我添加了这一行,它解决了这个问题。

或者,可以使用以下行(如此处所述):

 http.headers().frameOptions().sameOrigin(); 

A可以使用我的安全配置Bean上的下一行解决相同的问题

 @Override protected void configure(HttpSecurity http) throws Exception { bla(); bla(); http.headers().frameOptions().sameOrigin(); } 

我不知道这行是做什么的,也许有经验的人可以解释一下。

将其添加到您的application.properties中

  security.headers.frame=false