2006年4月11日
在IBM Developerworks上找到了3篇關(guān)于Jazz安裝的文章,貼出地址:
安裝 IBM Rational Team Concert Express-C:http://www.ibm.com/developerworks/cn/rational/08/0212_miller
Jazz Team 服務(wù)器安裝指南:http://www.ibm.com/developerworks/cn/rational/jazz/r-jazz-server-install/
Team Concert 客戶端安裝指南http://www.ibm.com/developerworks/cn/rational/jazz/r-jazz-client-install/
有興趣的朋友可以看下,畢竟是專家寫的,比我描述的要清楚明了。
好了,繼續(xù)學(xué)習(xí)Jazz 系列演示,第 2 部分 安裝Jazz客戶端
為了以后的使用方便,先在桌面上建立Server啟動(dòng)快捷方式:進(jìn)入<jazz_install_path>\server目錄(我的<jazz_install_path>為e:\jazz)在server.startup.bat和server.shutdown.bat上點(diǎn)擊右鍵,發(fā)送到桌面快捷方式。
一、啟動(dòng)Rational Team Concert 的Client
進(jìn)入<jazz_install_path>\client\eclipse目錄,在TeamConcert.exe上點(diǎn)擊右鍵,選擇發(fā)送到桌面快捷方式。
這樣,Server和Client都可以通過點(diǎn)擊桌面上的快捷方式進(jìn)行啟動(dòng)了:)
點(diǎn)擊桌面上的TeamConcert.exe圖標(biāo),啟動(dòng)Rational Team Concert 。這是一個(gè)典型的Eclipse。
二、連接到Jazz Server
1)啟動(dòng)客戶端以后,左邊的Team Area和下方的Work Item都有“Connect to Project Area”的鏈接,點(diǎn)擊鏈接后,創(chuàng)建一個(gè)新的repository連接。這里會(huì)分為兩種情況:
一種為Client和Server在同一臺(tái)機(jī)器上,URL為
https://localhost:9443/jazz(我試過使用視頻中使用的
http://localhost:9080/jazz,沒能成功)
另外一種為Client和Server不在同一臺(tái)機(jī)器上,這時(shí)URL需要使用Server的IP,即
http://xx.xx.xx.xx:9080/jazz這種方式進(jìn)行訪問,這種方式我沒試驗(yàn)過,不做討論。
2)填寫好用戶名和密碼以后,要求創(chuàng)建一個(gè)Project Area,點(diǎn)擊超鏈接,進(jìn)入Project Area創(chuàng)建向?qū)А?br />
3)Name字段中隨便起個(gè)名字:MyProArea,點(diǎn)擊next。
4)點(diǎn)擊Deploy Templates按鈕,報(bào)錯(cuò)如下:
Problem(s) occurred deploying process definitions.
The "com.ibm.team.rtc.default" client access license policy does not allow the "com.ibm.team.process.server.saveProcessTemplate" operation.
google + baidu了下,沒搜到,汗!!!!
想了一下,應(yīng)該是用戶權(quán)限的問題,弄了半天,終于找到了解決方法。
登錄https://localhost:9443/jazz/
選擇User Management->Client Access License Management,將ADMIN用戶添加到Rational Team Concert-Contributor&Developer&Build System
中(暫時(shí)不區(qū)分三個(gè)權(quán)限的區(qū)別)
再次點(diǎn)擊Deploy Templates按鈕,這次就可以了。
5)隨意選擇一個(gè)Template,然后點(diǎn)擊next。
6)OK,完成。
干了一下午的體力活,終于抽時(shí)間寫完了Server和Client的安裝,還是有點(diǎn)收獲的:)
引用IBM DeveloperWorks上對(duì)Jazz的解釋:
Jazz 是 IBM Rational 面向軟件交付技術(shù)的下一代協(xié)作平臺(tái),專門面向全球化和跨地域團(tuán)隊(duì)開發(fā),將改變?nèi)藗儏f(xié)作構(gòu)建軟件的方式,從而提高軟件交付的協(xié)作性、效率和透明度。
我不是那種喜歡追逐新技術(shù)的人,但是想到當(dāng)年Eclipse的迅速崛起,所以我不得不關(guān)注一下IBM的下一代協(xié)作平臺(tái)。看著一個(gè)軟件產(chǎn)品的成長(zhǎng),也算是程序員的一種樂趣吧:)
我準(zhǔn)備從今天開始,在blog里面記錄學(xué)習(xí)Jazz的全過程,歡迎有對(duì)Jazz感興趣的朋友能夠聯(lián)系我,共同學(xué)習(xí),共同進(jìn)步!
First Day
我的英文不是很好,所以先閱讀Jazz的中文資料,關(guān)于Jazz的中文資料不是很多,主要就是IBM DeveloperWorks的Jazz 資源中心,
地址:
http://www.ibm.com/developerworks/cn/rational/jazz/?S_TACT=105AGX52&S_CMP=cnspecial
先略讀了下“概覽”,了解了Jazz的思想,然后直接跳轉(zhuǎn)到“新手入門”。

(轉(zhuǎn)自IBM Developerworks)
分析Jazz的體系結(jié)構(gòu)圖:
Jazz 是一個(gè)C/S結(jié)構(gòu)的平臺(tái)。有一臺(tái)Jazz 服務(wù)器,并在其存儲(chǔ)庫(kù)中存放數(shù)據(jù)。遠(yuǎn)程客戶端通過網(wǎng)絡(luò)使用 HTTP 與 Jazz 服務(wù)器通信。遠(yuǎn)程客戶端有多種類型,Eclipse,其他的IDE(據(jù)說還包括了Visual Studio,帥氣),瀏覽器方式,原文中還說:Jazz 特定的命令行工具或 Ant 腳本在 Headless 模式下操作。Headless模式我不是很理解,BAIDU了一下,找到一篇關(guān)于jdk的Headless模式的文章,地址:http://alpineflame.blogchina.com/alpineflame/6188682.html
先記下概念,跳過這塊,等真正用到了我想就會(huì)理解了。
懶得深究概念性的東西了,還是直接進(jìn)入實(shí)際操作吧,跳到“多媒體演示”,目前Jazz的視頻共有6個(gè)部分,不是很新,時(shí)間也比較短,但對(duì)入門來說還是個(gè)不錯(cuò)的東西,希望我能按部就班的走完視頻中的內(nèi)容,在筆記中我將詳細(xì)記錄操作步驟,供大家共同學(xué)習(xí)探討。
IBM® Rational® Team Concert Express 是第一個(gè)基于 Jazz 技術(shù)平臺(tái)的產(chǎn)品,它使眾多軟件開發(fā)人員可以協(xié)同如一個(gè)地開發(fā)和交付軟件。
一、下載
首先要到http://jazz.net上進(jìn)行注冊(cè),然后使用注冊(cè)后的帳戶進(jìn)行登錄,登錄以后,就可以看到“Downloads”的tab了。
目前最新的版本為Rational Team Concert 1.0 RC4,支持Linux和Windows兩種操作系統(tǒng),分為三種版本Express-C,Express,Standard,其中,Express-C與Express在功能上沒有太大區(qū)別,只是Express支持更多的數(shù)據(jù)庫(kù)和中間件,并且Express使用IBM Installation Manager進(jìn)行安裝管理。Express-C不需要安裝,解壓縮后就可以使用。Standard功能最為強(qiáng)大,但對(duì)于我這種初學(xué)者來說,還暫時(shí)接觸不到那些強(qiáng)大的功能。所以,我選擇了前兩種版本(Windows)進(jìn)行安裝。
先說下Express版本,因?yàn)楣静蛔層孟螺d工具,而Express-C的壓縮包有390m,我下了7,8次都失敗了,一氣之下,就下載了Express版本。它的安裝包很小,只有68m,下載的exe文件實(shí)際上是IBM Installation Manager的壓縮包,執(zhí)行之后會(huì)自動(dòng)啟動(dòng)IBM Installation Manager,然后再?gòu)木W(wǎng)絡(luò)上讀取Rational Team Concert的安裝文件。安裝好Server和Client以后,會(huì)在開始菜單中創(chuàng)建圖標(biāo),方便啟動(dòng),停止Server/Client。它的卸載也很方便,自帶了uninstall程序,卸載的比較干凈。
再說下Express-C版本,當(dāng)年用tomcat等開源工具用多了,還是喜歡這種解壓即用的方式,以后的操作,我都會(huì)使用這個(gè)版本。通過jazz網(wǎng)站下載的是一個(gè)包括所有組件的壓縮包,解壓之后有670m,包括Server和Client。算是比較精致的了。
二、安裝
1)解壓:將RTC-ExpressC-Full-1[1].0RC4-Win.zip壓縮包解壓,我這里使用的路徑為e:\jazz
2)配置:看了一下Jazz 系列演示,第 1 部分:安裝Jazz服務(wù)器,視頻中首先配置了一下JRE_HOME(我的電腦上點(diǎn)右鍵-選擇屬性-高級(jí)-環(huán)境變量-新建一個(gè)系統(tǒng)變量,變量名為JRE_HOME,變量值為E:\jazz\server\win32\ibm-java2-i386-50\jre,這里要根據(jù)你的實(shí)際情況進(jìn)行修改-確定)我試驗(yàn)過,如果是自己機(jī)器上已經(jīng)安裝了jdk跟jre,不配置它的JRE_HOME也是可以正常使用的。
3)啟動(dòng)Server:通過命令行進(jìn)入E:\jazz\server目錄,執(zhí)行server.startup.bat文件。打開server.startup.bat看了一下,它是啟動(dòng)了E:\jazz\server下的tomcat,看來Jazz Server是使用的tomcat作為Web服務(wù)器。
4)驗(yàn)證安裝:在地址欄中輸入:http://localhost:9080,看到我們常見的tomcat歡迎界面,這里可以得知,Jazz修改了默認(rèn)的tomcat端口(默認(rèn)為8080,9080為websphere的默認(rèn)端口),看來為了方便與websphere統(tǒng)一吧。
在地址欄中輸入https://localhost:9443/jazz/admin,進(jìn)入Jazz Server的控制臺(tái),用戶名和密碼都為ADMIN(大小寫敏感),如果能成功登錄,說明部署成功。這種控制臺(tái)的訪問方式,說明jazz控制臺(tái)是作為一個(gè)web應(yīng)用部署到服務(wù)器上了,以后入門了可以研究下它的源代碼。
5)停止Server:這個(gè)就不多說了,通過命令行進(jìn)入E:\jazz\server目錄,執(zhí)行server.shutdown.bat文件。
今天先寫到這里吧,明天再看client的部署。打字還是蠻累了:)
Cannot create JDBC driver of class '' for connect URL 'null'
在Tomcat 5.5.XX中,使用以前的配置方式,會(huì)出現(xiàn)這個(gè)問題。
解決方法:
將如下格式的Resource描述插入server.xml的<Context></Context>中:
<Resource name="jdbc/db" type="javax.sql.DataSource" username="sa" password="admin" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" maxIdle="2" maxWait="5000" url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=jspdev" maxActive="4"/>
用以取代以前的配置方式:
<Resource name="jdbc/db" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/db">
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
</parameter>
<parameter>
<name>password</name>
<value>admin</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=jspdev</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>20</value>
</parameter>
<parameter>
<name>removeAbandoned</name>
<value>true</value>
</parameter>
<parameter>
<name>removeAbandonedTimeout</name>
<value>180</value>
</parameter>
<parameter>
<name>username</name>
<value>sa</value>
</parameter>
</ResourceParams>
mysql為4.10以上會(huì)發(fā)生此錯(cuò)誤,php4.x下phpmyadmin之類的程序連接不上數(shù)據(jù)庫(kù),是因?yàn)閙ysql4.10以上改變了用戶密碼驗(yàn)證協(xié)議,php的連接模塊也需要更換新的,php5默認(rèn)就是這種新的連接模塊
不想更換可以這樣:
- # SET PASSWORD FOR 'some_user'@'some_host' = OLD_PASSWORD('newpwd');
- # FLUSH PRIVILEGES;
http://www.bewww.net/
無聊的朋友可以看下
推薦一款免費(fèi)的UML工具,JUDE Community,最新版本為5.1.1,用java開發(fā)的,JUDE是一個(gè)中日合作項(xiàng)目,分為兩種版本,professional和community,其中professional是收費(fèi)的,community是免費(fèi)的,好像唯一的區(qū)別就是免費(fèi)的版本不支持uml2.0,但是用來學(xué)習(xí)花uml圖還是沒問題的。我將安裝文件放到csdn上了,想用卻找不到下載地址的朋友可以去csdn下載。
http://www.allimant.org/javadoc/index.php
今天重新安裝了Windows2003 sp1,發(fā)現(xiàn)無法降低IE的安全級(jí)別,提示:“此域的推薦安全級(jí)別是“安全級(jí)-高”,您的選擇級(jí)別較低,請(qǐng)選擇“安全級(jí)-高”或更高級(jí)別”
后在網(wǎng)上百度到了一個(gè)解決方法,轉(zhuǎn)一下,方便以后的使用
打開
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3
將MinLevel改為10000(十六進(jìn)制)
我,畢業(yè)以后陰差陽(yáng)錯(cuò)地進(jìn)入了一個(gè)測(cè)試公司,稱不上是一個(gè)全職的Java開發(fā)人員。但是喜歡Java開發(fā)的我,從沒有放棄對(duì)Java的執(zhí)著。
10月31日開始,不情愿的連續(xù)接了兩個(gè)測(cè)試項(xiàng)目,跟Java無關(guān),學(xué)不到任何東西,但卻又因?yàn)轫?xiàng)目時(shí)間緊張,忙得焦頭爛額。
直到今天才突然醒悟,我已經(jīng)整整浪費(fèi)了一個(gè)半月的時(shí)間,這段時(shí)間里,我舉足不前,沒有任何進(jìn)步,反到是遺忘了很多前一段時(shí)間剛學(xué)的技術(shù)。
呵呵,不想再這樣混下去了,無論以后接到的項(xiàng)目是否跟Java有關(guān),我都要抽出時(shí)間來學(xué)習(xí)Java,學(xué)習(xí)如逆水行舟,不進(jìn)則退,我現(xiàn)在到底退到什么程度了,是不是還不如沒畢業(yè)之前的水平呢?我不知道。
再忍忍吧,合同結(jié)束后,我就找一家全職做Java開發(fā)的公司,從頭開始。也許這樣做,我會(huì)失去這兩年所擁有的一切,但是,卻可以回到我應(yīng)在的軌道上去,我認(rèn)為值得!!!
大學(xué)畢業(yè)以后,在網(wǎng)上買了不少的書,有些至今也沒看完。今天把圖書目錄帖出來,并跟各位朋友保證,盡快讀完這些書,不再浪費(fèi)自己的血汗錢!
* 軟件評(píng)測(cè)師教程
*軟件評(píng)測(cè)師考試考點(diǎn)分析與真題詳解
*JUNIT IN ACTION中文版
*精通Struts:基于MVC的Java Web設(shè)計(jì)與開發(fā)
*精通Hibernate:Java對(duì)象持久化技術(shù)詳解
*Spring in Action中文版
*NetBeans IDE中文版用戶指南
*Ajax基礎(chǔ)教程
*鳥哥的LINUX私房菜:基礎(chǔ)學(xué)習(xí)篇
WebWork in Action中文版
Ajax實(shí)戰(zhàn)
Jbuilder 9軟件開發(fā)項(xiàng)目實(shí)踐(第2版)
JAVA實(shí)例技術(shù)手冊(cè)
設(shè)計(jì)模式精解
J2EE核心模式(原書第2版)
J2EE架構(gòu)師認(rèn)證指南
應(yīng)用Rails進(jìn)行敏捷Web開發(fā)
工作了才一年多,身體已經(jīng)毀了。視力就不用說了,從1.5直接下降到0.8。頸椎,腰椎,手腕,肩膀,膝蓋動(dòng)哪哪響,特別是手腕,是經(jīng)典的“鼠標(biāo)手”。更悲慘的,是內(nèi)傷,以前一年也不病一次,現(xiàn)在可好,經(jīng)常感冒,有時(shí)還胃疼,難道這就是一個(gè)程序員“應(yīng)得”的?這次感冒好了以后,一定要去健身了!
身體是革命的本錢,我可不想出師未捷身先死:)
java連接mysql
以前寫過一個(gè)java連接Sql Server的例子,但大家還是經(jīng)常會(huì)問java如何連接mysql,索性將這個(gè)也寫下來了:)
首先下載jdbc驅(qū)動(dòng)(用搜索引擎搜下,多如牛毛),mysql的jdbc驅(qū)動(dòng)只有一個(gè)jar包,名為mysqldriver.jar,只要把這個(gè)jar包設(shè)置到環(huán)境變量(classpath)里就可以了
假設(shè)驅(qū)動(dòng)程序安裝在d:\sqldriver目錄下,那么就在classpath中添加d:\sqldriver\mysqldriver.jar;
測(cè)試代碼
import java.sql.*;
public class SqlTesting {
public static void main(String args[]) {
String url = "jdbc:mysql://localhost:3306/test";//test為數(shù)據(jù)庫(kù)名
String user ="root";
String password = "";
String sqlStr = "select * from test_table";//test_table為表名
try {
Class.forName("com.mysql.jdbc.Driver");
System.out.println( "" );
Connection con = DriverManager.getConnection( url, user, password );
Statement st = con.createStatement();
ResultSet rs = st.executeQuery( sqlStr );
while(rs.next()) {
System.out.println(rs.getString(1));
}
rs.close();
st.close();
con.close();
} catch(Exception err) {
err.printStackTrace(System.out);
}
}
}
jar包篇
====================================================================================
1.寫代碼
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello World!");
}
}
2.編譯
javac HelloWorld
3.打包
1)新建文件夾,把HelloWorld.java HelloWorld.class復(fù)制到該文件夾下
2)新建 文本文檔,在文檔中寫入
Manifest-Version: 1.0
Created-By: 1.5.0 (Sun Microsystems Inc.)
Main-Class: HelloWorld
保存為MANIFEST.MF
3)在dos下進(jìn)入新建文件夾,使用命令jar cvf hello.jar *.* 打包,如果看到各個(gè)文件的壓縮比率就是打包成功
4.運(yùn)行
在dos下使用命令java -jar hello.jar運(yùn)行jar包
5.設(shè)置雙擊運(yùn)行
1)如果機(jī)器中要裝有Java Runtime Environment(JRE)
右鍵點(diǎn)擊你的jar文件
選擇打開方式
選擇java(TM)2 platform,一直打開復(fù)選框打上勾
以后再雙擊jar文件就自動(dòng)運(yùn)行了
2)如果機(jī)器中沒有安裝JRE
新建 文本文檔,在文檔中寫入
java -jar hello.jar
保存為run.bat
以后可以使用bat批處理文件快速運(yùn)行
J2SE
0213207 Java 數(shù)據(jù)結(jié)構(gòu)和算法 (美)Robert Lafore著 2005-12-28 2006-03-04 自科書庫(kù)
0215825 JAVA圖形用戶界面設(shè)計(jì)與實(shí)例 陳家興, 陳風(fēng), 朱國(guó)鴻編著 2005-05-26 2005-09-07 自科書庫(kù)
0160533 Java 網(wǎng)絡(luò)編程 主編殷兆麟 2005-05-26 2005-06-02 自科書庫(kù)
J2ME
0188296 J2ME 無線 Java 應(yīng)用開發(fā) (美)Paul Tremblett著 2005-01-10 2005-02-21 自科書庫(kù)
0231875 用Java/C#開發(fā)手機(jī)程序及移動(dòng)應(yīng)用 唐大仕編著 2005-05-26 2005-06-02 自科書庫(kù)
設(shè)計(jì)模式
C0287964 設(shè)計(jì)模式精解 (美) Alan Shalloway & James R. Trott著 2005-11-13 2005-12-28 自科書庫(kù)
0216187 Java實(shí)用系統(tǒng)開發(fā)指南 彭晨陽(yáng)編著 2005-09-06 2005-11-23 自科書庫(kù)
OTHER
0180173 XML 技術(shù)大全 (美)Heather Williamson著 2005-11-23 2005-12-04 自科書庫(kù)
0216758 軟件測(cè)試與Junit實(shí)踐 王東剛編著 2005-11-23 2006-04-21 自科書庫(kù)
0189644 Ant權(quán)威指南 Jesse Tilly, Eric M. Burke著 2005-11-23 2005-11-23 自科書庫(kù)
C0285995 Java優(yōu)化編程 林勝利, 王坤茹, 孟海利編著 2006-04-21 2006-05-15 自科書庫(kù)
SQL Server
0216065 SQL Server數(shù)據(jù)庫(kù)開發(fā)入門與范例解析 夏邦貴, 郭勝等編著 2005-03-16 2005-05-26 自科書庫(kù)
0186569 SQL Server數(shù)據(jù)庫(kù)原理及應(yīng)用教程 張莉... [等] 編著 2005-01-10 2005-03-06 自科書庫(kù)
MySQL
0161061 MySQL 數(shù)據(jù)庫(kù)大進(jìn)擊 世詰資訊,王成春,周文玲編著 2005-12-28 2006-03-04 自科書庫(kù)
0189493 MySQL 4從入門到精通 (美)Ian Gilfillan著 2005-11-23 2005-12-23 自科書庫(kù)
Oracle
0186497 Oracle 企業(yè)管理器基礎(chǔ)教程 (美)Lars Bo Vanting,(美)Dirk Schepanek著 2006-04-21 2006-04-29 自科書庫(kù)
LINUX
0206122 Red Hat Linux 9 桌面應(yīng)用 SmarTraining 工作室,梁如軍,解宇杰編著 2005-09-07 2005-09-23 自科書庫(kù)
0206089 Red Hat Linux 9 系統(tǒng)管理 SmarTraining 工作室,金潔珩,王娟等編著 2005-11-02 2005-11-23 自科書庫(kù)
三個(gè)月的實(shí)習(xí)結(jié)束了,本來以為重獲自由會(huì)感到很輕松,但結(jié)果卻沒有我想象中的那么開心,居然還攙雜著一絲的留戀。是對(duì)人?還是對(duì)這種朝九晚五的生活?我不知道。再回來的時(shí)候,應(yīng)該是兩個(gè)月之后了,相信到時(shí)候已經(jīng)是事人非。
這三個(gè)月,我主要是在做公司MIS的開發(fā),因?yàn)椴捎昧薙truts和Hibernate框架相結(jié)合,可以說是一直在不斷的學(xué)習(xí)和探索新的知識(shí),我并沒有感到所謂的工作枯燥乏味,反而感到過得很充實(shí)。
唯一比較郁悶的是,我們公司是以測(cè)試為主,搞開發(fā)的人寥寥無幾,又沒有人以前做過基于這兩種框架的開發(fā)。所以我遇到了問題,根本沒有人可以討教,只能一點(diǎn)一點(diǎn)的摸索試驗(yàn),在網(wǎng)上尋求幫助和答案。常常很簡(jiǎn)單的幾行代碼,因?yàn)殂@進(jìn)了牛角尖,需要耗費(fèi)半天的時(shí)間。這就是我的BLOG誕生的主要原因,我希望能找到一群和我共同學(xué)習(xí)探討JAVA知識(shí)的朋友,現(xiàn)在的我,很孤獨(dú)。
好了,不想那么多了,還是趕快回到學(xué)校吧,享受我最后的校園生活!
曾經(jīng)看到過一種最簡(jiǎn)單的連接access數(shù)據(jù)庫(kù)的方法,居然不需要配置數(shù)據(jù)源,也不
需要安裝驅(qū)動(dòng).今天看到網(wǎng)上有人問,就寫下來了
======================================================================
import java.sql.*;
public class ToAccess {
public static void main(String args[]) {
try {
String url = "jdbc:odbc:driver={Microsoft
Access Driver (*.mdb)};DBQ=D:\\bookshop.mdb";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn = DriverManager.getConnection
(url);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select *
from books");
while (rs.next()) {
System.out.println("The book's name
is:" + rs.getString("book"));
System.out.println("The author is: " +
rs.getString("author"));
}
rs.close();
stmt.close();
conn.close();
} catch(Exception e) {
System.out.println(e.getMessage());
}
}
}
C/S模式Hello World
1.接口Hello代碼
======================================================================
import java.rmi.*;
public interface Hello extends Remote {
public String sayHello(String s) throws RemoteException;
}
2.實(shí)現(xiàn)類HelloImpl代碼
======================================================================
import java.rmi.*;
import java.rmi.server.*;
public class HelloImpl extends UnicastRemoteObject implements Hello {
public HelloImpl() throws RemoteException{}
public String sayHello(String s) throws RemoteException {
return "Echo:"+s;
}
}
3.服務(wù)器類RMIServer代碼
======================================================================
import java.rmi.*;
class RMIServer {
public static void main (String []args) throws Exception {
HelloImpl hi=new HelloImpl();
Naming.rebind("hello",hi);
}
}
4.客戶端類RMIClient代碼
======================================================================
import java.rmi.*;
class RMIClient {
public static void main (String []args) throws Exception {
Hello h=(Hello)Naming.lookup("hello");
System.out.println(h.sayHello("Hello World!"));
}
}
5.編譯
======================================================================
javac *.java 編譯所有.java文件
rmic HelloImpl 產(chǎn)生stub,Skeleton文件,Stub是遠(yuǎn)程對(duì)象的客戶端代理
是遠(yuǎn)程對(duì)象的服務(wù)器代理
6.運(yùn)行
======================================================================
打開一個(gè)dos窗口,輸入rmiregistry
打開另一個(gè)dos窗口,輸入java RMIServer,啟動(dòng)服務(wù)器
打開最后一個(gè)dos窗口,輸入java RMIClient,啟動(dòng)客戶端
又可以看見Hello World了
JSP篇補(bǔ)充
============================================================================================
jsp調(diào)用javabean版的HelloWorld
1.在tomcat下的webapps目錄下新建一個(gè)文件夾jsp,這個(gè)目錄下專門存放jsp文件
2.在jsp下建立一個(gè)新文件夾WEB-INF(不能自定義),這個(gè)目錄下專門存放web.xml文件(這次用不到)
3.在WEB-INF下建立一個(gè)新文件夾classes(不能自定義),這個(gè)目錄下專門存放編譯好的class文件,包括
servlet
4.編寫javabean代碼
package beans;
public class TestBean {
private String name = null;
public void setName(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
}
5.編譯javabean代碼
使用命令javac -d . TestBean.java,javac與-d
-d與.
.與TestBean.java之間都要有空格
(這樣編譯會(huì)生成beans目錄,目錄下是編譯好的TestBean.class)
將beans目錄剪切到webapps\jsp\WEB-INF\classes目錄下
6.編寫jsp代碼
<%@ page import="beans.TestBean" %>
<html>
<body>
<%
TestBean bean=new TestBean();
bean.setName("Hello World!");
%>
<%=bean.getName()%>
</body>
</html>
假設(shè)保存為hello.jsp
7.運(yùn)行
啟動(dòng)tomcat服務(wù)器,在地址欄中輸入http://localhost:8080/jsp/hello.jsp
--------------------------------------------------------------------------------------------
servlet篇
============================================================================================
servlet版的HelloWorld
1.在tomcat下的webapps目錄下新建一個(gè)文件夾java
2.在java下建立一個(gè)新文件夾WEB-INF(不能自定義)
3.在WEB-INF下建立一個(gè)新文件夾classes(不能自定義),這個(gè)目錄下專門存放編譯好的class文件,包括
servlet
4.編寫servlet
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorld extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response) throws IOException, ServletException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<body>");
out.println("Hello World!");
out.println("</body>");
out.println("</html>");
}
}
保存為HelloWorld.java
5.編譯HelloWorld.java
使用命令javac HelloWorld.java,把編譯好的class文件放到webapps\java\WEB-INF\classes目錄下
6.編寫web.xml文件
<?xml version="1.0" encoding="big5"?>
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"<web-app>
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
保存為web.xml(不能自定義),把web.xml文件放到webapps\java\WEB-INF目錄下
7.運(yùn)行
啟動(dòng)tomcat服務(wù)器,在地址欄中輸入http://localhost:8080/java/hello
JAVA篇
==================================================================================
1.jdk1.5.0的下載地址
http://java.sun.com/j2se/1.5.0/download.jsp
2.jdk1.5.0的安裝
很簡(jiǎn)單,沒什么可說的,只建議修改安裝目錄名成為jdk1.5.0
3.jdk1.5.0的配置
(假設(shè)jdk的安裝目錄是d:\jdk1.5.0)
右鍵點(diǎn)擊[我的電腦],選擇[屬性],選擇[高級(jí)]選項(xiàng)卡,單擊[環(huán)境變量]按鈕,在[系統(tǒng)變量]找到path變量,單擊[編輯]按鈕,把d:\jdk1.5.0\bin添加到里面,與已有的內(nèi)容用分號(hào)隔開.
在[系統(tǒng)變量]中單擊[新建]按鈕,在[變量名]文本框中輸入名稱classpath,在[變量值]文本框中輸入.;D:\jdk1.5\lib
4.編寫HelloWorld
推薦剛?cè)腴T時(shí)不要使用IDE,用簡(jiǎn)單的文本編輯器就可以了,比較好用的有Jcreator(可以不用進(jìn)dos直接編譯運(yùn)行java程序),Editplus,UltraEdit
public class HelloWorld {
public static void main(String args[]) {
System.out.println("Hello World!");
}
}
保存為HelloWorld.java,注意文件名必須與聲明為public類的類名完全相同,包括大小寫
5.編譯HelloWorld
在dos下進(jìn)入HelloWorld.java文件所在目錄,使用命令javac HelloWorld.java編譯,注意HelloWorld.java大小寫一定要正確
6.運(yùn)行HelloWorld
使用命令java HelloWorld,注意HelloWorld大小寫一定要正確,而且不要寫.java后綴
7.java入門推薦書籍
java編程思想(thinking in java),雖然現(xiàn)在已經(jīng)出第三版了,但是還是強(qiáng)烈推薦學(xué)習(xí)第二版,侯捷翻譯的,第三版翻譯的不好
8.java API
現(xiàn)在jdk5.0有中文版api了,只不過還沒完全翻譯完
瀏覽地址:http://gceclub.sun.com.cn/chinese_java_docs.html
下載地址:論壇里有網(wǎng)友做好的chm格式的API,可以免費(fèi)下載
9.java連接SQL Server2000
(現(xiàn)在企業(yè)最常用的數(shù)據(jù)庫(kù)就是SQL Server2000,所以只說這個(gè),別的都是大同小異,連接access,mysql,Oracle數(shù)據(jù)庫(kù)遇到問題的可以和我聯(lián)系)
java連接數(shù)據(jù)庫(kù)一般有兩種方式,一是通過jdbc/odbc橋(需要配置數(shù)據(jù)源),二是通過jdbc驅(qū)動(dòng).這里強(qiáng)烈推薦使用后者,因?yàn)榍罢呱婕暗絡(luò)dbc到odbc轉(zhuǎn)換的問題,執(zhí)行效率很低.
首先下載jdbc驅(qū)動(dòng)包(用搜索引擎搜下,多如牛毛),安裝之后,打開那個(gè)文件夾,會(huì)看到三個(gè)jar包,只要把這三個(gè)jar包設(shè)置到環(huán)境變量(classpath)里就可以了
假設(shè)驅(qū)動(dòng)程序安裝在d:\sqldriver目錄下,那么就在classpath中添加d:\sqldriver\msbase.jar;d:\sqldriver\mssqlserver.jar;d:\sqldriver\msutil.jar;
注意:如果使用的是windows xp系統(tǒng)的sp2 版本,就需要給SQL Server2000打一個(gè)sp3a或者sp4的補(bǔ)丁.打完之補(bǔ)丁之后才可以使用
測(cè)試代碼(使用的是SQL Server自帶的數(shù)據(jù)庫(kù),可以直接編譯運(yùn)行)
import java.sql.*;
public class SqlTesting {
public static void main(String args[]) {
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Northwind";
String user ="sa";
String password = "sa";
String sqlStr = "select CustomerID, CompanyName, ContactName from Customers";
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
System.out.println( "" );
Connection con = DriverManager.getConnection( url, user, password );
Statement st = con.createStatement();
ResultSet rs = st.executeQuery( sqlStr );
while(rs.next()) {
System.out.print(rs.getString("CustomerID") + " ");
System.out.print(rs.getString("CompanyName") + " ");
System.out.println(rs.getString("ContactName"));
}
rs.close();
st.close();
con.close();
} catch(Exception err) {
err.printStackTrace(System.out);
}
}
}
-------------------------------------------------------------------------------------------------------------------------
JSP篇
=================================================================================
1.tomcat5.5的下載地址
http://tomcat.apache.org
2.tomcat5.5的安裝
也很簡(jiǎn)單,沒什么可說的,只建議修改安裝目錄名稱為tomcat5.5,安裝好后啟動(dòng)tomcat,在地址欄中輸入
http://localhost:8080,可以看見"cat"的歡迎界面
3.tomcat5.5的配置
需要配置classpath
假設(shè)tomcat的安裝目錄是d:\tomcat5.5,那么就在classpath中添加d:\tomcat5.5\common\lib\servlet-api.jar;d:\tomcat5.5\common\lib\jsp-api.jar;
4.編寫HelloWorld
<%
out.println("Hello World!");
%>
保存為HelloWorld.jsp
5.編譯HelloWorld
把HelloWorld.jsp放到tomcat的webapps\ROOT目錄下,啟動(dòng)tomcat時(shí)服務(wù)器會(huì)自動(dòng)把jsp文件翻譯成servlet文件
6.運(yùn)行HelloWorld
在地址欄中輸入http://localhost:8080/HelloWorld.jsp,注意HelloWorld的大小寫和后綴名不要寫錯(cuò)
7.jsp連接SQL Server2000
要在tomcat中使用jdbc,就要把驅(qū)動(dòng)程序設(shè)置到tomcat中,否則服務(wù)器是找不到的.
把jdbc驅(qū)動(dòng)放到tomcat的\webapps\ROOT\WEB-INF\lib下,然后設(shè)置classpath
假設(shè)tomcat安裝在d:\tomcat5.5目錄下,那么就在classpath中添加d:\tomcat5.5\webapps\ROOT\WEB-INF\lib\msbase.jar;d:\tomcat5.5\webapps\ROOT\WEB-INF\lib\mssqlserver.jar;d:\tomcat5.5\webapps\ROOT\WEB-INF\lib\msutil.jar;
測(cè)試代碼(使用的是SQL Server自帶的數(shù)據(jù)庫(kù),可以直接編譯運(yùn)行)
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
String user="sa";
String password="sa";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement();
String sql="select * from jobs";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
<%=rs.getString(1)%>
<%=rs.getString(2)%>
<%}%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
--------------------------------------------------------------------------------------------------------------------------
其他篇
==================================================================================
1.免費(fèi)下載java,jsp項(xiàng)目源代碼
code.cnzz.cn
2.免費(fèi)下載java,jsp畢業(yè)設(shè)計(jì)
www.happycampus.com.cn
上面有好多畢業(yè)設(shè)計(jì),包括源代碼
只要免費(fèi)注冊(cè)后用積分下載就可以了
3.比較好的java學(xué)習(xí)網(wǎng)站和論壇
http://www.javaresearch.org
JR論壇,很有名氣的
==================================================================================