- 浏览: 277976 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
plg17:
properties文件中文自动转码问题确实给开发带来不便,按 ...
eclipse .properties插件 -
sorriest-siben:
帅哥,你的例子是不是笔误了呀应该是这样的吧<result ...
struts2 redirect 传参数 -
Masket874:
沙发。。。。。
session的监听器 -
spp_1987:
<%@page import="java.ne ...
jsp输出静态的图片 -
spp_1987:
如何 限制输出图片大小。 还有我的后台报错 出来一个异常:
严 ...
jsp输出静态的图片
使用tomcat6,mysql6
1)添加jar包
tomcat6中 TOMCAT_HOME/lib 下是公用jar包
dbcp需要3个jar包:Jakarta-Commons DBCP,Jakarta-Commons Collections,Jakarta-Commons Pool,
但是tomcat6已经用1个tomcat-dbcp.jar包含了这3个jar包,该包在 TOMCAT_HOME/lib 下,因此在tomcat下不需要再添加dbcp相关的3个包;
将mysql-connector-java-5.1.6-bin.jar 拷贝到 TOMCAT_HOME/lib 下;
2)添加数据源
在 TOMCAT_HOME/conf/context.xml 中 添加数据源:
<!-- The contents of this file will be loaded for each web application --> <Context> <!-- Default set of monitored resources --> <WatchedResource>WEB-INF/web.xml</WatchedResource> <!-- Uncomment this to disable session persistence across Tomcat restarts --> <!-- <Manager pathname="" /> --> <!-- Uncomment this to enable Comet connection tacking (provides events on session expiration as well as webapp lifecycle) --> <!-- <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" /> --> <Resource name="jdbc/test" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="root" password="password" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/testit?autoReconnect=true"/> </Context>
3)在web.xml 中引用数据源
<?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-app_2_4.xsd" version="2.4"> <display-name>JNDI Test</display-name> <description>A test for using of JNDI</description> <resource-ref> <description>DB Connection</description> <res-ref-name>jdbc/test</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> <welcome-file-list> <welcome-file>index.jsp</welcome-file> <welcome-file>index.html</welcome-file> </welcome-file-list> </web-app>
4)在jsp(或java)中使用数据源
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <sql:query var="rs" dataSource="jdbc/test"> select * from test </sql:query> <html> <head> <title>DB Test</title> </head> <body> <h2>Results</h2> <c:forEach var="row" items="${rs.rows}"> id ${row.id}<br/> str ${row.str}<br/> </c:forEach> </body> </html>
5)tomcat的jndi实用类
package dbcp; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.sql.DataSource; /** * @author space * @date Aug 12, 2008 12:57:30 PM */ public class TomcatDbcp { private static Context CTT; static { try { CTT = (Context) new InitialContext().lookup("java:comp/env"); } catch (NamingException e) { e.printStackTrace(); throw new RuntimeException("jndi 数据源加载失败!"); } } /** 默认构造函数,没有创建数据源 */ public TomcatDbcp() { } /** 参数是数据源名,创建数据源 */ public TomcatDbcp(String resourceName) { setDs(resourceName); } private DataSource ds; public void setDs(String resourceName) { try { ds = (DataSource) CTT.lookup(resourceName); } catch (NamingException e) { e.printStackTrace(); throw new RuntimeException("jndi 数据源创建失败!"); } } private Connection conn; /** 其它类通过该方法调用 conn */ public Connection getConn() { return conn; } /** 初始化conn */ public void initConn() { try { conn = ds.getConnection(); } catch (SQLException e) { e.printStackTrace(); System.out.println("获得连接失败!"); } } /** 关闭conn */ public void closeConn() { try { if (conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } public static void main(String[] args) { TomcatDbcp td = new TomcatDbcp("jdbc/test"); td.initConn(); try { Statement stmt = td.getConn().createStatement(); ResultSet rs = stmt.executeQuery("select * from test limit 1 "); rs.first(); System.out.println("id:" + rs.getInt(1) + ", str:" + rs.getString(2)); td.closeConn(); } catch (SQLException e) { e.printStackTrace(); } } }
6)jsp中调用tomcat dbcp实用类
<%@ page language="java" import="dbcp.TomcatDbcp ,java.sql.*" %> <html> <head> <title>DB Test</title> </head> <body> <h2>Results</h2> <hr/> <% TomcatDbcp td = new TomcatDbcp("jdbc/test"); td.initConn(); try { Statement stmt = td.getConn().createStatement(); ResultSet rs = stmt.executeQuery("select * from test limit 1 "); rs.first(); out.println("id:" + rs.getInt(1) + ", str:" + rs.getString(2)); td.closeConn(); } catch (SQLException e) { e.printStackTrace(); } %> </body> </html>
发表评论
-
小学数学竞赛题:1-9 填充 3 * 3 格
2009-07-15 14:27 1908用 java 实现这么 一道 小学数学竞赛题: 用1-9 ... -
事务 transaction
2009-04-21 15:32 1146事务 即 transaction 是个什么概念,又为什么有事务 ... -
struts2 redirect 传参数
2009-04-14 12:40 3771struts2 redirect 时如果想传参数示例如下,注意 ... -
eclipse .properties插件
2008-12-30 10:32 26521资源文件 即 .properties ... -
hql oracle 比较 日期时间
2008-12-25 10:58 13921oracle 里比较date类型时 ... -
单例模式-简单示范
2008-11-01 16:56 1314======所谓单例模式====== 即项目中某个类,只生成1 ... -
一道有关 变量、对象 作用域的java面试题
2008-11-01 16:50 1311这道java面试题,主要考了以下2点: * 变量、对象 作 ... -
struts2.0.11.2 的 validator 功能的 1个bug
2008-10-08 16:38 3385今天又用了一下struts2的validator功能,也就是校 ... -
log4j 配置详解
2008-10-06 19:22 4119转载 自 http://zhang-hong-cai-sina ... -
security 获得登陆用户
2008-10-06 19:00 2488如何在 security 中 获得 user 信息?由 sec ... -
java 反编译
2008-09-30 00:08 1485有时候需要将现有的 java 类,即 .class 文件编译成 ... -
acegi 的 session 控制 和 自定义的 remember-me 功能 冲突解决
2008-09-22 11:29 1730将 org.acegisecurity.context.Htt ... -
jsp输出静态的图片
2008-09-19 16:14 66022个方式,jsp中直接输出静态图片: img.jsp &l ... -
jstl core
2008-09-16 12:24 1674jstl core 的标签使用 jstl-core.jsp ... -
jstl fmt
2008-09-12 15:44 382631)导入jstl 包,加载ftm标签 首先将jstl的jar包 ... -
session 过期时间设置
2008-09-10 18:08 8077原文地址:http://hailan1987.blog ... -
session的监听器
2008-09-10 17:35 2760javax.servlet.http.HttpSession ... -
eclipse 快捷键
2008-09-03 15:00 62191)设置eclipse的快捷键 打开eclipse,Windo ... -
ant 风格的 url 匹配
2008-08-21 14:33 4322转载自:http://hi.baidu.com/xiaolan ... -
DBCP使用
2008-08-12 16:09 17887dbcp使用--------------------dbcp提 ...
相关推荐
通过JNDI配置数据源,使得数据库连接可以在多个应用之间共享,简化了应用的配置,同时提高了系统的可扩展性和可维护性。在实际开发中,还可以使用更高级的连接池实现,如C3P0、Apache DBCP2或HikariCP,它们提供了更...
本教程将详细讲解如何在Tomcat 6.0中配置数据源(DBCP)以及如何利用JNDI(Java Naming and Directory Interface)进行服务查找。首先,我们需要了解这两个概念的基础知识。 DBCP(Database Connection Pool)是...
Tomcat JNDI 配置 Tomcat JNDI 配置是 Java Web 应用程序中的一种常见配置,用于将数据库连接信息以 JNDI(Java Naming and Directory Interface)的形式存储在 Tomcat 服务器中,以便于应用程序可以通过 JNDI 来...
### Tomcat6中配置JNDI方法详解 #### 一、引言 在Java Web开发过程中,连接数据库是一项基础而重要的工作。常见的连接方式包括直接使用JDBC(Java Database Connectivity)以及通过JNDI(Java Naming and Directory...
在Java应用服务器中,如Tomcat 6.0,配置JNDI(Java Naming and Directory Interface)的DBCP(Database Connection Pool)连接池是管理数据库连接的重要步骤。JNDI是一个标准接口,允许应用程序查找和访问命名服务...
Tomcat 5.5中的DBCP配置涉及到添加依赖库、创建数据源配置文件、配置Tomcat服务器和在应用程序中使用JNDI查找数据源。通过这些步骤,可以实现高效且可扩展的数据库连接管理,为Web应用提供稳定的数据库访问支持。在...
JNDI配置数据源是将数据库连接池集成到Tomcat中的重要步骤,这样可以提高应用的性能和可维护性。下面我们将详细介绍如何在Tomcat中通过JNDI配置数据源。 首先,我们需要了解数据源是什么。数据源是一个对象,它管理...
在Tomcat这样的Servlet容器中配置DBCP,可以优化应用程序的性能,减少由于创建和销毁数据库连接而产生的开销。以下是一个详细的DBCP在Tomcat中的配置方法。 首先,我们需要了解数据库连接池的基本概念。数据库连接...
综上所述,这个文档主要讲述了如何在Tomcat服务器上,通过Hibernate和JNDI数据源配置,使用DBCP连接池连接MySQL数据库。尽管Hibernate官方并不推荐使用DBCP,但文档仍然提供了详细的配置步骤,包括环境准备、数据库...
可以通过JNDI配置数据源,实现数据库连接的高效管理和复用。 **三、JNDI的安全考虑** 1. **权限控制**:JNDI资源的访问应该受到严格的权限控制,防止未经授权的访问和滥用。 2. **防止注入攻击**:在进行JNDI查找...
配置Tomcat的DBCP数据源通常涉及以下几个步骤: 1. **添加依赖**:确保你的项目已经包含DBCP的依赖库。在Maven项目中,可以在pom.xml文件中添加如下依赖: ```xml <groupId>commons-dbcp <artifactId>commons-...
对于源码分析,Tomcat的数据源实现主要依赖于`org.apache.tomcat.dbcp.dbcp2.BasicDataSource`类,它是Apache Commons DBCP库的一部分。这个类提供了配置数据源的各种属性,并实现了`javax.sql.DataSource`接口,...
2. **JNDI配置** - 在应用服务器(如Tomcat)的`context.xml`或`server.xml`中注册JNDI数据源,将`BasicDataSource`实例绑定到一个JNDI名称下。 - 这样,应用可以通过JNDI查找这个数据源,而不是直接在代码中创建...
在Tomcat 6这样的Servlet容器中配置JNDI,可以让应用程序更加模块化,易于管理和维护。本文将详细介绍在Tomcat 6下配置JNDI连接池的步骤。 首先,我们需要创建一个Web项目。在这个例子中,我们将项目命名为`...
首先,我们需要理解Tomcat中的JNDI配置。JNDI允许我们将资源(如数据源)注册到一个全局命名空间中,这样其他应用组件可以通过名称来查找和使用这些资源。在Tomcat中,我们主要在`server.xml`配置文件中定义这些资源...
在本文档中,我们将详细探讨如何在Tomcat环境下使用SpringMVC与JNDI配置数据源。 #### 二、Tomcat配置JNDI的三种方式 ##### 1. 单个应用独享数据源 在Tomcat的`server.xml`中为特定的应用程序配置专用的数据源,...
总之,通过配置Tomcat的dbcp数据库连接池,可以有效地管理数据库连接,提升系统的响应速度和稳定性。在具体使用过程中,开发者需要充分理解连接池的工作原理,并根据实际需求灵活配置。同时,也要注意监控和维护,...
1. "tomcat7.0配置JNDI数据源的几种方式.docx" - 这个文档可能详细介绍了在Tomcat 7.0中设置JNDI数据源的不同方法,包括XML配置、Context元素的使用、以及可能的第三方库(如Apache DBCP或C3P0)集成。 2. "tomcat...
### JNDI配置详解 #### 一、JNDI简介 Java Naming and Directory Interface (JNDI) 是一种为应用程序提供命名和目录服务的 Java API。它允许开发人员以一致的方式访问多种命名和目录服务,如 DNS、LDAP 和 RMI 等...
例如,Tomcat、JBoss等应用服务器都支持JNDI配置C3P0、DBCP等连接池。 4. DBCP(Database Connection Pool): DBCP是Apache Commons的一个项目,基于Jakarta-pool实现的数据库连接池。它简单易用,但相比于C3P0和...