博客轉移
本博客決定轉移,請訪問新地址 http://vincentchan.cn/另外如果有人有blogjava轉wordpress的博客搬家工具,可以共享一下~~
posted @ 2010-04-27 19:15 Vincent.Chen 閱讀(249) | 評論 (0) | 編輯 收藏
2005年12月11日 #
posted @ 2010-04-27 19:15 Vincent.Chen 閱讀(249) | 評論 (0) | 編輯 收藏
posted @ 2009-04-30 09:34 Vincent.Chen 閱讀(202) | 評論 (0) | 編輯 收藏
Tomcat+Axis客戶端調service產生java.lang.reflect.InvocationTargetException錯誤
產生這個文題的原因是
1.server端發布的webservice程序中調用了某些jar或class,而服務器上卻沒有,解決方法是把jar或class拷貝到tomcat\common\lib或虛擬目錄的web-inf\lib目錄下
2.調用的方法出現了特殊的exception.但是你服務器上面沒有捕獲到
posted @ 2009-03-23 09:09 Vincent.Chen 閱讀(3489) | 評論 (0) | 編輯 收藏
posted @ 2008-07-04 23:42 Vincent.Chen 閱讀(421) | 評論 (0) | 編輯 收藏
posted @ 2008-07-01 00:34 Vincent.Chen 閱讀(261) | 評論 (0) | 編輯 收藏
posted @ 2008-06-24 00:13 Vincent.Chen 閱讀(237) | 評論 (0) | 編輯 收藏
2、設置Chart默認字體:
如果在非windows系統下使用,可以拷貝windows系統下的simsun.ttc到classes路徑下,重啟服務器即可顯示中文
然后其他的一些字體大小等都要一個個設置了,因為默認英文字體大小顯示中文不好看
這樣就可以很完美顯示中文了。比起JFreeChart來好多了,JFreeChart雖然也可以解決中文顯示問題,但是中文字體發虛,好像目前無法解決。
posted @ 2008-04-15 20:06 Vincent.Chen 閱讀(5413) | 評論 (5) | 編輯 收藏
posted @ 2008-04-02 21:38 Vincent.Chen 閱讀(4227) | 評論 (0) | 編輯 收藏
posted @ 2008-02-02 20:49 Vincent.Chen 閱讀(3411) | 評論 (0) | 編輯 收藏
Archetype | Command |
---|---|
JSF Basic | mvn archetype:create -DarchetypeGroupId=org.appfuse -DarchetypeArtifactId=appfuse-basic-jsf -DremoteRepositories=http://static.appfuse.org/repository![]() |
Spring MVC Basic | mvn archetype:create -DarchetypeGroupId=org.appfuse -DarchetypeArtifactId=appfuse-basic-spring -DremoteRepositories=http://static.appfuse.org/repository![]() |
Struts 2 Basic | mvn archetype:create -DarchetypeGroupId=org.appfuse -DarchetypeArtifactId=appfuse-basic-struts -DremoteRepositories=http://static.appfuse.org/repository![]() |
Tapestry Basic | mvn archetype:create -DarchetypeGroupId=org.appfuse -DarchetypeArtifactId=appfuse-basic-tapestry -DremoteRepositories=http://static.appfuse.org/repository![]() |
JSF Modular | mvn archetype:create -DarchetypeGroupId=org.appfuse -DarchetypeArtifactId=appfuse-modular-jsf -DremoteRepositories=http://static.appfuse.org/repository![]() |
Spring MVC Modular | mvn archetype:create -DarchetypeGroupId=org.appfuse -DarchetypeArtifactId=appfuse-modular-spring -DremoteRepositories=http://static.appfuse.org/repository![]() |
Struts 2 Modular | mvn archetype:create -DarchetypeGroupId=org.appfuse -DarchetypeArtifactId=appfuse-modular-struts -DremoteRepositories=http://static.appfuse.org/repository![]() |
Tapestry Modular | mvn archetype:create -DarchetypeGroupId=org.appfuse -DarchetypeArtifactId=appfuse-modular-tapestry -DremoteRepositories=http://static.appfuse.org/repository![]() |
Core (backend only) | mvn archetype:create -DarchetypeGroupId=org.appfuse -DarchetypeArtifactId=appfuse-core -DremoteRepositories=http://static.appfuse.org/repository![]() |
posted @ 2007-07-18 22:58 Vincent.Chen 閱讀(1030) | 評論 (0) | 編輯 收藏
posted @ 2007-07-02 23:58 Vincent.Chen 閱讀(785) | 評論 (0) | 編輯 收藏
posted @ 2007-07-02 23:54 Vincent.Chen 閱讀(2124) | 評論 (1) | 編輯 收藏
Eclipse Europa is the annual release of Eclipse projects. Like last
year’s Callisto release, the Europa release is a coordinated release of
different Eclipse project teams. This year, the annual release includes
21 projects.
By releasing these projects at the same time, the goal is to eliminate
uncertainty about version compatibility and make it easier to
incorporate multiple projects into your environment.
While Europa is about the simultaneous release of twenty one projects,
it is not a unification of the projects - each project remains a
separate open source project operating with its own project leadership,
its own committers, and its own project plan.
posted @ 2007-06-29 00:19 Vincent.Chen 閱讀(563) | 評論 (0) | 編輯 收藏
posted @ 2007-06-07 00:01 Vincent.Chen 閱讀(4579) | 評論 (1) | 編輯 收藏
posted @ 2006-06-04 17:02 Vincent.Chen 閱讀(799) | 評論 (0) | 編輯 收藏
在Connection上調用close方法會關閉Statement和ResultSet嗎?
級聯的關閉這聽起來好像很有道理,而且在很多地方這樣做也是正確的,通常這樣寫
Connection con = getConnection();//getConnection is your method
PreparedStatement ps = con.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
……
///rs.close();
///ps.close();
con.close(); // NO!
這
樣做的問題在于Connection是個接口,它的close實現可能是多種多樣的。在普通情況下,你用
DriverManager.getConnection()得到一個Connection實例,調用它的close方法會關閉Statement和
ResultSet。但是在很多時候,你需要使用數據庫連接池,在連接池中的得到的Connection上調用close方法的時候,Connection可能并沒有被釋放,而是回到了連接池中。它以后可能被其它代碼取出來用。如果沒有釋放Statement和ResultSet,那么在Connection上沒有關閉的Statement和ResultSet可能會越來越多,那么……
相反,我看到過這樣的說法,有人把Connection關閉了,卻繼續使用ResultSet,認為這樣是可以的,引發了激烈的討論,到底是怎么回事就不用我多說了吧。
所以我們必須很小心的釋放數據庫資源,下面的代碼片斷展示了這個過程
Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
con = getConnection();//getConnection is your method
ps = con.prepareStatement(sql);
rs = ps.executeQuery();
///...........
}
catch (SQLException ex) {
///錯誤處理
}
finally{
try {
if(ps!=null)
ps.close();
}
catch (SQLException ex) {
///錯誤處理
}
try{
if(con!=null)
con.close();
}
catch (SQLException ex) {
///錯誤處理
}
}
很麻煩是不是?但為了寫出健壯的程序,這些處理是必須的。
posted @ 2006-03-15 23:15 Vincent.Chen 閱讀(4375) | 評論 (0) | 編輯 收藏
Everybody knows that the basic native widgets in swt lack a lot of flexibility and features. An approach to solve these shortcomings is to build custom swt widgets that do not rely on native widgets but are custom drawn - the same approach that swing took. A good example is KTable. The custom swt widgets - custom drawn and aggergated native ones - I currently know of are:
posted @ 2006-02-21 22:39 Vincent.Chen 閱讀(1093) | 評論 (0) | 編輯 收藏
posted @ 2006-02-14 21:27 Vincent.Chen 閱讀(587) | 評論 (0) | 編輯 收藏
posted @ 2006-02-14 21:24 Vincent.Chen 閱讀(574) | 評論 (0) | 編輯 收藏
posted @ 2006-02-14 21:18 Vincent.Chen 閱讀(599) | 評論 (0) | 編輯 收藏
posted @ 2006-02-14 21:16 Vincent.Chen 閱讀(344) | 評論 (0) | 編輯 收藏
posted @ 2006-02-14 21:12 Vincent.Chen 閱讀(342) | 評論 (0) | 編輯 收藏
posted @ 2006-02-13 18:19 Vincent.Chen 閱讀(346) | 評論 (0) | 編輯 收藏
posted @ 2006-02-12 22:55 Vincent.Chen 閱讀(504) | 評論 (0) | 編輯 收藏
posted @ 2006-02-12 12:59 Vincent.Chen 閱讀(515) | 評論 (0) | 編輯 收藏
posted @ 2006-02-12 11:10 Vincent.Chen 閱讀(1046) | 評論 (1) | 編輯 收藏
posted @ 2006-02-12 11:08 Vincent.Chen 閱讀(445) | 評論 (0) | 編輯 收藏
或許你還沒有用過它, prototype.js 是一個由Sam Stephenson寫的JavaScript包。這個構思奇妙編寫良好的一段兼容標準的一段代碼將承擔創造胖客戶端, 高交互性WEB應用程序的重擔。輕松加入Web 2.0特性。
如果你最近體驗了這個程序包,你很可能會發現文檔并不是它的強項之一。像所有在我之前的開發者一樣,我只能一頭扎進prototype.js的源代碼中并且試驗其中的每一個部分。 我想當我學習他的時候記寫筆記然后分享給其他人將會很不錯。
posted @ 2006-02-12 11:06 Vincent.Chen 閱讀(418) | 評論 (0) | 編輯 收藏
posted @ 2006-02-12 11:04 Vincent.Chen 閱讀(430) | 評論 (0) | 編輯 收藏
posted @ 2006-02-12 10:53 Vincent.Chen 閱讀(438) | 評論 (0) | 編輯 收藏
在 c:\mysql\bin\ 下運行 winmysqladmin 啟動
2、??? 登錄 MySQL
初始情況下默認登錄用戶名 root ,密碼為空。
在 c:\mysql\bin 下運行 mysql -uroot 即可。當我們新建用戶之后按以下方式:
mysql -h(hostname) -u(username) -p(password)
3、??? 使用數據庫
初始安裝之后有一個保存系統表的數據庫—— mysql ,使用以下命令可以訪問數據庫
use mysql;
4、??? 新建 MySQL 用戶
用 root 帳號登錄后,進入 mysql 數據庫,執行插入語句:
insert into user (host,user,password) values('localhost','mysql',password('mysql'));
insert into user (host,user,password) values('%','mysql',password('mysql'));
flush privileges;
這樣就為 MySQL 建立了一個名為 mysql ,密碼為 mysql 的用戶,第一個用于本地登錄,第二個用于遠程登錄。
<!
注意
:
在
user
與
(host,user,password)
之間必須有空格隔開
>
<! 注意 : 在 values 與 ('','','') 之間沒有空格隔開,字符串用單引號 >
5、??? 新建數據庫
create database test;
6、??? 退出
quit;
7、??? 幾個有用的 SQL 命令:
2??????? show databases :在剛登錄之后、使用數據庫之前查看現有數據庫;
2??????? select database : 顯示當前數據庫
2??????? show tables : 顯示當前數據庫中的所有表
describe table_name :顯示某表的結構8、??? 備份與恢復 :
mysqldump -u username -p --opt? dbname >backupfileName.sql :將數據庫dbname導出到 backupfileName.sql文件中 ;
mysql dbname < backupfileName.sql:做反向工作。
posted @ 2006-02-09 00:06 Vincent.Chen 閱讀(720) | 評論 (2) | 編輯 收藏
posted @ 2006-01-18 00:34 Vincent.Chen 閱讀(533) | 評論 (0) | 編輯 收藏
通過一次小小的實踐,終于了解如何使用tomahawk中的tree2這個組件了,并且寫了小段程序,從xml中讀取樹的結構,生成一個tree,不過tree2不能直接和xml綁定是一個遺憾,那樣就會省不少事情了。記下一點心得,以供后來參考了。
對tree2的操作分為兩部分,一部分是在頁面中通過tag定義樣式相關的東西,一部分就是通過編程添加樹的節點,起初看了sample以后總是以為這東西有多么的復雜,其實邏輯是很簡單的,只是sample中定義了多種不同的樣式的節點,看上去很復雜而已。
下面附上我對sample簡化過的這段tag來說明一下。
<t:tree2 value="#{catalog.node}" var="node" id="clientside" varNodeToggler="t" >
<f:facet name="folder">
<h:panelGroup>
<f:facet name="expand">
<t:graphicImage value="images/yellow-folder-open.png" rendered="#{t.nodeExpanded}" border="0"/>
</f:facet>
<f:facet name="collapse">
<t:graphicImage value="images/yellow-folder-closed.png" rendered="#{!t.nodeExpanded}" border="0"/>
</f:facet>
<h:outputText value="#{node.description}"/>
</h:panelGroup>
</f:facet>
</t:tree2>
tree2的主tag定義了tree的根節點和一些相關的參數。嵌套的那個facet定義了一種節點的樣式,包括展開與關閉時的圖片,以及顯示的文字內容。
在程序里面,我們root TreeNodeBase = new TreeNodeBase(…)來創建一個root節點,然后通過root.getChildren().add(new TreeNodeBase(…))為其添加子節點,任何一個節點都可以添加任意多的子節點,通過這樣的操作,我們可以很容易的生成一個tree的結構了,實際上,這個tree的結構是通過遞歸從xml中讀取出來,生成一個和xml tree完全相同的結構。
除了明白如何去用這個tree2之外的收獲就是,終于明白了如何去通過遞歸方法遍歷一個樹形結構,雖然在學校里學過遍歷的算法,也抄過例程,但從來沒有理解過是怎么一回事,終于在實踐中理解了,實踐才是軟件的根本之道。
查看 解析Tree2 全文
posted @ 2006-01-14 03:43 Vincent.Chen 閱讀(643) | 評論 (0) | 編輯 收藏
在商界,我們的確通常需要確保始終實施某些規則。例如,參與項目的雇員必須被雇用?;蛘呦胍承┦录杏媱澋匕l生。例如,如果銷售員售出一批商品,則應增加其傭金。
DB2 通用數據庫為此提供了一套有用的方法。 唯一約束是禁止在表的一列或多列中出現重復值的規則。 參考完整性約束確保在整個指定的表中數據一致性。 表檢查約束是一些條件,它們定義為表定義的一部分,限制一列或多列中使用的值。觸發器允許您定義一組操作,這些操作通過對指定的表進行刪除、插入或更新操作來執行或觸發。觸發器可用于寫入其他表、修改輸入值以及發布警報信息。
posted @ 2006-01-10 23:42 Vincent.Chen 閱讀(611) | 評論 (0) | 編輯 收藏
posted @ 2005-12-31 18:38 Vincent.Chen 閱讀(867) | 評論 (1) | 編輯 收藏
posted @ 2005-12-11 22:08 Vincent.Chen 閱讀(2510) | 評論 (3) | 編輯 收藏