應(yīng)用Java技術(shù)完成數(shù)據(jù)庫應(yīng)用系統(tǒng)
發(fā)表時(shí)間:2023-08-17 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要][內(nèi)容提要] 本文詳細(xì)介紹了Java數(shù)據(jù)庫編程的JDBC API及java.sql包。并以 Java 技術(shù)設(shè)計(jì)、開發(fā)、實(shí)踐的一個(gè)數(shù)據(jù)庫應(yīng)用管理系統(tǒng)案例為模板,結(jié)合 Java2 平臺程序進(jìn)行說明 Ja...
[內(nèi)容提要] 本文詳細(xì)介紹了Java數(shù)據(jù)庫編程的JDBC API及java.sql包。并以 Java 技術(shù)設(shè)計(jì)、開發(fā)、實(shí)踐的一個(gè)數(shù)據(jù)庫應(yīng)用管理系統(tǒng)案例為模板,結(jié)合 Java2 平臺程序進(jìn)行說明 Java 面向?qū)ο蟮恼Z言的開發(fā)思路、語言特色、安全機(jī)制以及案例的具體實(shí)現(xiàn)步驟、方法及過程等。相信通過本文的介紹,廣大的開發(fā)者會領(lǐng)略 Java 面向?qū)ο笳Z言的風(fēng)采,深深體會 Java 的開發(fā)思想。從而為廣大用戶提供另外一種高效的、前瞻性的管理信息系統(tǒng)及Live Intranet解決方案。
[關(guān)鍵詞] OOP NC JDBC APPLET APPLICATION MIS Live Intranet
Java 語言是Sun MicroSystems 公司于1995年正式命名并推出的一種面向?qū)ο蟮木幊陶Z言-OOP(abbr.Object Oriented Programming)。Sun 公司說:Java 程序設(shè)計(jì)語言被設(shè)計(jì)成是 by programmers for programmers,其隨著 Internet 的發(fā)展而廣為流行。用它開發(fā)的系統(tǒng)“一次開發(fā),到處運(yùn)行”的特色以及程序開發(fā)設(shè)計(jì)時(shí)所體現(xiàn)出的面向?qū)ο蟮乃枷肷钌畹赜|動(dòng)著人們。它的語言簡潔、集多種程序設(shè)計(jì)語言之大成,且面向?qū)ο、具有可移植性、分布性、安全性、高性能等特色。Java在向Internet/Intranet,甚至計(jì)算機(jī)世界的各個(gè)領(lǐng)域滲透,慢慢改變著人們的思維。而今Internet 熱浪一浪高過一浪,從外部世界走向企業(yè)內(nèi)部形成Intranet,促進(jìn)了Java 技術(shù)的利用開發(fā)。計(jì)算機(jī)業(yè)界中的IBM、ORACAL 、APPLE、Sun、Netscape五家公司還聯(lián)合推出“網(wǎng)絡(luò)計(jì)算機(jī)(NC-1)”規(guī)范。拋開“Wintel”臃腫不堪的體系結(jié)構(gòu),使用戶端價(jià)格低廉、易于使用,并成為能夠連接網(wǎng)絡(luò)的簡單計(jì)算機(jī)-NC(Network Computer),即所說的“瘦客戶”機(jī),NC 支持Java 虛擬機(jī)(JVM),能夠運(yùn)行Java開發(fā)的應(yīng)用程序(Application)和小程序(Applet)并支持多媒體應(yīng)用。NC 和Java 的結(jié)合誕生了新的時(shí)代:網(wǎng)絡(luò)計(jì)算機(jī)時(shí)代。就連Sun的冤家對頭Microsoft的比爾.蓋茨也不得不承認(rèn):“Java是長時(shí)間以來最卓越的程序設(shè)計(jì)語言”。
一、 Java 數(shù)據(jù)庫基礎(chǔ) JDBC API
Java語言在數(shù)據(jù)庫應(yīng)用方面,特別在基于Web 的B/S結(jié)構(gòu)的在線數(shù)據(jù)庫應(yīng)用方面的煩瑣復(fù)雜配置等,并不能使用戶和程序開發(fā)雙方都十分滿意。SunSoft雖提供了用Java語言編寫成的Java與數(shù)據(jù)庫的接口規(guī)范JDBC(Java DataBase Connectivity,而JavaSoft說JDBC并不代表什么),使Java程序可以通過統(tǒng)一標(biāo)準(zhǔn)規(guī)范的JDBC API來與不同的數(shù)據(jù)庫通信。確保了“100%純Java”的解決方案。JDBC API 定義了Java中的類和接口,表示數(shù)據(jù)庫連接、SQL 指令、結(jié)果集合等。它允許Java程序員發(fā)送SQL 指令并處理結(jié)果。JDBC API 提供兩種主要接口:一是面向開發(fā)人員的java.sql程序包,使得Java程序員能夠進(jìn)行數(shù)據(jù)庫連接,執(zhí)行SQL查詢,并得到結(jié)果集合。Java2 的java.sql包提供了6個(gè)類和18個(gè)接口,下文將介紹;另一是面向底層數(shù)據(jù)庫廠商的JDBC Drivers ,目前為止,Java2的JDBC Drivers僅提供下述四種類型的數(shù)據(jù)庫驅(qū)動(dòng)方式,且各有利弊:
(1) JDBC-ODBC bridge plus ODBC driver 方式:JDBC-ODBC 橋接方式利用微軟的開放數(shù)據(jù)庫互連接口(ODBC API)同數(shù)據(jù)庫服務(wù)器通訊,客戶端計(jì)算機(jī)首先應(yīng)該安裝并配置ODBC driver 和JDBC-ODBC bridge兩種驅(qū)動(dòng)程序。這是Applets訪問你的數(shù)據(jù)庫最可能的解決方式,但這對Internet 和Intranet 用戶而言簡直是一個(gè)非常令人討厭和麻煩的解決方案。
(2) Native-API partly Java driver方式:這種驅(qū)動(dòng)方式將數(shù)據(jù)庫廠商的特殊協(xié)議轉(zhuǎn)換成Java代碼及二進(jìn)制類碼,使Java 數(shù)據(jù)庫客戶方與數(shù)據(jù)庫服務(wù)器方通信。例如:Oracle用SQLNet協(xié)議,DB2用IBM 的數(shù)據(jù)庫協(xié)議。數(shù)據(jù)庫廠商的特殊協(xié)議也應(yīng)該被安裝在客戶機(jī)上。這也是令人討厭和麻煩的解決方案。
(3) JDBC-Net pure Java driver方式:這種方式是純Java driver。數(shù)據(jù)庫客戶以標(biāo)準(zhǔn)網(wǎng)絡(luò)協(xié)議(如HTTP、SHTTP)同數(shù)據(jù)庫訪問服務(wù)器通信,數(shù)據(jù)庫訪問服務(wù)器然后翻譯標(biāo)準(zhǔn)網(wǎng)絡(luò)協(xié)議成為數(shù)據(jù)庫廠商的專有特殊數(shù)據(jù)庫訪問協(xié)議(也可能用到ODBC driver)與數(shù)據(jù)庫通信。對Internet 和Intranet 用戶而言這是一個(gè)理想的解決方案。Java driver 被自動(dòng)的,以透明的方式隨Applets自Web服務(wù)器而下載并安裝在用戶的計(jì)算機(jī)上。
(4) Native-protocol pure Java driver方式:這種方式也是純Java driver。數(shù)據(jù)庫廠商提供了特殊的JDBC協(xié)議使Java數(shù)據(jù)庫客戶與數(shù)據(jù)庫服務(wù)器通信。然而,將把代理協(xié)議同數(shù)據(jù)庫服務(wù)器通信改用數(shù)據(jù)庫廠商的特殊JDBC driver。這對Intranet 應(yīng)用是高效的,可是數(shù)據(jù)庫廠商的協(xié)議可能不被防火墻支持,缺乏防火墻支持在Internet 應(yīng)用中會存在潛在的安全隱患。
綜上四種方式中,只有第三、四種方式的驅(qū)動(dòng)支持 Applet的零安裝。因?yàn)镴DBC drivers 完全用Java 寫成,并從Web 服務(wù)器上隨applet下載。為了支持零安裝,驅(qū)動(dòng)程序應(yīng)該被放在Web上,并與applet 在相同目錄。而第四種存在安全隱患,第三種產(chǎn)品為數(shù)不多,現(xiàn)今較成熟的IDS JDBC driver屬于此種(http://www.idssoftware.com),但也要用到ODBC driver輔助。
即便如此,利用Java技術(shù)開發(fā)單機(jī)環(huán)境應(yīng)用程序,局域網(wǎng)范圍或Intranet環(huán)境下的應(yīng)用程序、動(dòng)態(tài)Web應(yīng)用(Live Intranet)等,Java語言是高效、安全、穩(wěn)定的。Java語言已贏得了眾多廠商的支持,基于其上的Java API-JDBC也發(fā)展迅速。Sun承諾任何Java Applet 或Java應(yīng)用軟件都能夠與數(shù)據(jù)庫結(jié)合,并且仍將不遺余力的支持未來Java技術(shù)的發(fā)展。Java語言的跨平臺特性,使之成為Internet和Intranet環(huán)境下開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)的理想選擇方案。
二、 Java 數(shù)據(jù)庫應(yīng)用系統(tǒng)的實(shí)現(xiàn)
基于此,筆者用Java 2 SDK,Standard Edition Version 1.2.1版本為開發(fā)工具,以已經(jīng)成功開發(fā)的Java數(shù)據(jù)庫應(yīng)用系統(tǒng)案例為模板,結(jié)合Java2程序語句及java.sql包,介紹一下Java數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)的具體實(shí)現(xiàn)步驟、方法等。
1.設(shè)置數(shù)據(jù)庫的連接
為了利用JDBC,你將需要一個(gè)數(shù)據(jù)庫服務(wù)器和一個(gè)數(shù)據(jù)庫驅(qū)動(dòng)器。因?yàn)榇蠖鄶?shù)讀者的計(jì)算機(jī)已經(jīng)安裝了Windows95/98,我就用微軟的 Access 97做為我的數(shù)據(jù)庫服務(wù)器(具體為Action.mdb),當(dāng)然你也可以用其它的數(shù)據(jù)庫作為數(shù)據(jù)庫服務(wù)器。因?yàn)閷DBC而言,數(shù)據(jù)庫服務(wù)器的類型無關(guān)緊要,JDBC會提供一個(gè)獨(dú)立于數(shù)據(jù)庫服務(wù)器的訪問數(shù)據(jù)庫的方法。這是JDBC的主要優(yōu)勢所在。
你將還需要一個(gè)數(shù)據(jù)庫驅(qū)動(dòng)器,用來提供JDBC與你的數(shù)據(jù)庫的連接。作者選用了較可能的JDBC-ODBC bridge 方式。為此需設(shè)置32-bit ODBC的數(shù)據(jù)源,選擇System DSN(數(shù)據(jù)可被多用戶訪問,User DSN不同),增加新的數(shù)據(jù)源,配置新數(shù)據(jù)源的路徑為Action.mdb數(shù)據(jù)庫服務(wù)器的所在位置。
安裝完成,Java程序員可以進(jìn)行編制程序的階段。首先程序員引用java.sql 包中相應(yīng)的類與接口來進(jìn)行對JDBC驅(qū)動(dòng)器的管理:用Class 類中的 forName() 方法裝入 JDBC驅(qū)動(dòng)器,以JDBC-ODBC bridge 方式為例,裝入JDBC驅(qū)動(dòng)執(zhí)行的語句為Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);用DriverManager 類中g(shù)etDrivers()方法返回所有安裝在你的計(jì)算機(jī)中的JDBC驅(qū)動(dòng)器,getConnection()建立與數(shù)據(jù)庫的連接等。getConnection()方法提供下面三種形式:
getConnection(String url)
getConnection(String url,String userID,String password)
getConnection(String url,Properties arguments)
其中字符串url表示數(shù)據(jù)庫服務(wù)器所在處的特殊的URL。URL是被用來與不同的數(shù)據(jù)庫驅(qū)動(dòng)建立連接的統(tǒng)一網(wǎng)絡(luò)資源,其形式如下:
jdbc:subprotocol:subname
所有的JDBC數(shù)據(jù)庫協(xié)議開始于jdbc:。Subprotocol是被用來辨別JDBC驅(qū)動(dòng)方式的。例如:JDBC-ODBC bridge 用jdbc:odbc:subname 這種用戶協(xié)議形式,IDS JDBC driver 用jdbc:ids:subname 形式。數(shù)據(jù)庫協(xié)議的subname標(biāo)識數(shù)據(jù)庫并且與subprotocol 和JDBC驅(qū)動(dòng)方式有關(guān)。例如,以JDBC-ODBC bridge方式,我用下面的URL形式建立與數(shù)據(jù)源Tend建立連接:
jdbc:odbc:tend
getDrivers()和getConnection()方法是DriverManager類中最重要的方法,還有其它一些方法在此略。
2.與數(shù)據(jù)庫進(jìn)行連接
用DriverManager類的getConnection() 方法建立起與數(shù)據(jù)庫連接,getConnection()返回一個(gè)對象,此對象是java.sql包中的Connection 接口對象。該接口定義了與之連接的數(shù)據(jù)庫交互的一些方法、常量等,這些方法用來管理數(shù)據(jù)庫的連接、獲得連接的信息、提交數(shù)據(jù)庫處理事件并且預(yù)處理可執(zhí)行的SQL語句。下面是Connection 接口的一些重要的方法:
close()-關(guān)閉一個(gè)數(shù)據(jù)庫連接
getMetaData()-返回一個(gè)DatabaseMetaData 接口對象,該接口能被用來獲得有關(guān)數(shù)據(jù)庫的詳細(xì)信息,包括數(shù)據(jù)庫結(jié)構(gòu)和數(shù)據(jù)庫內(nèi)容等。
createStatement()-創(chuàng)建一個(gè)SQL語句對象。
prepareStatement()-用SQL字符串創(chuàng)建一個(gè)SQL 預(yù)處理語句對象。預(yù)處理語句對象是可以被高效執(zhí)行的預(yù)編譯過的SQL語句。
下面提供一段程序,實(shí)現(xiàn)了JDBC的驅(qū)動(dòng)及數(shù)據(jù)庫的連接,供參考:
import java.sql.*;
import java.util.*;
class ConnectApp {
public static void main(String args[]) {
try{
// Load the JDBC-ODBC bridge driver方式
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url="jdbc:odbc:tend";
// 連接到數(shù)據(jù)庫
Connection connection=DriverManager.getConnection(url);
// 得到數(shù)據(jù)庫的信息
DatabaseMetaData meta=connection.getMetaData();
3.利用結(jié)果集工作
數(shù)據(jù)庫查詢被執(zhí)行后,查詢的結(jié)果作為一個(gè)兩維(行、列)數(shù)據(jù)表返回。ResultSet接口被用來提供訪問查詢結(jié)果的數(shù)據(jù)表,查詢結(jié)果被當(dāng)作ResultSet對象而返回,ResultSet對象提供“指針”,指針每次訪問數(shù)據(jù)庫表的一行。當(dāng)ResultSet對象從查詢中返回時(shí),指針初始指向數(shù)據(jù)表的第一行,ResultSet 的next() 方法用來移動(dòng)指針到數(shù)據(jù)表的下一行,如果到達(dá)表尾,next() 方法返回假的布爾值-false,否則為真。ResultSet接口提供大量的獲得數(shù)據(jù)的方法,這些方法返回?cái)?shù)據(jù)表中任意位置的數(shù)據(jù),不論是基本數(shù)據(jù)類型或引用數(shù)據(jù)類型的數(shù)據(jù)。getMetaData()方法返回ResultSetMetaData接口對象,該對象包含數(shù)據(jù)表行的信息。ResultSetMetaData 接口提供變量和從ResultSet對象獲取信息的方法,getColumnCount() 方法返回?cái)?shù)據(jù)表的列數(shù),getColumnName() 方法返回提取的數(shù)據(jù)庫中的列名稱,即數(shù)據(jù)庫字段名,getColumnType() 方法返回列的SQL類型,ResultMetaData中其它的方法被用訪問列的額外屬性,如列的顯示寬度、數(shù)據(jù)格式及讀/寫狀態(tài)等。注意ResultSet中的列其始索引號為1而不是0。下面提供一段程序:
static void displayResults(ResultSet r) throws SQLException {
// 獲得數(shù)據(jù)結(jié)果集合
ResultSetMetaData rmeta = r.getMetaData();
// 確定數(shù)據(jù)集的列數(shù),亦字段數(shù)
int numColumns=rmeta.getColumnCount();
// 輸出每一個(gè)數(shù)據(jù)值
for(int i=1;i<=numColumns;++i) {
if(i<numColumns)
System.out.print(rmeta.getColumnName(i)+" ");
else
System.out.println(rmeta.getColumnName(i));
}
while(r.next()){
for(int i=1;i<=numColumns;++i) {
if(i<numColumns)
System.out.print(r.getString(i)+" ");
else
System.out.println(r.getString(i).trim());
}
}
}
4.執(zhí)行SQL語句
SQL代表著結(jié)構(gòu)化查詢語言,即 Structured Query Language的縮寫。SQL是用來同數(shù)據(jù)庫服務(wù)器交互的一種語言。SQL被IBM在70-80年代開發(fā),80年代后進(jìn)行了標(biāo)準(zhǔn)化。但標(biāo)準(zhǔn)已經(jīng)更新,現(xiàn)已出現(xiàn)好幾個(gè)版本。另外一些數(shù)據(jù)庫廠商也增加擴(kuò)展了一些特殊的功能語句等。JDBC需要與JDBC兼容的SQL驅(qū)動(dòng)支持,即支持ANSI SQL72標(biāo)準(zhǔn)。SQL有很多用途,當(dāng)SQL語句被用來創(chuàng)建、設(shè)計(jì)數(shù)據(jù)庫時(shí),它是一個(gè)數(shù)據(jù)定義語言;當(dāng)用來向數(shù)據(jù)庫插入信息、更新或刪除已經(jīng)存在的信息時(shí),它是一個(gè)數(shù)據(jù)維護(hù)語言;當(dāng)從數(shù)據(jù)庫中查詢提取信息時(shí),它是數(shù)據(jù)查詢語言。有關(guān)SQL語句的一些語法規(guī)則,請參考有關(guān)書籍,在此略。Java語言設(shè)計(jì)java.sql 包的目的就是讓你執(zhí)行符合Java的SQL語句。java.sql中的Statement 接口定義了一些方法,這些方法通過SQL語句的執(zhí)行來與數(shù)據(jù)庫交互,也支持通過ResultSet對象返回查詢結(jié)果集合的處理和提供查詢處理機(jī)制的控制。execute()、 executeQuery() 和executeUpdate() 方法是Statement接口的主要方法。executeQuery() 方法執(zhí)行一個(gè) SQL語句(如SELECT語句等)并查詢返回一個(gè)ResultSet對象。executeUpdate() 方法執(zhí)行一個(gè)SQL 語句 (如INSERT、UPDATE、DELETE 語句等)并更新數(shù)據(jù)庫、返回SQL查詢結(jié)果集合的行數(shù)(記錄數(shù)),如果結(jié)果集合為空則行數(shù)為0。
Java中有關(guān)SQL語句的程序片段如下:
import java.sql.*;
import java.util.*;
class ResultApp {
public static void main(String args[]) {
try{
// Load the JDBC-ODBC bridge driver方式
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url="jdbc:odbc:tend";
// 連接到數(shù)據(jù)庫
Connection connection=DriverManager.getConnection(url);
Statement statement = connection.createStatement();
String sql="SELECT * FROM courses";
// 執(zhí)行SQL 語句得到結(jié)果集合
ResultSet result = statement.executeQuery(sql);
displayResults(result);
// 關(guān)閉數(shù)據(jù)庫連接
connection.close();
}catch(Exception ex){
System.out.println(ex);
System.exit(0);
}
}
5.數(shù)據(jù)庫安全性
數(shù)據(jù)庫的安全性問題是很多機(jī)構(gòu)非常關(guān)心的問題。因?yàn)閿?shù)據(jù)庫中可能包含一些比較敏感的信息需要加以限制訪問范圍;數(shù)據(jù)的完整性也是極為重要的,未授權(quán)的肆意修改數(shù)據(jù)庫信息可能造成公司巨大的損失;數(shù)據(jù)的有效提供也是重要的,Internet/Intranet用戶隨時(shí)需要信息,這就常常需要提供每天24小時(shí)、每周7天的可訪問。JDBC支持?jǐn)?shù)據(jù)庫安全嗎?答案不是非常滿意。當(dāng)前JDBC要依靠數(shù)據(jù)庫服務(wù)器自身提供安全保護(hù)。企業(yè)范圍的數(shù)據(jù)庫服務(wù)器,如微軟的SQL Server提供用戶ID和口令,然而,即使是口令保護(hù)也不是非常安全的,如果口令在客戶與服務(wù)器之間未加密,它們能很容易被截獲而危及安全。
Java的安全機(jī)制很高,Java2改進(jìn)了沙箱,為用戶和程序人員提供了靈活的安全管理及配置工具。Applet程序安全性更加靈活,建議利用Java的安全機(jī)制及提供的一些工具來進(jìn)行數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)。
Java2(JDK1.2)提供的安全工具如下:
用jar工具打包你的applets成為Java 存檔文件 (JAR);
用jarsigner對JAR文件進(jìn)行數(shù)字簽名;
用policytool對信任applets的Java運(yùn)行環(huán)境Java Runtime Environment (JRE)配置;
用keytool進(jìn)行數(shù)字證書的簽證;
三、 Java 的數(shù)據(jù)庫應(yīng)用開發(fā)展望
至此,你已知道:要進(jìn)行Java 數(shù)據(jù)庫應(yīng)用程序的設(shè)計(jì),需要具備多方面的技能,包括了解或熟練數(shù)據(jù)庫驅(qū)動(dòng)程序、SQL( 結(jié)構(gòu)化查詢語言)以及java.sql包所包含的類、接口等。JavaSoft 已經(jīng)注意到了Java 在數(shù)據(jù)庫程序設(shè)計(jì)方面的棘手而復(fù)雜,他們現(xiàn)在正在開發(fā)新的同Java一樣容易使用的產(chǎn)品JavaBlend ,該產(chǎn)品將大大簡化利用JDBC構(gòu)建數(shù)據(jù)庫應(yīng)用系統(tǒng)的過程。JavaBlend 將自動(dòng)鏡像Java 對象成為存儲在數(shù)據(jù)庫中的信息。所有對對象的操作,都將產(chǎn)生與之鏡像的數(shù)據(jù)庫的動(dòng)作,包括對存儲在數(shù)據(jù)庫中信息的自動(dòng)查詢、更新等。一旦Java 的對象到數(shù)據(jù)庫鏡像(Java object-to-database mapping)被成功建立,JavaBlend 將免費(fèi)發(fā)放給Java 程序員,以使Java 程序員從利用繁瑣SQL語句、結(jié)果集合解決方案過渡到利用JavaBlend 把對Java 對象的方法調(diào)用相應(yīng)地自動(dòng)轉(zhuǎn)化成SQL語句和結(jié)果集合這一簡單方案。這將使JDBC和SQL知識在數(shù)據(jù)庫開發(fā)時(shí)不必考慮過多,而使程序員專心于用戶業(yè)務(wù)方案的提供解決。JavaBlend目前并不包含在JDK 1.2中。
Java 語言及其技術(shù)是當(dāng)今世界程序設(shè)計(jì)語言的主流。應(yīng)用Java 技術(shù)實(shí)現(xiàn)數(shù)據(jù)庫應(yīng)用系統(tǒng)是未來的發(fā)展方向,Java 的數(shù)據(jù)庫應(yīng)用現(xiàn)已成功地應(yīng)用于商業(yè)、政府及大學(xué)等領(lǐng)域,應(yīng)用才剛剛起步。相信不久的將來,Java 技術(shù)將更加完善成熟。Java的數(shù)據(jù)庫應(yīng)用也將遍地開花。
參考文獻(xiàn):
[1] 《Java 1.2 unleashed》 Jamie Jaworski 1998,Macmillan Computer publishing
[2] 《Java 教程-Internet 面向?qū)ο蟪绦蛟O(shè)計(jì)》 Mary Campione 等著
[3] 《Java語言程序設(shè)計(jì)》 姜?jiǎng)偟戎?1998,人民郵電出版社
[4] 《Web網(wǎng)站的創(chuàng)建、規(guī)劃、管理及信息發(fā)布》 1999,作者
作者簡介:
張姝,工程師,畢業(yè)于東北大學(xué)計(jì)算機(jī)及其應(yīng)用專業(yè),F(xiàn)主要從事工程CAD設(shè)計(jì)及管理信息系統(tǒng)開發(fā)工作,是中國電機(jī)工程學(xué)會會員,曾發(fā)表過《網(wǎng)絡(luò)環(huán)境下管理信息系統(tǒng)設(shè)計(jì)的幾點(diǎn)考慮》、《Intranet 環(huán)境下事物處理系統(tǒng)的解決方案》、《Web網(wǎng)站的創(chuàng)建、規(guī)劃、管理及信息發(fā)布》等論文。