如何在 java ee 应用程序中启用 h2 控制台
How To enable h2 console in java ee application
我想在我的应用程序开发期间访问 h2 控制台功能。我正在使用 JavaEE 和 wildfly 作为我的应用程序服务器。
我知道对于 spring 引导,我们需要添加以下配置行:
spring.h2.console.enabled=true
spring.h2.console.path=/h2
而且我们在 http://localhost:8080/h2/
有控制台
但是javaEE呢?我怎样才能访问它?
我的 pom 对 h2 有以下依赖:
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.196</version>
<scope>runtime</scope>
</dependency>
和persistance.xml:
<properties>
<property name="eclipselink.logging.level" value="INFO"/>
<property name="eclipselink.logging.parameters" value="true"/>
<property name="hibernate.show_sql" value="true" />
<property name="javax.persistence.schema-generation.database.action" value="create"/>
<property name="javax.persistence.sql-load-script-source" value="META-INF/initial.sql"/>
</properties>
如果您要在 JEE 服务器上部署 Spring Boot,控制台应该位于应用程序上下文路径下的定义路径中。
但是,如果您要求的解决方案不依赖于 Spring 引导,那么 org.h2.server.web.WebServlet
正好适合这种情况。所需要做的就是使用 WEB-INF/web.xml
部署描述符公开它:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<servlet>
<servlet-name>h2-console</servlet-name>
<servlet-class>org.h2.server.web.WebServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>h2-console</servlet-name>
<url-pattern>/h2/*</url-pattern>
</servlet-mapping>
</web-app>
我想在我的应用程序开发期间访问 h2 控制台功能。我正在使用 JavaEE 和 wildfly 作为我的应用程序服务器。
我知道对于 spring 引导,我们需要添加以下配置行:
spring.h2.console.enabled=true
spring.h2.console.path=/h2
而且我们在 http://localhost:8080/h2/
但是javaEE呢?我怎样才能访问它? 我的 pom 对 h2 有以下依赖:
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.196</version>
<scope>runtime</scope>
</dependency>
和persistance.xml:
<properties>
<property name="eclipselink.logging.level" value="INFO"/>
<property name="eclipselink.logging.parameters" value="true"/>
<property name="hibernate.show_sql" value="true" />
<property name="javax.persistence.schema-generation.database.action" value="create"/>
<property name="javax.persistence.sql-load-script-source" value="META-INF/initial.sql"/>
</properties>
如果您要在 JEE 服务器上部署 Spring Boot,控制台应该位于应用程序上下文路径下的定义路径中。
但是,如果您要求的解决方案不依赖于 Spring 引导,那么 org.h2.server.web.WebServlet
正好适合这种情况。所需要做的就是使用 WEB-INF/web.xml
部署描述符公开它:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<servlet>
<servlet-name>h2-console</servlet-name>
<servlet-class>org.h2.server.web.WebServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>h2-console</servlet-name>
<url-pattern>/h2/*</url-pattern>
</servlet-mapping>
</web-app>