tomcat配置sqlserver資料庫

來源:互聯網
上載者:User

標籤:des   style   color   io   os   ar   使用   java   sp   

1. 首先確保Tomcat安裝資料夾中的\common\lib(對於Tomcat5.5)或者是\lib(Tomcat6.0)檔案夾中已包括JDBC串連資料庫所必須的三個.jar檔案(msbase.jar , mssqlserver.jar 和msutil.jar,JDBC磁碟機中包括這三個檔案,僅僅需將JDBC磁碟機安裝後的lib檔案夾下的這三個檔案拷貝到Tomcat安裝資料夾的lib檔案夾下就可以)。

2. 改動Tomcat安裝資料夾的conf子檔案夾中的server.xml和context.xml檔案。

對於server.xml檔案,在<GlobalNamingResources>元素中加入例如以下的內容:

<Resource name="資料庫名"
       auth="Container"
       type="javax.sql.DataSource"
       username="sa"
       password="123"
       driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
       maxIdle="10"
       maxWait="10000"
       maxActive="100"
       url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test1"
    />

注:test1是一個建好的資料庫.

各欄位含義例如以下:

name:定義資料庫連接的名稱                driverClassName:指定JDBC磁碟機的類

username:登陸資料庫時使用的使用者名稱      password:登陸資料庫的密碼

maxIdle:資料庫連接的最大空暇時間          maxWait:表示最大建立串連等待時間

maxActive:串連池的最大資料庫連接數      url:表示的是須要串連的資料庫的地址和名稱

對於context.xml檔案,在<Context>元素中加例如以下內容:

<ResourceLink global="資料庫名字" name="jdbc/TestDB" type="javax.sql.DataSource" />

兩個資料庫名稱應該一一致

3.見一個.jsp文檔來測試

內容例如以下,

我這裡在C:\apache-tomcat-6.0.39\webapps\zhanglixuan這個應用下建立的

所以須要改動一下這個應用下的C:\apache-tomcat-6.0.39\webapps\zhanglixuan\WEB-INF\web.xml文檔

在<web-app>標籤之間加入

<resource-ref> 
<description>sqlserverDB Connection</description> 
<res-ref-name>jdbcTestDB</res-ref-name> 
<res-type>javax.sql.DataSource</res-type> 
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope> 
</resource-ref> 

然後將以下的jsp代碼替換原來的index.jsp,並訪問這個jsp就可以

完畢配置後,可用例如以下檔案來測試串連池配置是否正確.

<%@ page language="java" contentType="text/html; charset=gb2312"
    pageEncoding="gb2312"%>
<%@ page import="java.sql.*,javax.naming.*" %>

<%
try{
   Context initCtx=new InitialContext();
   Context ctx=(Context)initCtx.lookup("java:comp/env");
   //擷取串連池對象
   Object obj=(Object)ctx.lookup("jdbc/TestDB");
   //類型轉換
   javax.sql.DataSource ds=(javax.sql.DataSource)obj;
   //從串連池中擷取資料庫連接對象
   Connection conn=ds.getConnection();
   Statement stmt=conn.createStatement();
   //擷取server端時間,該SQL語句適用於SQLServer
   String strSQL="select getDate()";
   ResultSet rs=stmt.executeQuery(strSQL);
   rs.next();
   Date date=rs.getDate(1);
   out.println(date.toString());
   rs.close();
   stmt.close();
   conn.close();
}
catch(Exception e){
   out.println(e);
}
%>

該執行個體測試程式通過資料庫連接池的方式擷取了MS SQLServer所在server的目前時間,執行結果例如以下,表明串連池配置成功.


tomcat配置sqlserver資料庫

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.