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

(轉自IBM Developerworks)
分析Jazz的體系結構圖:
Jazz 是一個C/S結構的平臺。有一臺Jazz 服務器,并在其存儲庫中存放數據。遠程客戶端通過網絡使用 HTTP 與 Jazz 服務器通信。遠程客戶端有多種類型,Eclipse,其他的IDE(據說還包括了Visual Studio,帥氣),瀏覽器方式,原文中還說:Jazz 特定的命令行工具或 Ant 腳本在 Headless 模式下操作。Headless模式我不是很理解,BAIDU了一下,找到一篇關于jdk的Headless模式的文章,地址:http://alpineflame.blogchina.com/alpineflame/6188682.html
先記下概念,跳過這塊,等真正用到了我想就會理解了。
懶得深究概念性的東西了,還是直接進入實際操作吧,跳到“多媒體演示”,目前Jazz的視頻共有6個部分,不是很新,時間也比較短,但對入門來說還是個不錯的東西,希望我能按部就班的走完視頻中的內容,在筆記中我將詳細記錄操作步驟,供大家共同學習探討。
IBM® Rational® Team Concert Express 是第一個基于 Jazz 技術平臺的產品,它使眾多軟件開發人員可以協同如一個地開發和交付軟件。
一、下載
首先要到http://jazz.net上進行注冊,然后使用注冊后的帳戶進行登錄,登錄以后,就可以看到“Downloads”的tab了。
目前最新的版本為Rational Team Concert 1.0 RC4,支持Linux和Windows兩種操作系統,分為三種版本Express-C,Express,Standard,其中,Express-C與Express在功能上沒有太大區別,只是Express支持更多的數據庫和中間件,并且Express使用IBM Installation Manager進行安裝管理。Express-C不需要安裝,解壓縮后就可以使用。Standard功能最為強大,但對于我這種初學者來說,還暫時接觸不到那些強大的功能。所以,我選擇了前兩種版本(Windows)進行安裝。
先說下Express版本,因為公司不讓用下載工具,而Express-C的壓縮包有390m,我下了7,8次都失敗了,一氣之下,就下載了Express版本。它的安裝包很小,只有68m,下載的exe文件實際上是IBM Installation Manager的壓縮包,執行之后會自動啟動IBM Installation Manager,然后再從網絡上讀取Rational Team Concert的安裝文件。安裝好Server和Client以后,會在開始菜單中創建圖標,方便啟動,停止Server/Client。它的卸載也很方便,自帶了uninstall程序,卸載的比較干凈。
再說下Express-C版本,當年用tomcat等開源工具用多了,還是喜歡這種解壓即用的方式,以后的操作,我都會使用這個版本。通過jazz網站下載的是一個包括所有組件的壓縮包,解壓之后有670m,包括Server和Client。算是比較精致的了。
二、安裝
1)解壓:將RTC-ExpressC-Full-1[1].0RC4-Win.zip壓縮包解壓,我這里使用的路徑為e:\jazz
2)配置:看了一下Jazz 系列演示,第 1 部分:安裝Jazz服務器,視頻中首先配置了一下JRE_HOME(我的電腦上點右鍵-選擇屬性-高級-環境變量-新建一個系統變量,變量名為JRE_HOME,變量值為E:\jazz\server\win32\ibm-java2-i386-50\jre,這里要根據你的實際情況進行修改-確定)我試驗過,如果是自己機器上已經安裝了jdk跟jre,不配置它的JRE_HOME也是可以正常使用的。
3)啟動Server:通過命令行進入E:\jazz\server目錄,執行server.startup.bat文件。打開server.startup.bat看了一下,它是啟動了E:\jazz\server下的tomcat,看來Jazz Server是使用的tomcat作為Web服務器。
4)驗證安裝:在地址欄中輸入:http://localhost:9080,看到我們常見的tomcat歡迎界面,這里可以得知,Jazz修改了默認的tomcat端口(默認為8080,9080為websphere的默認端口),看來為了方便與websphere統一吧。
在地址欄中輸入https://localhost:9443/jazz/admin,進入Jazz Server的控制臺,用戶名和密碼都為ADMIN(大小寫敏感),如果能成功登錄,說明部署成功。這種控制臺的訪問方式,說明jazz控制臺是作為一個web應用部署到服務器上了,以后入門了可以研究下它的源代碼。
5)停止Server:這個就不多說了,通過命令行進入E:\jazz\server目錄,執行server.shutdown.bat文件。
今天先寫到這里吧,明天再看client的部署。打字還是蠻累了:)
Cannot create JDBC driver of class '' for connect URL 'null'
在Tomcat 5.5.XX中,使用以前的配置方式,會出現這個問題。
解決方法:
將如下格式的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以上會發生此錯誤,php4.x下phpmyadmin之類的程序連接不上數據庫,是因為mysql4.10以上改變了用戶密碼驗證協議,php的連接模塊也需要更換新的,php5默認就是這種新的連接模塊
不想更換可以這樣:
- # SET PASSWORD FOR 'some_user'@'some_host' = OLD_PASSWORD('newpwd');
- # FLUSH PRIVILEGES;
http://www.bewww.net/
無聊的朋友可以看下
推薦一款免費的UML工具,JUDE Community,最新版本為5.1.1,用java開發的,JUDE是一個中日合作項目,分為兩種版本,professional和community,其中professional是收費的,community是免費的,好像唯一的區別就是免費的版本不支持uml2.0,但是用來學習花uml圖還是沒問題的。我將安裝文件放到csdn上了,想用卻找不到下載地址的朋友可以去csdn下載。
http://www.allimant.org/javadoc/index.php
今天重新安裝了Windows2003 sp1,發現無法降低IE的安全級別,提示:“此域的推薦安全級別是“安全級-高”,您的選擇級別較低,請選擇“安全級-高”或更高級別”
后在網上百度到了一個解決方法,轉一下,方便以后的使用
打開
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3
將MinLevel改為10000(十六進制)
我,畢業以后陰差陽錯地進入了一個測試公司,稱不上是一個全職的Java開發人員。但是喜歡Java開發的我,從沒有放棄對Java的執著。
10月31日開始,不情愿的連續接了兩個測試項目,跟Java無關,學不到任何東西,但卻又因為項目時間緊張,忙得焦頭爛額。
直到今天才突然醒悟,我已經整整浪費了一個半月的時間,這段時間里,我舉足不前,沒有任何進步,反到是遺忘了很多前一段時間剛學的技術。
呵呵,不想再這樣混下去了,無論以后接到的項目是否跟Java有關,我都要抽出時間來學習Java,學習如逆水行舟,不進則退,我現在到底退到什么程度了,是不是還不如沒畢業之前的水平呢?我不知道。
再忍忍吧,合同結束后,我就找一家全職做Java開發的公司,從頭開始。也許這樣做,我會失去這兩年所擁有的一切,但是,卻可以回到我應在的軌道上去,我認為值得!!!
大學畢業以后,在網上買了不少的書,有些至今也沒看完。今天把圖書目錄帖出來,并跟各位朋友保證,盡快讀完這些書,不再浪費自己的血汗錢!
* 軟件評測師教程
*軟件評測師考試考點分析與真題詳解
*JUNIT IN ACTION中文版
*精通Struts:基于MVC的Java Web設計與開發
*精通Hibernate:Java對象持久化技術詳解
*Spring in Action中文版
*NetBeans IDE中文版用戶指南
*Ajax基礎教程
*鳥哥的LINUX私房菜:基礎學習篇
WebWork in Action中文版
Ajax實戰
Jbuilder 9軟件開發項目實踐(第2版)
JAVA實例技術手冊
設計模式精解
J2EE核心模式(原書第2版)
J2EE架構師認證指南
應用Rails進行敏捷Web開發
工作了才一年多,身體已經毀了。視力就不用說了,從1.5直接下降到0.8。頸椎,腰椎,手腕,肩膀,膝蓋動哪哪響,特別是手腕,是經典的“鼠標手”。更悲慘的,是內傷,以前一年也不病一次,現在可好,經常感冒,有時還胃疼,難道這就是一個程序員“應得”的?這次感冒好了以后,一定要去健身了!
身體是革命的本錢,我可不想出師未捷身先死:)
java連接mysql
以前寫過一個java連接Sql Server的例子,但大家還是經常會問java如何連接mysql,索性將這個也寫下來了:)
首先下載jdbc驅動(用搜索引擎搜下,多如牛毛),mysql的jdbc驅動只有一個jar包,名為mysqldriver.jar,只要把這個jar包設置到環境變量(classpath)里就可以了
假設驅動程序安裝在d:\sqldriver目錄下,那么就在classpath中添加d:\sqldriver\mysqldriver.jar;
測試代碼
import java.sql.*;
public class SqlTesting {
public static void main(String args[]) {
String url = "jdbc:mysql://localhost:3306/test";//test為數據庫名
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復制到該文件夾下
2)新建 文本文檔,在文檔中寫入
Manifest-Version: 1.0
Created-By: 1.5.0 (Sun Microsystems Inc.)
Main-Class: HelloWorld
保存為MANIFEST.MF
3)在dos下進入新建文件夾,使用命令jar cvf hello.jar *.* 打包,如果看到各個文件的壓縮比率就是打包成功
4.運行
在dos下使用命令java -jar hello.jar運行jar包
5.設置雙擊運行
1)如果機器中要裝有Java Runtime Environment(JRE)
右鍵點擊你的jar文件
選擇打開方式
選擇java(TM)2 platform,一直打開復選框打上勾
以后再雙擊jar文件就自動運行了
2)如果機器中沒有安裝JRE
新建 文本文檔,在文檔中寫入
java -jar hello.jar
保存為run.bat
以后可以使用bat批處理文件快速運行
J2SE
0213207 Java 數據結構和算法 (美)Robert Lafore著 2005-12-28 2006-03-04 自科書庫
0215825 JAVA圖形用戶界面設計與實例 陳家興, 陳風, 朱國鴻編著 2005-05-26 2005-09-07 自科書庫
0160533 Java 網絡編程 主編殷兆麟 2005-05-26 2005-06-02 自科書庫
J2ME
0188296 J2ME 無線 Java 應用開發 (美)Paul Tremblett著 2005-01-10 2005-02-21 自科書庫
0231875 用Java/C#開發手機程序及移動應用 唐大仕編著 2005-05-26 2005-06-02 自科書庫
設計模式
C0287964 設計模式精解 (美) Alan Shalloway & James R. Trott著 2005-11-13 2005-12-28 自科書庫
0216187 Java實用系統開發指南 彭晨陽編著 2005-09-06 2005-11-23 自科書庫
OTHER
0180173 XML 技術大全 (美)Heather Williamson著 2005-11-23 2005-12-04 自科書庫
0216758 軟件測試與Junit實踐 王東剛編著 2005-11-23 2006-04-21 自科書庫
0189644 Ant權威指南 Jesse Tilly, Eric M. Burke著 2005-11-23 2005-11-23 自科書庫
C0285995 Java優化編程 林勝利, 王坤茹, 孟海利編著 2006-04-21 2006-05-15 自科書庫
SQL Server
0216065 SQL Server數據庫開發入門與范例解析 夏邦貴, 郭勝等編著 2005-03-16 2005-05-26 自科書庫
0186569 SQL Server數據庫原理及應用教程 張莉... [等] 編著 2005-01-10 2005-03-06 自科書庫
MySQL
0161061 MySQL 數據庫大進擊 世詰資訊,王成春,周文玲編著 2005-12-28 2006-03-04 自科書庫
0189493 MySQL 4從入門到精通 (美)Ian Gilfillan著 2005-11-23 2005-12-23 自科書庫
Oracle
0186497 Oracle 企業管理器基礎教程 (美)Lars Bo Vanting,(美)Dirk Schepanek著 2006-04-21 2006-04-29 自科書庫
LINUX
0206122 Red Hat Linux 9 桌面應用 SmarTraining 工作室,梁如軍,解宇杰編著 2005-09-07 2005-09-23 自科書庫
0206089 Red Hat Linux 9 系統管理 SmarTraining 工作室,金潔珩,王娟等編著 2005-11-02 2005-11-23 自科書庫
三個月的實習結束了,本來以為重獲自由會感到很輕松,但結果卻沒有我想象中的那么開心,居然還攙雜著一絲的留戀。是對人?還是對這種朝九晚五的生活?我不知道。再回來的時候,應該是兩個月之后了,相信到時候已經是事人非。
這三個月,我主要是在做公司MIS的開發,因為采用了Struts和Hibernate框架相結合,可以說是一直在不斷的學習和探索新的知識,我并沒有感到所謂的工作枯燥乏味,反而感到過得很充實。
唯一比較郁悶的是,我們公司是以測試為主,搞開發的人寥寥無幾,又沒有人以前做過基于這兩種框架的開發。所以我遇到了問題,根本沒有人可以討教,只能一點一點的摸索試驗,在網上尋求幫助和答案。常常很簡單的幾行代碼,因為鉆進了牛角尖,需要耗費半天的時間。這就是我的BLOG誕生的主要原因,我希望能找到一群和我共同學習探討JAVA知識的朋友,現在的我,很孤獨。
好了,不想那么多了,還是趕快回到學校吧,享受我最后的校園生活!
曾經看到過一種最簡單的連接access數據庫的方法,居然不需要配置數據源,也不
需要安裝驅動.今天看到網上有人問,就寫下來了
======================================================================
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.實現類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.服務器類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 產生stub,Skeleton文件,Stub是遠程對象的客戶端代理
是遠程對象的服務器代理
6.運行
======================================================================
打開一個dos窗口,輸入rmiregistry
打開另一個dos窗口,輸入java RMIServer,啟動服務器
打開最后一個dos窗口,輸入java RMIClient,啟動客戶端
又可以看見Hello World了
JSP篇補充
============================================================================================
jsp調用javabean版的HelloWorld
1.在tomcat下的webapps目錄下新建一個文件夾jsp,這個目錄下專門存放jsp文件
2.在jsp下建立一個新文件夾WEB-INF(不能自定義),這個目錄下專門存放web.xml文件(這次用不到)
3.在WEB-INF下建立一個新文件夾classes(不能自定義),這個目錄下專門存放編譯好的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之間都要有空格
(這樣編譯會生成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>
假設保存為hello.jsp
7.運行
啟動tomcat服務器,在地址欄中輸入http://localhost:8080/jsp/hello.jsp
--------------------------------------------------------------------------------------------
servlet篇
============================================================================================
servlet版的HelloWorld
1.在tomcat下的webapps目錄下新建一個文件夾java
2.在java下建立一個新文件夾WEB-INF(不能自定義)
3.在WEB-INF下建立一個新文件夾classes(不能自定義),這個目錄下專門存放編譯好的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.運行
啟動tomcat服務器,在地址欄中輸入http://localhost:8080/java/hello