999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

JSP/Servlet對SQL Server 2005的可配置訪問

2008-01-01 00:00:00董義革
電腦知識與技術 2008年5期

摘要:隨著SQL Server 2005數據庫使用的普及,在Java 應用程序中使用基于Java Database Connectivity (JDBC)的驅動程序來訪問SQL Server 2005數據庫已經成為十分必要的工作。特別是隨著XML成為工業標準,越來越多的Java應用程序趨向于使用XML配置文件。論文結合實例講述了在JSP/Servlet中使用JDBC驅動及XML配置文件訪問SQL Server 2005數據庫的典型應用方式。

關鍵詞:JDBC; SQL Server 2005; XML; JDOM; JSP/Servlet; JBuilder

中圖分類號:TP312文獻標識碼:A文章編號:1009-3044(2008)05-10ppp-0c

1 引言

JSP是一種基于Java Servlet的Web開發技術。目前,JSP/servlet 結合大型或超大型網絡數據庫已經成為電子商務站點的流行架構。在傳統的網頁HTML文件中加入Java程序代碼,就構成了JSP頁面。當Web服務器上的一個JSP頁面被第一次請求執行時,JSP引擎首先將此JSP頁面文件轉譯成一個java Servlet文件,再將這個java文件編譯成字節碼文件,然后通過執行字節碼文件響應客戶請求。

JDBC(Java Database Connectivity)是Java語言訪問數據庫的一種規范, 它是一個面向對象的應用程序接口(API),是Java核心類庫的一部分。為了使JAVA應用程序獨立于特定的數據庫驅動程序,JDBC規范建議開發者使用基于接口的編程方式,即盡量使用僅依賴java.sql及javax.sql中的接口和類。通過使用JDBC,Java應用程序可以訪問各種不同類型的關系數據庫,完成建立數據庫連接、執行SQL語句進行數據的增、刪、改、查操作。JDBC確保了“100%純Java”的解決方案,利用Java的平臺無關性, JDBC應用程序可以自然地實現跨平臺特性,因而更適合于Internet上異構環境的數據庫應用。

隨著SQL Server 2005數據庫使用的普及,在Java 應用程序中使用基于JDBC驅動程序來訪問SQL Server 2005數據庫已經成為十分必要的工作。特別是隨著XML成為工業標準,越來越多的Java應用程序趨向于使用XML配置文件。下面結合實例講述在JSP/Servlet中使用JDBC驅動及XML配置文件訪問SQL Server 2005數據庫的典型應用方式。

2 JDBC驅動程序的下載及設置

首先需要下載SQL Server 2005的JDBC驅動程序,下載后需要對機器的環境變量以及JBuilder或Eclipse開發環境進行配置。

2.1 JDBC驅動程序的下載

首先下載SQL2005的JDBC驅動程序,這是微軟官方下載地址:http://download.microsoft.com/download/2/8/9/289dd6a3-eeeb-46dc-9045-d0c6b59bfbc1/sqljdbc_1.1.1501.101_chs.exe。將文件“sqljdbc_1.1.1501.101_chs.exe”下載后解壓,會默認解壓生成一個名為“Microsoft SQL Server 2005 JDBC Driver”的文件夾。將此文件夾復制到%ProgramFiles%文件夾下(如果系統在C盤則為C:\\Program Files)。復制后的文件夾內容如圖1所示。

圖1 JDBC驅動程序文件夾結構

2.2 設置系統環境變量CLASSPATH

JDBC 驅動程序并未包含在 Java SDK 中。因此,如果要使用該驅動程序,必須將CLASSPATH設置為包含sqljdbc.jar 文件,即“CLASSPATH =.;C:\\Program Files\\sqljdbc_1.1\\chs\\sqljdbc.jar”,否則Java應用程序在加載JDBC驅動時,將引發“找不到類”的常見異常。

2.3 配置JBuilder

打開JBuilder2005開發環境, 創建一個名為\"JDBC_SQL2005\"的項目。在此項目中創建一個名為\"JDBCTest\"的Web Module。在此Web Module中創建一個名為\"JDBC_SQL2005.jsp\"的JSP應用程序頁面。此時整個項目在“Project”窗口中顯示如圖2所示。

圖2 JSP應用程序項目結構圖

選擇\"Project\"->\"Project Properties\"菜單項,打開此項目的屬性配置窗口 。切換到\"Required Libraries\"面板,點擊\"Add\"按鈕,向此工程中添加JDBC驅動類庫文件,如圖3所示。點擊\"Add\"按鈕后,選擇\"New\"按鈕。在打開的窗口中先給要加載的JDBC驅動起個名字\"SQLJDBC\"。點擊\"Add\"按鈕,再在彈出的窗口中選擇安裝在\"C:\\Program Files\\sqljdbc_1.1\\chs\"文件夾下的\"sqljdbc.jar\"文件后,點擊\"OK\"按鈕。此時JDBC驅動程序已加載到當前的項目中,如圖3所示。

圖3 向JSP應用程序項目添加JDBC驅動類庫

3 SQL Server 2005數據庫系統的配置

SQL Server是一個設計用于在服務器上運行,能夠接受遠程用戶和應用程序訪問的數據庫管理系統。而SQL Server 2005的設計原則之一就是“Trustworthy Computing initiative”——Secure by Default(“默認安全”)。在實現這一原則的過程中,SQL Server 2005禁用了一些網絡選項以盡量保證SQL Server環境的安全性。例如,SQL Server 2005在默認情況下并不允許遠程訪問(企業版除外),即不允許使用TCP/IP協議,所以要使用“SQL Server外圍應用配置器”工具來啟用遠程訪問。

3.1 啟用遠程訪問

選擇“開始”→“程序”→“Microsoft SQL Server 2005”→“配置工具”→“SQL Server 外圍應用配置管理器”菜單,在打開的窗口中選擇“服務和連接的外圍應用配置器”選項。此時會彈出“服務和連接的外圍應用配置器”窗口。在“遠程連接”中選擇“同時使用TCP/IP和named pipes(B)”,然后點擊“確定”按鈕,如圖4所示。

圖4 啟用TCP/IP協議

圖5 啟用TCP/IP協議

3.2 啟用SQL Server 2005網絡配置中的TCP/IP協議

選擇“開始”→“程序”→“Microsoft SQL Server 2005”→“配置工具”→“SQL Server Configuration Manager”菜單,在打開的窗口左側選擇“SQL Server 2005 網絡配置”項下面的“SQLEXPRESS的協議”選項,將其對應的TCP/IP協議設置為“啟用”,如圖5所示。

3.3 配置啟用的TCP/IP協議

修改TCP/IP屬性,將全部偵聽改為“否”,同時將TCP動態端口改為空(讓服務器自己選擇端口), TCP端口改為1433,如圖6所示。重新啟動計算機,或重新啟動SQL Server2005 express服務。

圖6 配置TCP/IP協議

4 使用jdom讀取XML配置文件

當創建JDBC到SQLServer 2005數據庫的連接時,需要提供數據庫服務器IP地址、用戶名、密碼以及所要訪問的數據庫等信息。為了使我們的JSP/Servlet應用程序有較好的安全性和可移值性,一般要把這些信息寫在一個配置文件中,并將此配置文件存放到應用程序所在的“WEB-INF”文件夾下,此文件夾是禁止瀏覽器訪問的。隨著XML成為工業標準,越來越多的Java應用程序趨向于使用XML配置文件。

文檔對象模型(Document Object Model,DOM)是公認的 W3C 標準,它被用于與平臺及語言無關的 XML 文檔內容、結構和樣式的動態訪問和更新。它為表示文檔定義了一套標準的接口集,也為訪問和操縱文檔定義了一套標準的方法。而jdom是用java語言讀、寫、操作XML的API。用jdom處理現有XML文檔的大致過程如下:

用構造方法構造一個org.jdom.input.SAXBuilder對象。

用建立器的build()方法從reader,inputstream,url,file或包含系統id的字符串建立Document對象。

如果讀取文檔遇到問題,則拋出IOexception,如果建立文檔遇到問題,則拋出JDOMException。

否則用Document類,element類和其他jdom類的方法在文檔中建立導航。

4.1 jdom的下載及配置

目前jdom并沒有包含在sun的jdk中,需要到http://www.jdom.org下載jdom的最新版本。將文件“jdom-1.0.zipjdom-1.0.zip下載后解壓,會默認解壓生成一個名為“jdom-1.0”的文件夾。將此文件夾復制到%ProgramFiles%文件夾下(如果系統在C盤則為C:\\Program Files)。復制后的文件夾內容如圖7所示。jdom的jar文件就是build目錄下的文件jdom.jar。再在JBuilder2005開發環境中,將“jdom.jar”添加到當前的項目中,如圖8所示。

圖7 jdom.jar文件所在位置

圖8 將jdom.jar添加到當前的項目

4.2 創建XML配置文件

在Web Module“JDBCTest”的“WEB-INF”文件夾下新建一個名為“DBConfig.xml”的XML文件,其內容為需要連接的SQL Server 2005數據庫所在的服務器IP地址、端口號、數據庫登錄用戶名、密碼及要訪問的數據庫名信息。其代碼如下:

<?xml version=\"1.0\"?>

<DBConfig>

<ipaddress>127.0.0.1</ipaddress>

<port>1433</port>

<database>master</database>

<user>sa</user>

<password>sa</password>

</DBConfig>

4.3 JSP頁面程序設計

JSP頁面利用JDBC驅動連接SQL Server 2005系統數據庫master,并檢索表MSreplication_options中的所有記錄。如果檢索成功,則在頁面中顯示出相應信息,如果操作失敗,則報告異常。JSP頁面代碼如下,此JSP頁面運行效果如圖9所示。

圖9 JDBC_SQL2005.JSP運行效果

<%@page import=\"java.io.InputStream,

java.io.IOException,

java.io.FileInputStream,

org.jdom.input.SAXBuilder,

org.jdom.Document,

org.jdom.Element,

org.jdom.JDOMException,

org.jdom.*,

java.sql.*\"%>

<%@page contentType=\"text/html;charset=GB2312\" language=\"java\"%>

<html>

<head>

<title>使用JDBC驅動及XML配置訪問SQL Server 2005數據庫</title>

</head>

<body>

<center>

<%

String ipaddress, port, database, user, password;

Connection con = 1;

Statement s = 1;

ResultSet rs = 1;

try {

//構造一個SAXGBuilder對象

SAXBuilder db = new SAXBuilder();

//取得XML配置文件的絕對路徑

String filepath =

pageContext.getServletContext().getRealPath(\"WEB-INF\\\\DBConfig.xml\");

//創建文檔

Document doc = db.build(new FileInputStream(filepath));

//獲得這個文檔的根元素

Element root = doc.getRootElement();

//獲取各個元素的值

ipaddress = root.getChild(\"ipaddress\").getText();

port = root.getChild(\"port\").getText();

database = root.getChild(\"database\").getText();

user = root.getChild(\"user\").getText();

password = root.getChild(\"password\").getText();

//輸出從XML文檔中提取的配置信息

out.println(\"數據庫所在的服務器IP地址:\" + ipaddress + \"<br>\");

out.println(\"端口號:\" + port + \"<br>\");

out.println(\"用戶名:\" + user + \"<br>\");

out.println(\"密碼:\" + password + \"<br>\");

}

catch (JDOMException jdome) {

throw new IOException(jdome.getMessage());

}

try {

//加載JDBC數據庫驅動程序

Class.forName(\"com.microsoft.sqlserver.jdbc.SQLServerDriver\");

}

catch (ClassNotFoundException ce) {

System.out.println(\"JDBC驅動加載失敗!\");

System.out.println(ce);

}

try {

String str = \"select * from dbo.MSreplication_options\";

// 創建數據庫連接,要提供主機IP地址、端口號、用戶名、口令等信息

con = DriverManager.getConnection(

\"jdbc:sqlserver://\" + ipaddress + \":\" + port + \";DatabaseName=\" + database,

user, password);

//執行SQL語句,得到結果集

s = con.createStatement();

rs = s.executeQuery(str);

if (rs.next()) {

out.print(database + \"數據庫成功訪問\");

}

rs.close();

}

catch (SQLException se) {

System.out.println(database + \"數據庫訪問失敗!\");

System.out.println(se);

}

finally {

try {

if (s != 1) {

s.close();

}

if (con != 1) {

con.close();

}

}

catch (SQLException se2) {

System.out.println(\"數據庫連接關閉失敗!\");

System.out.println(se2);

}

}

%>

</center>

</body>

</html>

5 結束語

Java與XML的組合被普遍認為是“黃金組合”。JDBC技術的使用,可以實現對因特網上異構環境的數據庫的訪問,已經成為Web開發的首選方案。相信隨著SQL Server 2005使用的普級,在使用JDBC訪問SQL Server 2005數據庫時采用XML配置文件也一定會被更廣泛的使用。

參考文獻:

[1]馬斗.專家門診——JSP開發答疑[M].北京: 人民郵電出版社,2006年5月?P151-152.

[2]imetoo的資料室?數據庫安全基本原則[OL].http://imetoo.blog.hexun.com/,2007年10月24日/2007年10月27日.

收稿日期:2008-01-12

作者簡介:王萍(1973-),女,湖北漢陽人,計算機應用專業碩士,現為北京電子科技職業學院科技工程學院電子工程系講師,主要研究方向:信息管理與服務系統架構與開發。

主站蜘蛛池模板: 2022国产91精品久久久久久| 日韩欧美中文在线| 青青草国产在线视频| 国产在线精品香蕉麻豆| 免费99精品国产自在现线| 在线免费a视频| 麻豆精品在线视频| Aⅴ无码专区在线观看| 国产激爽爽爽大片在线观看| 中国特黄美女一级视频| 中文字幕 日韩 欧美| 久热中文字幕在线| 精品国产网站| 成人福利在线看| 99在线视频精品| a级毛片视频免费观看| 黄色a一级视频| 77777亚洲午夜久久多人| 97精品久久久大香线焦| 91免费观看视频| 欧美日韩国产精品va| 99久久无色码中文字幕| 欧美成人精品高清在线下载| 在线欧美日韩| 欧美不卡在线视频| 亚洲中文在线看视频一区| 日韩在线观看网站| 日本一区二区不卡视频| 伊人久热这里只有精品视频99| 亚洲成AV人手机在线观看网站| 亚洲IV视频免费在线光看| 国产午夜在线观看视频| 国产在线观看一区二区三区| 国产乱人伦偷精品视频AAA| 日本在线视频免费| 在线中文字幕网| 亚洲AⅤ波多系列中文字幕| 国产三级韩国三级理| 亚洲成人在线免费| 一级毛片网| 国产无吗一区二区三区在线欢| 国产毛片不卡| 久久综合九色综合97婷婷| 在线播放真实国产乱子伦| 99国产精品一区二区| 热这里只有精品国产热门精品| 亚洲精品天堂在线观看| 狠狠色香婷婷久久亚洲精品| 中文字幕2区| 久久情精品国产品免费| 免费一级毛片在线观看| 国产内射在线观看| 在线播放精品一区二区啪视频| 国产午夜无码专区喷水| 国产在线视频自拍| 亚洲国产精品不卡在线| 日韩美一区二区| 亚洲中文字幕久久精品无码一区| 久久精品这里只有精99品| 欧美日韩国产在线播放| 黄网站欧美内射| 波多野结衣久久精品| 欧美日韩国产系列在线观看| 精品乱码久久久久久久| 久久久91人妻无码精品蜜桃HD| 国产玖玖视频| 亚洲无限乱码一二三四区| 国内自拍久第一页| 九九香蕉视频| 日韩黄色大片免费看| 片在线无码观看| 青青草原国产精品啪啪视频| 久久网欧美| 亚洲动漫h| 亚洲精品视频免费| 亚洲综合国产一区二区三区| 亚洲欧美日韩高清综合678| 欧美精品另类| 国产男人天堂| 欧美综合激情| 中国成人在线视频| 成人午夜视频在线|