在Linux Jetty環境下進行JNDI的開發解決方法

        JNDI是標準化的Java命名系統接口,在Jetty容器中,可以對JNDI進行編譯和開發。也可以把JNDI的資源配置到Jetty中,下面就來介紹一下如何在Linux系統Jetty環境下進行JNDI的開發。

  一、開發環境

  本文使用到的工具可列表如下:

  1)JDK 8.0.25

  2)Maven 3.3.3

  3)Eclipse JEE 4.5.0(mars版)

  4)Jetty 9.3.2

  5)H2 Database Engine 1.4.188

  註意,H2數據庫可以通過單個JAR包運行,無需另外安裝。

  另外,假定我們要創建jcgexamle的數據表,它有兩列,分別為ID列和ARTICLE_NAME列。

  C:\jtools\h2\bin》java -cp h2-1.4.188.jar org.h2.tools.Server

  TCP server running at tcp://192.168.1.103:9092 (only local connections)

  PG server running at pg://192.168.1.103:5435 (only local connections)

  Web Console server running at http://192.168.1.103:8082 (only local connections)

  此命令立即啟動H2數據庫的服務器模式,並自動打開瀏覽器,連接到H2的Web控制臺,讓用戶創建和配置H2數據庫。

 

在Linux Jetty環境下進行JNDI的開發解決方法

 

  選擇中文(簡體)語言,並填入

  JDBC URL:jdbc:h2:tcp://localhost/~/jcgdb

  用戶名:sa

  點擊測試連接按鈕,返回“測試成功”的信息。此時,H2數據庫引擎會自動在文件系統的home目錄中創建名為jcgdb.mv.db的數據庫文件,然後我們可以運行下面的腳本來創建數據表jcgexamle,並插入兩行記錄:

  CREATE CACHED TABLE PUBLIC.JCGEXAMPLE(

  ID INTEGER,

  ARTICLE_NAME VARCHAR(255)

  );

  insert into JCGEXAMPLE values(1,‘Jetty JNDI Example’);

  insert into JCGEXAMPLE values(2,‘Jetty JMX Example’);

  至此,數據庫已經準備好瞭。

  二、構建Demo項目

  1、在Eclipse環境創建Maven項目

  Group Id:com.ch.snippets.enterprise

  Artifact Id:jetty-jndi-demo

  Packaging:war

  2、添加依賴包

  在pom.xml配置文件中添加以下依賴包:

  org.eclipse.jetty:jetty-server

  org.eclipse.jetty:jetty-webapp

  org.eclipse.jetty:jetty-plus

  org.eclipse.jetty:jetty-jndi

  com.h2database:h2

  pom.xml配置文件具體如下:

  《project xmlns=“http://maven.apache.org/POM/4.0.0” xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”

  xsi:schemaLocation=“http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd”》

  《modelVersion》4.0.0《/modelVersion》

  《groupId》com.ch.snippets.enterprise《/groupId》

  《artifactId》jetty-jndi-demo《/artifactId》

  《version》0.0.1-SNAPSHOT《/version》

  《packaging》war《/packaging》

  《dependencies》

  《dependency》

  《groupId》org.eclipse.jetty《/groupId》

  《artifactId》jetty-server《/artifactId》

  《version》9.3.2.v20150730《/version》

  《/dependency》

  《dependency》

  《groupId》org.eclipse.jetty《/groupId》

  《artifactId》jetty-webapp《/artifactId》

  《version》9.3.2.v20150730《/version》

  《/dependency》

  《dependency》

  《groupId》org.eclipse.jetty《/groupId》

  《artifactId》jetty-plus《/artifactId》

  《version》》9.3.2.v20150730《/version》

  《/dependency》

  《dependency》

  《groupId》org.eclipse.jetty《/groupId》

  《artifactId》jetty-jndi《/artifactId》

  《version》》9.3.2.v20150730《/version》

  《/dependency》

  《dependency》

  《groupId》com.h2database《/groupId》

  《artifactId》h2《/artifactId》

  《version》1.4.188《/version》

  《/dependency》

  《/dependencies》

  《/project》

  以上就是如何在Linux Jetty環境下進行JNDI的開發的全部內容瞭,jetty 中定義的資源都需要在 web.xml 中進行一次申明,如此 jetty 才會把默認上下文中資源在 java:comp/env 下做一個映射,想瞭解更多內容可以對GuideAH進行關註!

 

閱讀更多: