`

JNDI学习(一) Tomcat7 配置JNDI (JDBC datasource)

阅读更多

        第一步Tomcat上安装JDBC驱动包,将jar包放到 $CATALINA_HOME/lib 目录下。

        第二步配置项目的web.xml文件,参考配置如下

<resource-ref>
	  <description>
	  </description>
	  <res-ref-name>
	    jdbc/lianDB
	  </res-ref-name>
	  <res-type>
	    javax.sql.DataSource
	  </res-type>
	  <res-auth>
	    Container
	  </res-auth>
	</resource-ref>

         第三步配置$CATALINA_HOME/conf目录下的context.xml文件

<Resource name="jdbc/lianDB"
            auth="Container"
            type="javax.sql.DataSource"
            username="root"
            password="root"
            driverClassName="com.mysql.jdbc.Driver"
            url="jdbc:mysql://127.0.0.1:3306/lian?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=utf-8&amp;zeroDateTimeBehavior=convertToNull&amp;useSSL=false"
            maxActive="8"
            maxIdle="4"/>

         第四步 如何在Java中使用JNDI数据源

public String login() throws Exception {
		Context initCtx = new InitialContext();
		Context envCtx = (Context) initCtx.lookup("java:comp/env");
		DataSource ds = (DataSource) envCtx.lookup("jdbc/lianDB");
		StringBuffer sql = new StringBuffer();
		/**
		 * select group_id , group_name from t_group where group_name='同事'
		 */
		sql.append("select group_id , group_name from t_group   ");
		sql.append("where group_name=? ");
		Connection conn = ds.getConnection();
		PreparedStatement ps = null;
		ResultSet rs = null;
		Group group = new Group();
		try {
			ps = conn.prepareStatement(sql.toString());
			ps.setString(1, "同事");
			rs = ps.executeQuery();
			if (rs.next()) {
				group.setGroupId(rs.getString(1));
				group.setGroupName(rs.getString(2));
			}

		} finally {
			if (rs != null)
				rs.close();
			if (ps != null)
				ps.close();
			conn.close();
		}
		Gson gson = new Gson();
		return gson.toJson(group);
	}

         说明: context.xml文件 <Resource> 标签中name属性要和web.xml文件中<res-ref-name>属性保持一致。

分享到:
评论

相关推荐

    (收集)tomcat jndi

    3. **配置JNDI资源**:在Tomcat的`server.xml`或`context.xml`配置文件中,可以定义全局或应用级别的JNDI资源。例如,添加一个数据源,可以在`context.xml`中创建一个`&lt;Resource&gt;`标签,并指定类型、名称、URL等属性...

    用jndi操作数据库小实例

    数据源(DataSource)是JDBC的一个接口,它负责管理数据库连接。使用数据源的好处包括连接池管理、事务支持和自动关闭连接等功能,这些都是高效、健壮的Web应用程序所必需的。在JNDI中,数据源通常以全局唯一的名字...

    tomcat配置sql数据库

    7. **配置Tomcat的数据源** - 启动Tomcat服务器。 - 打开浏览器,访问`http://localhost:80/admin/`,输入安装Tomcat时设定的用户名和密码登录管理界面。 - 在管理界面中,选择“Resources” -&gt; “DataSources”...

    java web 连接数据库

    数据源通常存储在应用服务器中,例如Tomcat或JBoss,可通过JNDI(Java Naming and Directory Interface)查找。 3. 驱动管理:Java连接数据库需要相应的数据库驱动,如MySQL Connector/J、Oracle JDBC驱动等。这些...

    JavaWeb资源

    - JNDI(Java Naming and Directory Interface)是Java中的命名和目录服务接口,常用于在应用服务器中查找资源,如数据库连接池。 - DataSource是JNDI中的一种资源,用于管理数据库连接,可以提高应用程序的性能...

    《Java Web开发从初学到精通源代码》代码

    5. **Java EE组件**:包括JavaMail、JDBC(Java Database Connectivity)用于数据库操作,以及JNDI(Java Naming and Directory Interface)用于服务查找。 6. **Web容器**:Tomcat是最常见的Java Web应用服务器,...

    tomcat中数据库连接池代码压缩包

    DataSource dataSource = (DataSource) initialContext.lookup("java:comp/env/jdbc/MyDB"); Connection conn = dataSource.getConnection(); // 使用连接执行SQL... conn.close(); ``` 6. **连接池的监控与...

    JAVA EE基础

    学习JDBC包括了解DataSource、Statement、PreparedStatement和ResultSet等核心类。 3. **EJB(Enterprise JavaBeans)**: - EJB是Java EE中的组件模型,用于创建可部署在应用服务器上的服务器端组件。主要有三种...

    java web 认证考试

    9. **JNDI(Java Naming and Directory Interface)**:JNDI提供了一个统一的接口来查找和绑定资源,如数据源、EJB等,在Java Web应用中用于服务定位。 10. **JDBC(Java Database Connectivity)**:JDBC是Java与...

    Tomcat数据源

    数据源(DataSource)是Java企业版(Java EE)中的一种资源,用于管理和提供到数据库的连接。在Tomcat中,数据源允许应用程序高效、安全地访问数据库,而无需每次都创建新的数据库连接。 【描述】"MLDN课程--tomcat...

    j2EE 经典面试题

    - **Tomcat与JBoss**:了解两种常见的J2EE服务器,以及它们的部署和配置。 - **WAR与EAR**:理解两种部署单元的差异,如何打包和部署应用。 以上只是J2EE面试中可能会涉及的一些关键知识点,实际面试中还可能考察...

    java练手项目

    DataSource是JNDI中的一个对象,用于存储数据库连接信息。了解如何配置和使用DataSource,可以提高应用的性能和可维护性。 5. **Maven或Gradle构建工具** 这些项目可能使用Maven或Gradle作为依赖管理工具。初学者...

    jpivot学习总结.doc

    该标签的主要作用是让 mondrian 执行指定的查询,该标签需要指定一个 JDBC 的 datasource 或单独指定 JDBC 连接的各个属性从而可以让 mondrian 连接到指定的数据库。 它的用法如下: jdbcDriver=...

    springMVC+MyBatis+Oracle+Web实现增删改查完整案例+数据库数据)

    4. **连接Oracle数据库**:配置数据源(DataSource),如使用JNDI或直接在Spring配置文件中配置,建立与Oracle数据库的连接。 5. **编写业务逻辑**:在Service层实现业务逻辑,通过MyBatis的SqlSession进行数据库...

    java与jsp面试试题

    - JNDI(Java Naming and Directory Interface):用于查找和管理资源,如数据库连接池。 3. **JSP动作指令** - `&lt;jsp:include&gt;`:动态包含页面,支持请求参数传递。 - `&lt;jsp:forward&gt;`:转发请求到另一个页面。...

    springboot-atomikos 多数据源统一事物管理demo

    在Bean的配置中,指定数据源的JNDI名称以及连接池的相关配置。 6. **启用事务管理**:使用`@EnableTransactionManagement`注解开启Spring的事务管理,并使用`@Transactional`注解标记需要进行事务控制的方法。 7. ...

    java 知识整理笔记

    在Web应用中,资源引用可以通过JNDI(Java Naming and Directory Interface)标准来管理,如在`web.xml`中定义 `&lt;resource-ref&gt;`,指明资源引用名称和类型。例如: ```xml &lt;res-ref-name&gt;jdbc/uim &lt;res-type&gt;...

    JSP 程序设计从入门到精通 PDF 教程

    - 这部分讨论了如何使用JNDI(Java Naming and Directory Interface)来查找和配置RowSet对象。 ##### 6.5 RowSet之实践 - 这部分通过示例介绍了如何在实际开发中使用RowSet对象。 ##### 6.6 本章小结 - 对本章...

Global site tag (gtag.js) - Google Analytics