- 浏览: 258049 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (289)
- java (72)
- oracle (3)
- mysql (5)
- spring (28)
- hibernate (2)
- osgi (0)
- linux (2)
- ExtJs (1)
- jvm (0)
- mybatis (7)
- 分布式 (11)
- MINA (6)
- apache+tomcat (13)
- js+htm (7)
- android (44)
- http (1)
- hbase+hdoop (0)
- memcache (13)
- search (27)
- 部署及性能 (12)
- mongoDB (2)
- 多线程 (12)
- 安全管理验证 (9)
- struts (1)
- webservice (0)
- easyUI (1)
- spring security (16)
- pattern (6)
- 算法 (2)
最新评论
-
lzh8189146:
CommonsHttpSolrServer这个类,现在是不是没 ...
CommonsHttpSolrServer -
xiaochanzi:
我按照你的方法试了下,tomcat6可以发布,但是访问任何网页 ...
基于内嵌Tomcat的应用开发 -
phoneeye:
麻烦你,如果是抄来的文章,请给出来源。谢谢
ant 两则技巧 -
neverforget:
转载不注明出处
Spring Security3.1登陆验证 替换 usernamepasswordfilter -
liang1022:
若不使用eclipse ,如何在命令行下 运行服务端程序 ?
WebService CXF学习(入门篇2):HelloWorld
-
Tomcat4.1.24 (其它版本也可以,原理相通的)
-
确认在%Tomcat _Home%/common/lib下有commons-collections.jar、commons-dbcp.jar、commons-pool.jar包(tomcat默认有这些包),如果没有,请到此地下载:http://tomcat.apache.org/ 。这三个包是必需的。
-
下载相应数据库驱动,放在%Tomcat _Home%/common/lib下。本例以oracle数据库为例,使用的驱动包为:ojdbc14.jar
-
数据库为Oracle9i
-
确认在%Tomcat _Home%/common/lib下有jndi.jar、dbc2_0-stdext.jar(tomcat默认有这些包)。
注意:oracle9i以上加载此驱动,而其它版本加载:racle.jdbc.OracleDriver
|
<value>oracle.jdbc.driver.OracleDriver</value>
属性
|
描述
|
name
|
指定Resource的JNDI的名字
|
auth
|
指定管理Resource的Manager,由两个可选值:Container和Application。Container表示由容器来创建和管理Resource,Application表示由WEB应用来创建和管理Resource。如果在web application deployment descriptor中使用<resource-ref>,这个属性是必需的,如果使用<resource-env-ref>,这个属性是可选的。
|
type
|
指定Resource所属的java类名
|
属性
|
描述
|
name
|
指定ResourceParams的JNDI的名字,必须和Resource的name保持一致
|
factory
|
指定生成DataSource对象的factory的类名
|
maxActive
|
指定数据库连接池中处于活动状态的数据库连接最大数目,0表示不受限制
|
maxIdle
|
指定数据库连接池中处于空闲状态的数据库连接的最大数目,0表示不受限制
|
maxWait
|
指定数据库连接池中的数据库连接处于空闲状态的最长时间(单位为毫秒),超过这一事件,将会抛出异常。-1表示可以无限期等待。
|
username
|
指定连接数据库的用户名
|
password
|
指定连接数据库的密码
|
driverClassName
|
指定连接数据库的JDBC驱动程序
|
url
|
指定连接数据库的URL
|
<descryiption>DB Connection</descryiption>
<res-ref-name> jdbc/myoracle </res-ref-name>
<res-type>javax.sql.DataSource </res- type>
<res-auth>Container </res-auth>
</resource-ref>
属性
|
描述
|
description
|
对所引用的资源的说明
|
res-ref-name
|
指定所引用资源的JNDI名字,与<Resource>元素中的name属性保持一致
|
res-type
|
指定所引用资源的类名字,与<Resource>元素中的type属性保持一致
|
res-auth
|
指定所引用资源的Manager,与<Resource>元素中的auth属性保持一致
|
<%@ page import="java.sql.*"%>
<%@ page import="javax.naming.*"%>
<%@ page import="javax.sql.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD
HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<%
Context initContext = new InitialContext();
Context envContext = (Context) initContext.lookup("java:/comp/env");
DataSource db = (DataSource)envContext.lookup("jdbc/myoracle ");
Connection conn = db.getConnection( );
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM test");
while(rs.next()){
out.print(rs.getString("admin_name")+" ");
out.print(rs.getString("admin_password")+"<br>");
}
rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
此属性必需
|
<name>factory</name> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
注意:oracle9i以上加载此驱动,而其它版本加载:racle.jdbc.OracleDriver
|
<name>driverClassName</name>
由于我们配置的是容器全局数据源,因此所有的应用都可以引用这个数据源。在你的应用中建立引用,在<Context></Context>之间输入以下粗体部分:
<Context path="/Exercise001" reloadable="true" docBase="D:/eclipse/workspace/Exercise001" workDir="D:/eclipse/workspace/Exercise001/work/org/apache/jsp" >
type="javax.sql.DataSource"/>
<descryiption>DB Connection</descryiption>
<res-ref-name>myDB</res-ref-name>
<res-type>javax.sql.DataSource </res- type>
<res-auth>Container </res-auth>
</resource-ref>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.naming.*"%>
<%@ page import="javax.sql.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD
HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<%
Context initContext = new InitialContext();
Context envContext = (Context) initContext.lookup("java:/comp/env");
DataSource db = (DataSource)envContext.lookup("myDB ");//名称与web.xml配置中的一致
Connection conn = db.getConnection( );
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM test");
while(rs.next()){
out.print(rs.getString("admin_name")+" ");
out.print(rs.getString("admin_password")+"<br>");
}
rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
发表评论
-
tomcat 学习
2012-05-28 08:39 568http://blog.163.com/haizai219@1 ... -
xml加载顺序
2012-05-28 08:38 601http://czb128abc.blog.163.com/b ... -
tomcat eclipse 启动 设置 JAVA_HOME
2012-04-14 19:12 916对于使用IDE开发的程序员来讲,并不是所有人都对自己用来 ... -
Tomcat DBCP 连接池参数列表
2012-04-12 08:02 718Tomcat DBCP 连接池参数列表 分 ... -
在J2EE Web 应用中使用基于CAPTCHA 的授权模块
2012-04-06 08:49 1003在J2EE Web 应用中使用基于CAPTCHA 的授权 ... -
[转载]Tomcat类加载机制
2012-03-29 08:32 533[转载]Tomcat类加载机制 To ... -
基于内嵌Tomcat的应用开发
2012-03-20 08:15 3907基于内嵌Tomcat的 ... -
Tomcat6 中使用Jndi获取数据库连接
2012-03-20 08:15 873很久没有使用jndi进行开发了,近期有个老的项目维护发 ... -
Tomcat与Java Web开发技术详解
2012-02-14 13:02 1229转载:http:// ... -
apache workers.properties
2012-02-12 18:53 1467[转]http://hi.baidu.com/youdia ... -
apache+tomcat 集成 下载jk
2012-02-12 18:09 642http://mirror.bjtu.edu.cn h ... -
Apache+Tomcat集群配置负载均衡器
2012-02-12 12:50 1331首先非常感谢这位朋友发的帖子。这也是让我成功的让Apache和 ...
相关推荐
5. **GlobalNamingResources(全局命名资源)**:这是一个容器级别的命名上下文,可以存放如数据源、JMS队列等资源,这些资源可以在整个Tomcat实例中被多个Web应用程序共享。 6. **Realm(域)**: Realm是Tomcat的...
下面我们将详细解析Tomcat的核心架构及其工作原理。 1. **Catalina组件** - **Catalina** 是Tomcat的主要组成部分,负责Servlet和JSP的处理。它实现了Java Servlet和JavaServer Pages(JSP)规范,使得开发者可以...
- 定义数据源。 - 配置环境变量。 #### 四、Tomcat架构及常用组件 - **Server组件** - **定义**:`Server`是Tomcat的顶层容器,它代表了整个服务器实例。 - **属性**: - **port**:接收shutdown指令的端口号...
本书详细介绍了Tomcat 4.1.12和5.0.18两个版本的内部结构与运作原理,尤其着重于解释Catalina——Tomcat的Servlet容器的核心组成部分。 #### 二、Tomcat的复杂性及组成 Tomcat作为一个功能强大的应用服务器,其...
2. **配置数据源** - 登录到Tomcat的管理界面,找到目标Web应用的数据源配置项。 - 选择新建数据源,设置连接URL、用户名和密码等必要信息。 - 完成配置后,保存并提交更改。 3. **验证配置** - 通过JBuilder...
4. **JNDI**:Java Naming and Directory Interface (JNDI) 提供了一个查找和访问各种命名和目录服务的接口,Tomcat利用JNDI来管理资源,如数据源、邮件会话等。 5. **Cluster**:如果需要实现高可用性和负载均衡,...
在Tomcat中,Web应用的部署主要由`HostConfig`完成,它解析`WEB-INF/web.xml`来创建`Context`对象。`StandardContext`类是`Context`的具体实现,负责管理Servlet和JSP的生命周期。`WebappClassLoader`则负责加载应用...
【标题】:“解析Tomcat处理请求的类Connector<三>” 在Java的Web服务器领域,Tomcat无疑是最为广泛使用的轻量级应用服务器之一。它以其开源、免费、高效的特点深受开发者喜爱。在这个系列的第三部分,我们将深入...
这些JAR文件对于理解Tomcat的工作原理及其与Java应用的交互至关重要。以下是对每个文件的详细解释: 1. **jasper-jdt.jar**:这个JAR文件包含了JSP编译器,它使用Eclipse的JDT(Java Development Toolkit)来将JSP...
《深入剖析Tomcat 9.0...通过对Tomcat 9.0源码的深入学习,开发者不仅可以理解Web服务器的工作原理,还能优化性能、解决运行时问题,甚至参与到Tomcat的开发和贡献中。这是一项对Java Web开发者极具价值的技术探索。
#### 原理解析 ##### SHA1PRNG算法简介 `SHA1PRNG`算法是一种基于SHA-1哈希算法的安全伪随机数生成器。其主要特点是生成的随机数序列具有较强的保密性。在Java中,`SecureRandom`类提供了创建安全随机数的方法,而`...
以下是一些关键的jar包及其在Tomcat源码运行中的作用: 1. **servlet-api.jar**:这个jar包包含了Servlet API的接口和类,如`javax.servlet.Servlet`、`javax.servlet.http.HttpServlet`等,是开发和运行Servlet...
本篇文章将深入探讨Tomcat的系统框架及其启动流程,帮助读者理解其内部工作原理。 一、Tomcat系统框架 1. **Catalina核心组件**:Catalina是Tomcat的主要组成部分,负责处理Servlet和JSP。它包含了Engine、Host、...
- **context.xml**:环境配置文件,主要用于配置数据源,即数据库连接池的设置。 - **tomcat-users.xml**:用户与权限配置文件,定义了哪些用户可以访问Tomcat管理界面,并分配相应的权限。 ##### 3. Lib目录 - *...
这个压缩包包含了Tomcat6的源代码,对于开发者来说,它是一个深入了解Tomcat工作原理和优化Web应用性能的宝贵资源。下面我们将逐一解析压缩包中的文件,揭示其背后的知识点。 1. `.classpath`:这是一个Eclipse项目...
1. 加载全局JNDI资源:Tomcat会解析`conf/server.xml`配置文件,加载全局的JNDI资源,如数据源、连接池等。 2. 初始化Service组件:每个Service在`server.xml`中定义,包含至少一个Engine(容器)用于处理HTTP请求...
在解析XML文件时,通常会用到DOM4J这类第三方的XML解析库,它能够快速解析XML文档并提供丰富的API进行节点查询和数据提取。在给定的代码中,使用了SAXReader类来读取并解析web.xml文件。首先创建一个SAXReader对象,...
7. **JNDI服务**:Tomcat提供了JNDI(Java Naming and Directory Interface)服务,允许应用通过名字查找资源,如数据源或邮件会话。 8. **连接器与协议**:Coyote连接器支持HTTP和AJP协议,解析HTTP请求并生成响应...