你Tomcat中数据源怎么设置的?把设置的内容贴出来
解决方案 »
- 求一个基于ssh的通用的新闻发布系统的功能需求
- 求教 :能用一个月时间初步掌握struts也就是javaee 初步的web开发方面
- 请问用jsp或者servlet如何实现即时统计功能?
- 请高手解答getOutputStream()问题
- [在线求助]如下错误信息,请帮忙说一下解决办法,非常谢谢!
- 怎么判断一个字符串都是ascii字符
- 如果有新的短消息,页面上会有图标跳动,这个如何实现?如csdn的论坛
- 主要基于WEB的JAVA程序爱好者技术交流群号284964,愿相互交流,共同学习进步的朋友,请快加,只有30个名额!!~~
- 谁能把asp的for语句(付代码)写成jsp的?
- 插入数据库中文乱码问题
- jacob 读取dll出现下面错误
- 一個簡單的頁面的問題(進來有分!)
1、你得TomCat什么版本!
2、你的SQL Server的SP3打了没有
3、你说在TomCat中配置数据源了,是怎么配置的?用TomCat自带的管理工具还是自己写XML配置的
4、怀疑你是自己写了一个连接池的类,没用TomCat自带的
5、你说在JSP页面测试过,完全没有问题?那现在问题是出在哪个环节?
6、你另外的几个帖子描述的问题和这个贴描述的不太一样呢?
Tomcat4本身有database pools, 下边是Tomcat4关于jdbc pools 的说明,用jndi从pool中得到connection。我一直就用的这个,性能非常好。
JDBC Data Sources
0. Introduction
Many web applications need to access a database via a JDBC driver, to support the functionality required by that application. The J2EE Platform Specification requires J2EE Application Servers to make available a DataSource implementation (that is, a connection pool for JDBC connections) for this purpose. Tomcat 4 offers exactly the same support, so that database-based applications you develop on Tomcat using this service will run unchanged on any J2EE server.For information about JDBC, you should consult the following:http://java.sun.com/products/jdbc/ - Home page for information about Java Database Connectivity.
http://java.sun.com/j2se/1.3/docs/guide/jdbc/spec2/jdbc2.1.frame.html - The JDBC 2.1 API Specification.
http://java.sun.com/products/jdbc/jdbc20.stdext.pdf - The JDBC 2.0 Standard Extension API (including the javax.sql.DataSource API). This package is now known as the "JDBC Optional Package".
http://java.sun.com/j2ee/download.html - The J2EE Platform Specification (covers the JDBC facilities that all J2EE platforms must provide to applications).
NOTE - The default data source support in Tomcat supports Tyrex. However, it is possible to use any other connection pool that implements javax.sql.DataSource, by writing your own custom resource factory, as described below.1. Install Your JDBC Driver
Use of the JDBC Data Sources JNDI Resource Factory requires that you make an appropriate JDBC driver available to both Tomcat internal classes and to your web application. This is most easily accomplished by installing the driver's JAR file(s) into the $CATALINA_HOME/common/lib directory, which makes the driver available both to the resource factory and to your application.2. Declare Your Resource Requirements
Next, modify the web application deployment descriptor (/WEB-INF/web.xml) to declare the JNDI name under which you will look up preconfigured data source. By convention, all such names should resolve to the jdbc subcontext (relative to the standard java:comp/env naming context that is the root of all provided resource factories. A typical web.xml entry might look like this:
<resource-ref> <description> Resource reference to a factory for java.sql.Connection instances that may be used for talking to a particular database that is configured in the server.xml file. </description> <res-ref-name> jdbc/EmployeDB </res-ref-name> <res-type> javax.sql.DataSource </res-type> <res-auth> Container </res-auth></resource-ref>
WARNING - Be sure you respect the element ordering that is required by the DTD for web application deployment descriptors! See the Servlet Specification for details.3. Code Your Application's Use Of This Resource
A typical use of this resource reference might look like this:
Context initCtx = new InitialContext();Context envCtx = (Context) initCtx.lookup("java:comp/env");DataSource ds = (DataSource) envCtx.lookup("jdbc/EmployeeDB");Connection conn = ds.getConnection();... use this connection to access the database ...conn.close();
Note that the application uses the same resource reference name that was declared in the web application deployment descriptor. This is matched up against the resource factory that is configured in $CATALINA_HOME/conf/server.xml, as described below.4. Configure Tomcat's Resource Factory
To configure Tomcat's resource factory, add an elements like this to the $CATALINA_HOME/conf/server.xml file, nested inside the Context element for this web application (or nested inside a DefaultContext element for the surrounding <Host> or <Engine> element.
<Context ...> ... <Resource name="jdbc/EmployeeDB" auth="Container" type="javax.sql.DataSource"/> <ResourceParams name="jdbc/EmployeeDB"> <parameter> <name>user</name> <value>dbusername</value> </parameter> <parameter> <name>password</name> <value>dbpassword</value> </parameter> <parameter> <name>driverClassName</name> <value>org.hsql.jdbcDriver</value> </parameter> <parameter> <name>driverName</name> <value>jdbc:HypersonicSQL:database</value> </parameter> </ResourceParams> ...</Context>
Note that the resource name (here, jdbc/EmployeeDB) must match the value specified in the web application deployment descriptor. Customize the value of the mail.smtp.host parameter to point at the server that provides SMTP service for your network.This example assumes that you are using the HypersonicSQL database JDBC driver. Customize the driverClassName and driverName parameters to match your actual database's JDBC driver and connection URL.