- 浏览: 373543 次
- 性别:
- 来自: 青岛
文章分类
最新评论
-
lippeng:
楼主,你好!这篇中提到的一个话题,是我现在非常关心的,我自己还 ...
使用JUnit测试通过 HttpClient(https协议)访问支付宝接口时不能自动获得证书的解决办法 -
snoopy7713:
[2014-03-14 17:55:06.651] TCP ...
刚完成Struts的Virgo插件,分享一下设计思路和Virgo OSGi内部的独特机制 -
snoopy7713:
需要看一下,你的代码说的挺模糊的。我的联系方式QQ 16200 ...
刚完成Struts的Virgo插件,分享一下设计思路和Virgo OSGi内部的独特机制 -
roronjavaeye:
不错,受教了
java_class反编译后的代码还原 -
daoyongyu:
讲的很好,很详细。
Struts2配置文件详解——struts.properties
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/fenglibing/archive/2009/09/07/4528512.aspx
Author Blog:http://blog.csdn.net/fenglibing
该文是对Tomcat 5.5 JNDI Resource配置的翻译,文章中主要提到对<resource-ref>的配置操作,有我做一些取舍,原文的地址为:
http://tomcat.apache.org/tomcat-5.5-doc/jndi-resources-howto.html
一、简介
在Tomcat 5 中,每个WEB应用程序的初使化环境(InitialContext)可以配置于$CATALINA_HOME/conf/server.xml的<Context>节点中,也可以配置每个WEB应用程序环境(Context)于单独的XML文件中,如将每个WEB应用的配置放于$CATALINA_HOME/conf/Catalina/localhost目录下,名称可以为任意。
Tomcat 5为整个服务维护一个独立的全局资源命名空间,它们被配置于$CATALINA_HOME/conf/server.xml的<GlobalNameingResources>节点,你可以通过使用<ResourceLink>节点开放这些资源给WEB应用程序。
这些定义的资源,可以被定义于你当前的WEB应用的WEB应用布署描述(/WEB-INF/web.xml)文件中的以下节点使用:
l <env-entry> :环境实体(Environment entry),一个单值参数(a single-value parameter)可以用于配置应用程序如何操作。
l <resource-ref>:资源引用(Resource reference),典型的应用为JDBC DataSource、JavaMail Session,或者配置于Tomcat5中的自定义对象工厂。
l <resource-env-ref>:资源环境引用(Resource environment reference),增加于Servlet 2.4中的resource-ref校验,这种可以简化资源配置,不需要授权信息。
InitialContext在WEB应用程序初使化的时候就被配置了,并且可以被WEB应用程序访问(只读的方式),所有配置的实体及资源,都放于JNDI命名空间的"java:comp/env"区。因此一个典型的资源访问,这里指对JDBC DataSource的访问,就像下面这样:
//Obtain our environment naming context
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
//Look up our data source
DataSource ds = (DataSource)
envCtx.lookup("jdbc/EmployeeDB");
//Allocate and use a connection from the pool
Connection conn = ds.getConnection();
... use this connection to access the database ...
conn.close();
二、配置JNDI资源
每个可访问的JNDI资源配置于<Context>节点的如下节点:
l <Environment> - 为scalar environment实体配置名称及值,这些实体通过JNDI InitialContext开发给WEB应用程序(与在WEB应用布署描述文件(/WEB-INF/web.xml)中增加<env-entry>节点配置相同)。
l <Resource> - 配置应用于WEB应用程序的资源名称及数据类型(与在WEB应用布署描述文件(/WEB-INF/web.xml)中增加<resource-ref>节点配置相同)。
l <ResourceLink> - 为定义于全局JNDI环境中的资源增加链接,这些资源链访问定义于<Server>节点下的<GlobalNamingResources>的资源。
l <Transaction> - 为在java:comp/UserTransaction中有效的初使化UserTransaction对象实例增加资源工厂。
三、TOMCAT标准资源工厂
Tomcat 5 包括一系列的标准资源工厂,它们可以为你的WEB应用程序提供服务,并且配置灵活(配置于$CATALINA_HOME/conf/server.xml),不需要修改WEB应用程序及布署描述。
注意:在标准资源工厂中,只有"JDBC Data Source"及"User Transaction"工厂可以移植到其它非TOMCAT平台,其它的标准资源工厂,包括你编写的自定义资源工厂,都只可以在TOMCAT下运行,不可以移植到其它的平台。
JDBC数据源
1、安装JDBC驱动
将JDBC驱动放于目录$CATALINA_HOME/common/lib
2、/WEB-INF/web.xml增加配置
<resource-ref>
<description>JDBC数据源配置实例</description>
<res-ref-name>jdbc/TestDB</res-ref-name>
<res-type>javax.sql.DataSource </res-type>
<res-auth>Container</res-auth>
</resource-ref>
3、配置TOMCAT资源工厂
<Context ...>
...
<Resource name="jdbc/TestDB" auth="Container"
type="javax.sql.DataSource"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
username="dbusername" password="dbpassword"
driverClassName="net.sourceforge.jtds.jdbc.Driver"
url="jdbc:jtds:sqlserver://testServer:1433/DB"
maxActive="8" maxIdle="4"/>
...
</Context>
相关属性说明:
name:JDBC数据源的名称。
auth:
type:当前配置资源的类别。
factory:数据源工厂,默认为"org.apache.commons.dbcp.BasicDataSourceFactory"。
driverClassName - 驱动的全路径类名。
maxActive - 当前数据源支持的最大并发数。
maxIdle - 连接池中保留最大数目的闲置连接数。
maxWait - 当连接池中无连接时的最大等待毫秒数,在等当前设置时间过后还无连接则抛出异常。
username - 访问数据库的用户名
password - 访问数据库的密码
url - JDBC驱动的连接字符串
validationQuery - 在返回应用之前,用于校验当前连接是否有效的SQL语句,如果指定了,当前查询语句至少要返回一条记录。
4、实例JAVA程序
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource)
envCtx.lookup("jdbc/TestDB");
Connection conn = ds.getConnection();
... use this connection to access the database ...
conn.close();
JavaMail Session
Tomcat 5 包括一个标准的、用于创建javax.mail.Session session实例的资源工厂,该工厂将会自动连接配置于server.xml中的SMTP服务器。在这种情况下,具体的应用完全不用去管email服务的配置环境,只需要在需要的时候,做简单的请求、获取预配置的session。
1、安装JAR包
点击这里下载JavaMail的JAR包,JavaMail依赖于Java Activation Framework,因而也需要下载。
2、在web.xml配置
<resource-ref>
<description>JavaMail配置</description>
<res-ref-name>mail/Session</res-ref-name>
<res-type>javax.mail.Session</res-type>
<res-auth>Container</res-auth>
</resource-ref>
3、配置$CATALINA_HOME/conf/server.xml
<Context ...>
...
<Resource name="mail/Session" auth="Container"
type="javax.mail.Session"
mail.smtp.host="localhost"/>
...
</Context>
注:默认的邮件服务端口为25,如果不是,则需要修改mail.smtp.host属性为指定的主机,如mail.smtp.host="localhost:26"。
4、JAVA示例程序
......
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
Session session = (Session) envCtx.lookup("mail/Session");
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(request.getParameter("from"));
InternetAddress to[] = new InternetAddress[1];
to[0] = new InternetAddress(request.getParameter("to"));
message.setRecipients(Message.RecipientType.TO, to);
message.setSubject(request.getParameter("subject"));
message.setContent(request.getParameter("content"), "text/plain");
Transport.send(message);
......
发表评论
-
java_class反编译后的代码还原
2012-03-18 00:06 1782java class 利用jad 反编译之后,偶尔回碰到 ... -
ThreadLocal的几种误区
2012-01-10 09:48 886最近由于需要用到ThreadLocal,在网上搜索 ... -
深入解析OGNL投影
2011-12-16 15:15 1909先看这个表达式:list.{#me=#this,#root.m ... -
浅谈JAVA ThreadPoolExecutor
2011-01-28 16:36 1334这篇文章分为两部分 ... -
ant echo message 特殊字符转换
2011-01-27 11:54 1729< < > &a ... -
hibernate------hql总结
2010-08-24 12:52 8581. 查询整个映射对象所 ... -
log4j additivity 作用
2010-08-11 22:15 1977log4j.rootLogger=debug,stdout ... -
Log4j 集群环境下的 处理方案
2010-08-11 21:17 3220需求:近期有个项目要 ... -
构建Java并发模型框架
2010-07-12 17:04 919Java的多线程特性为构建 ... -
Java 程序中的多线程
2010-07-12 17:03 821由于在语言级提供了线 ... -
JAVA 线程 基础概念
2010-07-12 17:00 1036Java 有几程方法可以实 ... -
在 Java 平台上进行多线程编程的缺陷
2010-07-12 16:58 971Java 语言的并发编程 就其自身来说,并发编程是一种 ... -
c3p0-0.9.1.2数据库连接池
2010-06-17 11:46 1382C3PO是一个开放源代码的JDBC数据源实现项目,它在li ... -
Axis2快速上手指南
2010-06-03 17:59 820http://hideto.iteye.com/blog/56 ... -
C3P0连接池详细配置与实现
2010-05-31 17:33 1052<c3p0-config> <defau ... -
实例讲解:JAVA SOAP技术
2010-05-25 18:19 2388Very Simple Object Access Proto ... -
SSH2 jar
2010-05-21 14:51 1696在JavaEE企业级开发中, ... -
让httpclient接受所有ssl证书https 分享
2010-04-29 11:21 5096访问https 资源时,让httpclient接受所有ssl证 ... -
使用JUnit测试通过 HttpClient(https协议)访问支付宝接口时不能自动获得证书的解决办法
2010-04-29 11:17 5256最近在做一个通过 HttpCl ... -
httpclient关于https的使用
2010-04-29 11:04 2817用了大半天时间才了解如何使用httpclient来进行 ...
相关推荐
Tomcat 5.5中的DBCP配置涉及到添加依赖库、创建数据源配置文件、配置Tomcat服务器和在应用程序中使用JNDI查找数据源。通过这些步骤,可以实现高效且可扩展的数据库连接管理,为Web应用提供稳定的数据库访问支持。在...
### Tomcat5.5连接池配置详解 #### 一、引言 在现代软件开发过程中,数据库连接管理是一项至关重要的任务。为了提高系统的性能和稳定性,合理地管理和复用数据库连接资源是必不可少的。Apache Tomcat 作为一种广泛...
### hibernate 3.1+tomcat 5.5.x(配置jndi) #### 一、引言 随着Tomcat从5.0版本升级到5.5.x版本,其配置发生了诸多变化,特别是对Tomcat JNDI的配置方式产生了显著的影响。这对希望在Hibernate安装中利用Tomcat ...
【标题】:“Hibernate 3.1+Tomcat 5.5.X(配置JNDI篇)” 【描述】:文章介绍了在Tomcat 5.5.X版本中如何配置Hibernate 3.1,特别是关于JNDI(Java Naming and Directory Interface)的设置方法。 【标签】:...
通过这份"Tomcat5.5连接池配置案例",新手可以系统学习并掌握如何在Tomcat环境中配置和使用连接池,提升应用的数据库访问效率。同时,案例笔记将帮助理解每个步骤背后的原理和最佳实践,从而更好地应对实际开发中的...
通过以上配置,Tomcat 5.5已经成功设置了数据源,应用可以通过JNDI查找并使用这个数据源来建立与数据库的连接。这种方式不仅方便了数据库连接的管理,还优化了系统性能,因为连接可以在使用后被放回连接池,而不是...
在Tomcat 5.5.x版本中,`server.xml`是服务器的主要配置文件,它包含了关于服务器设置、连接器、容器以及其他关键组件的配置信息。本篇文章将详细解释如何在`server.xml`中配置域名转向和连接池。 ### 域名转向...
【Tomcat5.5数据源配置详解】 在Java Web开发中,Tomcat作为轻量级应用服务器,常常被用于部署Web应用程序。为了连接数据库,我们需要配置数据源(DataSource)。本篇将详细介绍如何在Tomcat 5.5版本中配置数据源,...
在本教程中,我们将深入探讨如何安装和配置Tomcat5.5,以及它所包含的数据库连接池管理模块。 首先,了解Tomcat5.5的基础知识是至关重要的。Tomcat5.5基于Servlet 2.4和JSP 2.0规范,提供了一个轻量级的运行环境,...
Tomcat 5.5版本虽然较旧,但理解其数据库连接池的配置对于学习和维护旧系统仍然至关重要。数据库连接池是管理数据库连接的一种机制,它能有效地复用数据库连接,提高系统的性能和资源利用率。以下将详细讲解Tomcat ...
以下是一种在Tomcat 5.5上配置JNDI数据源的详细步骤: 1. **放置驱动程序**: 将对应的数据库驱动JAR文件(如:ms-jdbc驱动或任何其他数据库的JDBC驱动)放入Tomcat安装目录下的`common/lib`文件夹,确保服务器...
本文将深入探讨如何在Tomcat 5.5版本中配置数据库连接池,以便高效地管理数据库连接,提高系统的响应速度和资源利用率。 首先,我们需要了解什么是数据库连接池。数据库连接池是在应用服务器启动时创建的一组预定义...
Tomcat 5.5.x版本虽然相对较老,但依然有很多项目在运行,因此了解如何在该版本下配置连接池是至关重要的。连接池是一种管理数据库连接的技术,它能够有效地复用数据库连接,减少创建和销毁连接的开销,提高系统性能...
### Tomcat 5.5 配置 MySQL 数据库连接池详解 #### 一、引言 随着Web应用程序的发展,数据库连接池技术的应用越来越广泛。它能够显著提高数据库访问效率,减少资源消耗。Tomcat作为一款广泛应用的Java Web容器,...
标题中的“Tomcat6.0配置JNDI数据源完整例子”是指在Apache Tomcat 6.0服务器中设置Java Naming and Directory Interface (JNDI)数据源的过程。JNDI是一个API,它允许应用程序查找和使用命名服务,如数据库连接池。...
<title>Tomcat5.5连接池测试 try { Context initCtx = new InitialContext(); Context envCtx = (Context) initCtx.lookup("java:comp/env"); DataSource ds = (DataSource) envCtx.lookup("jdbc/...
### Tomcat 5.5 + SQL Server 2000 数据库连接池配置详解 本文旨在详细介绍如何在Tomcat 5.5环境下配置SQL Server 2000的数据库连接池,解决常见的连接问题,并确保应用程序能够高效稳定地运行。 #### 一、环境...