gpt4 book ai didi

java - H2-内存数据库控制台未打开

转载 作者:搜寻专家 更新时间:2023-11-01 01:09:44 24 4
gpt4 key购买 nike

我在 Spring boot 应用程序中使用 H2 数据库。但无法在浏览器中打开它 http://localhost:8080/console .我的 pom.xml 如下:

<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.192</version>
</dependency>

Spring 启动配置:

Springboot配置文件

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

enter image description here

最佳答案

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

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

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

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

编辑

更改您的安全配置我很确定您的 pom 中可能有 spring security 所以请改用它,如果没有它应该可以工作

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();
}

}

关于java - H2-内存数据库控制台未打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47221582/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com