honzeland

          記錄點滴。。。

          常用鏈接

          統計

          Famous Websites

          Java

          Linux

          P2P

          最新評論

          How do I use DataSources with Tomcat?

          ZZ from: http://wiki.apache.org/tomcat/UsingDataSources

          When developing J2EE web applications, the task of database connection management can be daunting. Best practice involves using a J2EE DataSource to provide connection pooling, but configuring DataSources in web application servers and connecting your application to them is often a cumbersome process and poorly documented.

          The usual procedure requires the application developer to set up a DataSource in the web application server, specifying the driver class, JDBC URL (connect string), username, password, and various pooling options. Then, the developer must reference the DataSource in his application's web.xml configuration file, and then access it properly in his servlet or JSP. Particularly during development, setting all of this up is tedious and error-prone.

          With Tomcat 5.5, the process is vastly simplified. Tomcat allows you to configure DataSources for your J2EE web application in a context.xml file that is stored in your web application project. You don't have to mess with configuring the DataSource separately in the Tomcat server.xml, or referencing it in your application's web.xml file. Here's how:

          Install the JDBC Driver

          Install the .jar file(s) containing the JDBC driver in Tomcat's common/lib folder. You do not need to put them in your application's WEB-INF/lib folder. When working with J2EE DataSources, the web application server manages connections for your application.

          Create META-INF/context.xml

          In the root of your web app directory structure, create a folder named META-INF (all caps). Inside that folder, create a file named context.xml that contains a Resource like this:

          <?xml version="1.0" encoding="UTF-8"?>

          <Context>

          <Resource name="jdbc/WallyDB" auth="Container"
          type="javax.sql.DataSource" username="wally" password="wally"
          driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
          url="jdbc:sqlserver://localhost;DatabaseName=mytest;SelectMethod=cursor;"
          maxActive="8"
          />

          </Context>

          This example shows how to configure a DataSource for a SQL Server database named mytest located on the development machine. Simply edit the Resource name, driverClassName, username, password, and url to provide values appropriate for your JDBC driver.

          Access the DataSource in Your Application

          From a Servlet

          Here's how you might access the data in a servlet:

            InitialContext ic = new InitialContext();
          DataSource ds = (DataSource) ic.lookup("java:comp/env/jdbc/WallyDB");
          Connection c = ds.getConnection();
          ...
          c.close();

          Notice that, when doing the DataSource lookup, you must prefix the JNDI name of the resource with java:comp/env/

          Sample Project

          Here's a sample web application project that shows where all the files go. This one shows how to access data from from a JSP page: datasourcedemo.war

          Known-Working examples for other Databases

              <Resource name="jdbc/denali" auth="Container" type="javax.sql.DataSource"
          username="denali" url="jdbc:postgresql://localhost:5432/demo"
          factory="org.apache.commons.dbcp.BasicDataSourceFactory"
          driverClassName="org.postgresql.Driver"
          maxActive="20" maxIdle="10"/>
              <Resource name="jdbc/ccsdatasource" auth="Container" type="javax.sql.DataSource"
          username="ccs" password="secret" url="jdbc:mysql://localhost:3306/ccs"
          driverClassName="com.mysql.jdbc.Driver"
          maxActive="20" maxIdle="10"/>

          Please Note

          This technique is Tomcat-specific. If you deploy your web application to another application server (or even an older version of Tomcat), you will need to configure the database according to your application server's documentation, and reference it in your application's web.xml.



          posted on 2007-07-26 16:22 honzeland 閱讀(627) 評論(1)  編輯  收藏 所屬分類: Tomcat

          評論

          # re: How do I use DataSources with Tomcat? 2007-12-18 14:59 Andreas

          InitialContext ic = new InitialContext(); DataSource ds = (DataSource) ic.lookup("java:comp/env/jdbc/WallyDB"); Connection c = ds.getConnection();
          ---------------------------------------
          建立了連接以后我想定義一個Struct類型的變量,來與Oracle中的Object來進行映射。但是會出現錯誤。
          StructDescriptor st = new StructDescriptor("ObjectNameInOracle",c);
          error marshalling return; nested exception is:
          java.io.NotSerializableException: oracle.jdbc.driver.T4CConnection

          謝謝,Email:dutguoyi@hotmail.com

            回復  更多評論   


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 增城市| 宁晋县| 乌鲁木齐县| 奇台县| 增城市| 泾川县| 武川县| 山东省| 盐津县| 汶川县| 察隅县| 合阳县| 安龙县| 衡山县| 嘉兴市| 襄城县| 岱山县| 丰台区| 宾川县| 孟津县| 梨树县| 星座| 衡阳市| 本溪市| 乡城县| 东乌珠穆沁旗| 拜泉县| 开平市| 五家渠市| 蒙山县| 扎鲁特旗| 潢川县| 长宁县| 临洮县| 武清区| 长兴县| 余江县| 瑞安市| 农安县| 西乌珠穆沁旗| 临海市|