时间:2021-07-01 10:21:17 帮助过:11人阅读
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数据库。
选择中文(简体)语言,并填入
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 下做一个映射。