2017-09-26 1 views
0

In meinem Frühjahr Boot-Anwendung, ich habe die folgenden Abhängigkeiten hinzugefügt:h2-Konsole nicht zu sehen

 <dependency> 
      <groupId>com.h2database</groupId> 
      <artifactId>h2</artifactId> 
      <version>1.4.196</version> 
      <scope>test</scope> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-devtools</artifactId> 
      <scope>runtime</scope> 
     </dependency> 

und dann in meinem application.properties i gesetzt:

spring.h2.console.enabled=true 
management.security.enabled=false 

Aber wenn ich zu navigieren die uri:

http://localhost:8080/h2-console/login.do?jsessionid=cfc3b5595b531203d92134205e16127e 

Es beschwert sich mit:

Whitelabel Error Page 

This application has no explicit mapping for /error, so you are seeing this as a fallback. 

    Wed Sep 27 03:37:52 GMT-12:00 2017 
    There was an unexpected error (type=Not Found, status=404). 
    No message available 

Warum habe ich keinen Zugriff aufh2-console?

+0

Haben Sie 'spring.datasource.url' in Ihren' application.properties'? –

Antwort

0

Fügen Sie in Ihrem Projekt die folgende Konfigurationsklasse hinzu und versuchen Sie es erneut.

import org.h2.server.web.WebServlet; 
import org.springframework.boot.web.servlet.FilterRegistrationBean; 
import org.springframework.boot.web.servlet.ServletContextInitializer; 
import org.springframework.boot.web.servlet.ServletRegistrationBean; 
import org.springframework.context.annotation.Bean; 
import org.springframework.context.annotation.Configuration; 
import org.springframework.web.filter.ShallowEtagHeaderFilter; 

import javax.servlet.DispatcherType; 
import javax.servlet.ServletContext; 
import javax.servlet.ServletException; 
import java.util.EnumSet; 

@Configuration 
public class WebConfiguration { 

    private static final String mapping = "/console/*"; 

    @Bean 
    public ServletRegistrationBean h2servletRegistration(){ 
     ServletRegistrationBean registrationBean = new ServletRegistrationBean(new WebServlet()); 
     registrationBean.addUrlMappings(mapping); 
     return registrationBean; 
    } 

    @Bean 
    public FilterRegistrationBean shallowEtagHeaderFilter() { 
     FilterRegistrationBean registration = new FilterRegistrationBean(); 
     registration.setFilter(new ShallowEtagHeaderFilter()); 
     registration.setDispatcherTypes(EnumSet.allOf(DispatcherType.class)); 
     registration.addUrlPatterns(mapping); 
     return registration; 
    } 

    @Bean 
    public ServletContextInitializer initializer() { 
     return new ServletContextInitializer() { 

      @Override 
      public void onStartup(ServletContext servletContext) throws ServletException { 
       servletContext.setInitParameter("p-name", "-value"); 
      } 
     }; 
    } 
}