H2-In内存数据库控制台无法打开

Bin*_* KK 5 java spring h2 maven spring-boot

我在Spring启动应用程序中使用H2数据库.但是无法在浏览器中打开http:// localhost:8080/console.My Pom.xml如下:

<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <version>1.4.192</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

Spring boot配置:

Springboot配置文件

@Configuration
public class WebConfiguration {
    @Bean
    ServletRegistrationBean h2servletRegistration(){
        ServletRegistrationBean registrationBean = new ServletRegistrationBean( new WebServlet());
        registrationBean.addUrlMappings("/console/*");
        return registrationBean;
    }
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Ayo*_*o K 16

要使用H2控制台,您需要在.properties文件中配置它

spring.h2.console.enabled=true
spring.h2.console.path=/h2console/
Run Code Online (Sandbox Code Playgroud)

/h2console/您希望在浏览器上使用的路径在哪里,以便将其更改为任何内容.此外,如果您启用了安全性,则可能需要将其添加到允许的路径中

也将此添加到您的HttpSecurity配置中http.headers().frameOptions().disable();

编辑

改变你的安全配置我很确定你的pom 可能有弹簧安全性所以请使用它,如果不是它应该工作

import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;

@Configuration
public class WebConfiguration extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity httpSecurity) throws Exception {
        httpSecurity.authorizeRequests().antMatchers("/").permitAll().and()
                .authorizeRequests().antMatchers("/console/**").permitAll();

        httpSecurity.csrf().disable();
        httpSecurity.headers().frameOptions().disable();
    }

}
Run Code Online (Sandbox Code Playgroud)

  • 你添加了这个`http.headers().frameOptions().disable()` (2认同)