当前位置:城玮文档网 >作文大全 > Jetty,JNDI开发实战(上)x

Jetty,JNDI开发实战(上)x

时间:2022-08-05 15:00:04 来源:网友投稿

 Jetty JNDI 开发实战( 上) Jetty JNDI 开发实战( 上) 作者:

 chszs ,版权所有,未经同意,不得转载。博主主页:http://blog.csdn.net/chszs 一、JNDI 介绍 JNDI 即 Java Naming and Directory Interface,Java 命名和目录接口,是 Oracle 公司提供的一种标准的 Java 命名系统接口,允许 Java 客户端根据命名发现或查询数据和对象。JNDI 规范提供了一组标准的独立于命名系统的 API,这些 API 构建在与命名系统有关的驱动之上,有助于将应用与实际的数据源相分离,因此不管应用访问的是 LDAP、RMI、DNS、还是其他的目录服务。像数据源、邮件服务器、消息队列等都可以通过 JNDI 进行发现,JNDI 的查询策略把应用程序从外部资源中抽象出来,并使得外部资源更易于配置。

 本文详述在 Jetty 中使用 JNDI 进行查询。我们先注册一个 JDBC 数据源,再通过JNDI 查询并访问此数据源。然后可以看到 JNDI 资源是如何配置到独立 Jetty 中的。

 二、开发环境 本文使用到的工具可列表如下:

 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 数据库。

 选择中文(简体)语言,并填入 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 配置文件中添加以下依赖包:

 server webapp 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>

相关热词搜索: 实战 开发 Jetty