Tomcat中使用jndi例子
来源:互联网 发布:linux部署php 编辑:程序博客网 时间:2024/05/16 04:47
主要使用jndi对tomcat中的 env 以及 source 进行调用
问题:
.注意 jdbc驱动需要放在 ${CATALINA_HOME}/common/lib 目录下
在tomcat的配置文件中需要注意 标签的次序问题
#server.xml的配置如下
<Context path="/tomtest" reloadable="true" docBase="E:/admin/workspace/javaWS/tomtest" workDir="E:/admin/workspace/javaWS/tomtest/work/org/apache/jsp" >
<!--Loader className="org.apache.catalina.loader.DevLoader" reloadable="true" debug="1"/-->
<!--server level Environment-->
<Environment name="greetings" type="java.lang.Integer" value="15"/>
<Resource name="jdbc/ds" scope="Shareable" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/ds">
<!-- use dbcp pool-->
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<!-- DBCP database connection settings -->
<!-- MS SQL Server -->
<parameter>
<name>url</name>
<value>jdbc:jtds:sqlserver://HOST:1433/Northwind</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>net.sourceforge.jtds.jdbc.Driver</value>
</parameter>
<parameter>
<name>username</name>
<value>sa</value>
</parameter>
<parameter>
<name>password</name>
<value>******</value>
</parameter>
<!-- DBCP connection pooling options -->
<parameter>
<name>maxWait</name>
<value>3000</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>100</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>10</value>
</parameter>
</ResourceParams>
</Context>
#web.xml配置如下
<!--resource reference for datasource... it use "source" in server.xml-->
<resource-env-ref>
<description> data source entry test</description>
<resource-env-ref-name>jdbc/ds</resource-env-ref-name>
<resource-env-ref-type>javax.sql.DataSource</resource-env-ref-type>
</resource-env-ref>
<!-- Web level Environment-->
<env-entry>
<description>test entry</description>
<env-entry-name>webEnv</env-entry-name>
<env-entry-value>i am environment in web.xml...</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
#JSP测试使用如下
<%@page contentType="text/html;charset=gb2312"
import="javax.naming.*,java.sql.*,javax.sql.*"
%>
<%
//建立一个context 作为查找源 这里为myenv ctx为初始源
Context ctx =new InitialContext();
//注意 tomcat中的对配置的查找都在java:comp/env下面
Context myenv =(Context)ctx.lookup("java:comp/env");
//这里得到一个 server级的环境变量
Integer greetings= (Integer)myenv.lookup("greetings");
out.println("serverEnv is: "+greetings+"<br/>");
//这里的是web级的环境变量
out.println("WebEnv is:"+(String)myenv.lookup("webEnv")+"<br/>");
/*
使用tomcat中配置的datasource 进行数据库操作
*/
Connection conn=null;
DataSource ds=null;
Statement stat=null;
ResultSet res=null;
try{
//Class.forName("net.sourceforge.jtds.jdbc.Driver");
//得到tomcat配置的datasource引指
ds=(DataSource)myenv.lookup("jdbc/ds");
//使用datasource得到connection
if(ds!=null){
conn=ds.getConnection();
out.println("had data source ...");
}
stat=conn.createStatement();
//执行语句并返回一个ResultSet
res=stat.executeQuery("select distinct top 20 * from Orders");
//打印ResultSet
out.print("<br/>");
while(res.next())
{
out.print(res.getInt(1)+":"+res.getString(2)+"<br/>");
}
}
catch(Exception e){
out.println(e);
}
finally{
if(res!=null)
res.close();
if(stat!=null)
stat.close();
if(conn!=null)
conn.close();
}
//关闭context 据说context最好关了
ctx.close();
myenv.close();
%>
#显示结果如下
serverEnv is: 15
WebEnv is:i am environment in web.xml...
conn
10248:VINET
10249:TOMSP
10250:HANAR
10251:VICTE
10252:SUPRD
10253:HANAR
10254:CHOPS
10255:RICSU
10256:WELLI
10257:HILAA
10258:ERNSH
10259:CENTC
10260:OTTIK
10261:QUEDE
10262:RATTC
10263:ERNSH
10264:FOLKO
10265:BLONP
10266:WARTH
10267:FRANK
- Tomcat中使用jndi例子
- tomcat中使用JNDI
- tomcat中配置使用JNDI
- Tomcat中配置和使用JNDI
- Tomcat中配置和使用JNDI
- Tomcat中配置和使用JNDI
- Tomcat中配置和使用JNDI
- Tomcat中配置和使用JNDI DataSource
- Tomcat中配置和使用JNDI
- tomcat中通过JNDI数据源配置使用
- tomcat中通过JNDI数据源配置使用
- 如何在Tomcat中使用jndi
- tomcat中通过JNDI数据源配置使用
- tomcat中通过JNDI数据源配置使用
- Tomcat中配置和使用JNDI
- Tomcat中使用JNDI引用外部资源
- tomcat配置JNDI数据源例子
- tomcat jndi配置例子图
- Visual Fortran 常见运行错误信息
- 风中木棉
- Visual Fortran 高级编程技术
- 偶总结的FORTRAN/C/C++混合编程,大家有兴趣就看看吧
- [收藏]深入浅出理解索引结构
- Tomcat中使用jndi例子
- 2005年3月27日
- 对于I/O完成端口机制我的理解
- Rational XDE介绍
- 哈哈,有了自己的blog
- Win2000命令全集
- 来自MIT人工智能实验室:如何做研究?
- [转贴]ASP.NET讲座(1)-ASP.NET简介
- 第一次 之 挑灯夜战