- 浏览: 831824 次
- 性别:
- 来自: 北京、四川
文章分类
最新评论
-
sunbeamzheng:
总结的很好,好好看看。 拷贝问题确实很需要注意,特别是影不影响 ...
java深拷贝与浅拷贝 -
xmh8023:
...
获取POST数据的值 -
xmh8023:
我访问别的服务器怎么办?急求
获取POST数据的值 -
xmh8023:
String urlString="http://l ...
获取POST数据的值 -
lv12312:
Tomcat 7的老版本么?有bug的,https://iss ...
JMX问题
JNDI使用
jndi配置数据库
tomcat使用的是Tomcat 6.0.18版本
1.先在工程的WEB-INF目录下的META-INF下新建context.xml中添加配置resource,如下:
2.将mysql的connet jar放入到%TOMCAT_HOME%\common\lib下面。
3.写测试的例子:
jsp页面代码
自定义JNDI
1、写自定义的类
2.在context.xml中添加如下配置:
其中bar="23"是对MyBean的初始化
3.写测试代码:
jsp页面:
附件为完整的例子和mysql的驱动
jndi配置数据库
tomcat使用的是Tomcat 6.0.18版本
1.先在工程的WEB-INF目录下的META-INF下新建context.xml中添加配置resource,如下:
<Resource name="jdbc/mysql" type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" password="123456" maxIdle="2" maxWait="5000" username="root" url="jdbc:mysql://localhost:3306/test" maxActive="4"/>
2.将mysql的connet jar放入到%TOMCAT_HOME%\common\lib下面。
3.写测试的例子:
public String testMain() throws SQLException, NamingException{ Context ctx = null; DataSource ds = null; Connection conn = null; Statement stmt = null; ResultSet rs = null; try { ctx = new InitialContext(); if (ctx == null){ System.out.println("no context"); return "no context"; } ds = (DataSource) ctx.lookup("java:comp/env/jdbc/mysql"); if (ds == null) { System.out.println("no datasource"); return "no datasource"; } conn = ds.getConnection(); stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); String strSql = "select * from pmuser"; rs = stmt.executeQuery(strSql); while (rs.next()) { System.out.println(rs.getString(2)); } return "sucess"; } catch (Exception ex) { ex.printStackTrace(); System.out.println(ex.toString()); } finally { if (rs != null) rs.close(); if (stmt != null) stmt.close(); if (conn != null) conn.close(); if (ctx != null) ctx.close(); } return "error"; }
jsp页面代码
<% String br="<br />"; out.println("Start Test JNDI"+br); TestMysqlJndi tm=new TestMysqlJndi(); String ret=tm.testMain(); out.println("Return String : "+ret+br); out.println("End Test Jndi <br />"+br); %>
自定义JNDI
1、写自定义的类
public class MyBean { private String foo = "Default Foo"; private int bar = 0; public String getFoo() { return (this.foo); } public void setFoo(String foo) { this.foo = foo; } public int getBar() { return (this.bar); } public void setBar(int bar) { this.bar = bar; } }
2.在context.xml中添加如下配置:
<Resource name="bean/MyBeanFactory" auth="Container" type="com.demo.MyBean" factory="org.apache.naming.factory.BeanFactory" bar="23"/>
其中bar="23"是对MyBean的初始化
3.写测试代码:
public String testMethod() throws NamingException{ Context initCtx=new InitialContext(); Context ctx=(Context)initCtx.lookup("java:comp/env"); MyBean bean=(MyBean)ctx.lookup("bean/MyBeanFactory"); StringBuffer ret=new StringBuffer(); ret.append("foo = ").append(bean.getFoo()).append(", bar = ").append(bean.getBar()); System.out.println(ret.toString()); return ret.toString(); }
jsp页面:
<% String br="<br />"; out.println("Start Test JNDI"+br); TestJndiMain tm=new TestJndiMain(); String ret=tm.testMethod(); out.println("Return String : "+ret+br); out.println("End Test Jndi <br />"+br); %>
附件为完整的例子和mysql的驱动
- JNDIDemo.zip (9.7 KB)
- 下载次数: 14
- mysql-connector-java-5.1.7-bin.jar (693.3 KB)
- 下载次数: 3
发表评论
-
Java并发编程:volatile关键字解析
2015-07-30 11:30 642转:http://www.cnblogs.com/dolp ... -
Java内存模型
2015-07-29 13:55 9201. 概述 多任务和 ... -
自定义classloader
2015-07-29 13:54 703转:http://tiantian911.iteye.com ... -
自定义ClassLoader实现java应用核心逻辑模块热部署
2015-07-29 13:51 1028转:http://blog.csdn.net/zhangda ... -
java classloader原理初探
2015-07-29 10:14 675转:http://www.cnblogs.com/ ... -
Java 内存分配全面浅析
2015-07-29 08:52 614转:http://blog.csdn.net/shimi ... -
http stream
2014-07-29 16:38 1156StringBuilder sb = new String ... -
Tomcat远程调试
2011-04-09 12:33 1067需要在Tomcat中的catalina.bat中添加如下的一行 ... -
用jmx监控多台服务器(tomcat)
2010-09-08 18:25 4584因为需要写一个后台监控服务器的程序,涉及到jmx,也涉 ... -
call cmd /c start 一点疑问
2010-09-01 10:16 2255call "cmd /c start aaa.bat ... -
Windows计划任务之schtasks
2010-08-30 13:21 3605创建:SCHTASKS /Create /RU SYSTEM ... -
ajax返回值中有中文存在的乱码现象
2010-08-27 16:28 1452ajax返回值中有中文存在的乱码现象,解决就加入下面一行代码即 ... -
MIME TYPE
2010-08-26 16:23 7271最近要做需要在页面上放音频的东西,因此需要用到mime typ ... -
JMX问题
2010-08-20 17:20 5520这个问题貌似是启动tomcat之后就获取不到jmx的链接了,不 ... -
Eclipse控制台乱码
2010-08-05 15:18 4900安装了Eclipse,在运行tomcat时,控制台的中文显示乱 ... -
JMX服务端和客户端的代码
2010-07-27 15:37 3582服务端代码如下 package com.rmi; i ... -
JMX连接Tomcat的JMX测试类
2010-07-27 15:33 3305首先是为了使tomcat支持JMX,必须在tomcat的启动项 ... -
JMX的一个链接类
2010-07-27 09:37 1476package com.pachira.oamp.jmxS ... -
java中文转unicode码
2010-07-22 11:04 43440转载地址:http://www.iteye.com/topic ... -
获取POST数据的值
2010-07-21 14:17 9930当method为POST,Content-Type为 ...
相关推荐
总结,配置Tomcat 6.0的数据源(DBCP)和JNDI使用,主要是通过修改服务器和应用的配置文件,然后在代码中利用JNDI查找机制获取数据源,实现数据库连接的高效管理。通过实践和理解这些步骤,可以提升你的Java Web开发...
【JNDI 使用方法】 Java 命名和目录接口(JNDI)是Java应用程序访问命名和目录服务的关键工具。命名服务的核心功能是通过名称将对象与它们的标识关联,便于用户通过名称而非直接引用访问对象。目录服务则在此基础上...
JNDI使用说明JNDI使用说明JNDI使用说明JNDI使用说明JNDI使用说明JNDI使用说明JNDI使用说明
下面是一个简单的JNDI使用示例: 1. **创建Naming Context**: 在Java代码中,我们通常使用`InitialContext`类来创建一个初始上下文,这是所有JNDI操作的起点。例如: ```java Context initialContext = new ...
在Java应用中,JNDI通常与Java EE服务器结合使用,用于管理数据源。例如,通过JNDI,我们可以查找在服务器中注册的数据源,然后获取数据库连接,从而实现数据库的访问。在给定的描述中提到的"博文链接"可能详细阐述...
EJB中的JNDI使用场景 在EJB环境中,JNDI通常用于以下几个方面: - **查找资源**:EJB可以通过JNDI来查找和使用数据源、消息队列等资源。 - **注入资源**:容器可以自动地将数据源等资源通过JNDI名称注入到EJB中,...
总结来说,EJB中的JNDI使用是Java EE开发中的重要组成部分,它简化了组件间的通信,并提供了服务发现的能力。通过源码学习,我们可以深入了解EJB与JNDI的交互过程,这对于理解和调试企业级Java应用程序是非常有价值...
在实际开发中,`jndi.jar` 文件通常包含了JNDI相关的API,是使用JNDI所必需的库文件。将这个JAR包加入到项目的类路径中,才能使用JNDI提供的功能。 总之,JNDI是Java中的一种重要工具,它使得分布式应用能够方便地...
例如,在 JMS、JMail、JDBC、EJB 等技术中广泛使用了 JNDI 技术。 #### 二、JNDI 的诞生背景 随着分布式应用的发展,远程访问对象的需求日益增加。虽然传统的 Socket 编程可以实现远程通信,但在实际应用中存在...
3. **URL 和复合名称**:JNDI 使用 URL 来标识远程服务的位置,同时支持复合名称来表示对象的路径。 4. **事件**:JNDI 提供了事件通知机制,允许客户端订阅命名和目录服务的变化事件。 #### 五、API 概览 JNDI ...
总之,这个压缩包提供了一个学习和实践EJB中JNDI使用的宝贵资源。通过研究这些源码,开发者不仅可以掌握JNDI的基本用法,还能了解到如何将JNDI与EJB结合,以实现在企业级应用中的高效开发。对于深入理解和应用Java ...
本压缩包包含了一个EJB中JNDI使用源码的例子,可以帮助开发者深入理解这两者之间的交互。 在Java EE中,JNDI主要用来查找和绑定资源,如EJB、数据源、邮件会话等。EJB的实例化通常涉及到JNDI查找过程,因为EJBs是在...
描述中的“在JAVA编程中对JNDI的支持”意味着这个软件包是为了帮助Java开发者使用JNDI进行开发,而“是一个开放的源码”则说明了这个实现是开源的,允许用户查看和修改源代码,促进了社区的协作和改进。 标签“jndi...
使用"jndi_tool.jar"文件,用户可以运行这个工具,执行一系列的JNDI查找测试,以检查目标系统是否易受攻击。然而,值得注意的是,任何对公开网络的服务进行攻击性的利用都可能违反法律法规,因此,这个工具应仅限于...
虽然描述中没有具体信息,但根据提供的博客链接,我们可以推测这是一个关于Tomcat中JNDI使用和配置的讨论。博客可能包含了如何在Tomcat环境中设置和管理JNDI资源的教程或技巧。 【标签】:“源码 工具” 这两个...
JNDI 使用三层架构:客户端、命名/目录服务提供者(Provider)和服务接口(Service Interface)。在JNDI中,客户端通过服务接口与服务提供者交互。服务提供者可以是任何类型的命名或目录服务,如 LDAP、DNS 或简单的...
#### JNDI使用案例 在Java程序中,可以利用JNDI API来访问LDAP服务器上的数据。以下是一个简单的示例代码,展示如何使用JNDI连接到LDAP服务器: ```java import javax.naming.Context; import javax.naming....