1. install the following software
jre 1.5 or 1.6, tomcat 5525, eclipse, axis2
and in eclipse preferences set tomcat to web server, set jre env and set axis2's runtime
2. create a java project and add axis2 runtime library to its build library
test ws client sample code:
public class TestSms
{
private static EndpointReference targetEPR = new EndpointReference(
"http://cdl:8080/axis2/services/Version");
public static OMElement getGetLeftElement(){
OMFactory fac=OMAbstractFactory.getOMFactory();
OMNamespace omNs=fac.createOMNamespace("此處填寫WS的命名空間","hw");
OMElement method=fac.createOMElement("WS 方法名",omNs);
OMElement value = fac.createOMElement("參數一", omNs);
value.addChild(fac.createOMText(value, "值一"));
method.addChild(value);
value = fac.createOMElement("參數二", omNs);
value.addChild(fac.createOMText(value, "值2"));
method.addChild(value);
return method;
}
public static void main(String[] args){
try{
Options options=new Options();
options.setTo(targetEPR);
options.setAction("命名空間/WS 方法名");
ServiceClient sender=new ServiceClient();
sender.setOptions(options);
OMElement sayHello=TestSms.getGetLeftElement();
//WSDLConstants.
OMElement result=sender.sendReceive(sayHello);
OMElement elem = result.getFirstElement();
System.out.println(elem.getText());
//System.out.println(result);
}
catch(Exception axisFault){
axisFault.printStackTrace();
}
}
}
ref:
http://zhangjunhd.blog.51cto.com/113473/23690
最近總是打不開網頁中的JAVA程序, 本來機器上有JAVA開發環境, 重裝系統一般不安裝JAVA,反正設置java_home和path中添加javac/java就可以了. 結果IE總是打不開,也不找到原因. 今天沒辦法了, 要參加一項考試,只好在網上搜索了一下, 原來出問題總是有原因的.
參考官方幫助:
http://www.java.com/zh_CN/download/help/win_offline.xml下載jre運行環境.安裝.
- 雙擊該圖標打開“Java 控制面板”
- 在“Java 控制面板”中選擇“瀏覽器”選項卡
- 確保選中“Internet Explorer”、“Netscape”或“Mozilla”旁邊的復選框
- 如果尚未選中,請選中對應的復選框,為您的 Web 瀏覽器啟用 JRE
- 單擊“應用”按鈕
Internet Explorer 4.x 及更高版本
- 單擊“工具”-->“Internet 選項”
- 選擇“高級”選項卡,并向下滾動到“Java (Sun)”
- 選中“使用 Java 2 版本”旁邊的復選框
- 接下來選擇“安全”選項卡,然后選擇“自定義級別”按鈕
- 向下滾動到“Java 小程序腳本”
- 確保選中“啟用”單選按鈕。
- 單擊“確定”保存您的首選設置。
最后不要忘了在這里測試一下是否安裝成功: http://www.java.com/zh_CN/download/help/testvm.xml
久未在這里練筆了.今天突然想到為什么JAVA在國內始終對初學者而言不容易. 是因為網上的DEMO或示例感覺比.net的少,而且有示例也不是直接能在eclipse或jbuilder中打開的. 一般初學者估計IDE不是很熟悉,因此要把示例代碼運行起來就不容易了, 更何況要分析別人的代碼. 相比之下,.net的示例一般是整個工程,而且由于只有vs IDE,因此提供的示例一般是針對此平臺的, 要學也就容易多了.
聽說goolge要收購sun java了,如果真是這樣, 應該是一件好事, 又多了一個強有力的競爭者, JAVA的前途就光明了.
一點個人淺見.
明天就是2005年最后一天了, 本想休一天假, 只是最近手頭上的項目跟別的公司有關, 脫不了身, 煩燥呀, 準LP又在罵了, 要生存, 沒辦法。
去年底搞了個今年十大目標,看了一下,沒幾個完成了,估計只有30-40%完成了。
整天都在忙,不管是公司的事還是自己的研究,這一年就沒有幾天晚上是12點之前睡的,在上一個公司經常是晚上11點回去睡覺,現在這家公司是回去之后繼續搞,所有的業余愛好都沒有了,買了個DC,也沒怎么用,什么都沒有心情,事情總是在那里等著,視力又下降了,身體感覺不如從前了。記憶力也下降了,前一陣子的事都不記得了,只知道這兩天做了些啥。
雖然又長了一歲,其它到是沒什么長進:
- 五一節前終于換了家公司,計劃之內的事,也算是完成了一項計劃任務;
- 今年開始聽《余世維》的講座了,學以致用,沒地方用,聽了也沒多少長進;
- 上周終于把兩年前買的MP3搞懂如何快進了,便宜貨就是不好用;
- MS出vs2k5,裝上了,也感覺蠻好用,只是機器跑不動了;
- 開始使用Eclipse開發真正的JAVA項目,發現自己真的是很菜,眼高手低的毛病還是沒改;
- 常年出差在外,跟準LP吵了無數次,已經是家常便飯了,計劃明年結婚,還不知道是否會途中有變;
- 聯系上以前的同學,可是要么不敢說話,要么就是沒話說;
- 那個買的房子還有問題,不是我家里漏水,就是別人家漏水來淹我,唉,人倒霉了擋都擋不??;
- 周圍的同學和以前的同事要么結婚,要么就是準備當爸媽了,想想自己還在外面打工,感覺自己真是沒多少出息;
- 還有,想不起來了,。。。
每天都是新的一天,努力做好現在的事才是最重要的,把去年的計劃拿來改改,爭取在元旦這幾天弄個2006年計劃了,日子再艱難,也得過呀,畢竟這也是一種生活。
最近要在一個項目中使用java, 本來是用.net開發的, 可是驗收時用戶要求用java平臺,只好進行移植工作了. 一直使用的是.net開發, JAVA只是關注, 沒有深入研究, 等實際應用時才發現自己水平有限, 問題一堆.
把最近碰上的問題做些整理:
使用JAVA平臺的問題:
1. 開發工具太多, 什么Eclipse, jbuilder等,各有不同, 讓人熟悉就花時間了, 本為以為對JB比較熟悉,又有2006版本了, 就用它吧, 可是才兩天, 就發現自己的代碼文件中的中文變為亂碼了, 當然網上有一堆解決方案, 只是心里不爽, 直接不用了, 改為eclipse了, 操作界面不是很熟悉, 與VS.NET IDE還是有不少區別, 只是用多了自然就熟悉了,
又從網上當了一堆插件, 什么tomcat, xml編輯器, 沒有用myeclipse, 雖然支持JSP,以前用過一下, 也不太好用, 其它的就沒找到什么好東西了, 時間也不允許, 至少現在可以調度JAVA代碼了, JSP的調試再說吧.
2. 開始整的時候,發現自己在WEB開發方面熟悉的是VS的ASPX事件模型, 反而不知道如何處理JSP了, 只好使用以前ASP的模式, 使用form提交, 感覺真是太落伍了, 雖然現在有許多AJAX之類的東西, 也支持客戶端事件模型, 實在沒時間研究這些東西了. 先做出來再說.
數據庫連接類使用了以前jive中的幾個類, 支持在xml中配置連接等, 再自己寫了一個類, 從XML中讀取SQL語句, 差不多能用.
3。在網上搜索了一把,未找到在eclipse中對web service支持比較好的plugin,發現版本都比較低,似乎久未更新了,JB下到是有不錯的設計和編譯界面,只是JB其它太爛。
字符集問題:
使用java首先就要碰上一個中文字符的顯示和處理問題, 這些問題總是很煩, 要對request進行編碼才能解決.
既然使用非MS平臺, 數據庫可能就不會用到mssql server了, 使用mysql, 發現要移植以前的數據還是比較容易, 但mysql的驅動實在不好弄, 剛開始使用純JDBC的驅動, 結果發現在中文字符的處理上始終有問題, 只好
網上查原因, 發現jdbc驅動的版本太低, 在判斷中文字符上有問題, 升級驅動程序, 可以插入和顯示了, 但SQL中是中文, 可是進了數據庫就是亂碼, 試了N遍也不行, 只好改為jdbc-odbc.
但接下來在執行batch sql時又報錯了, 說mysql odbc driver 的SQL語法錯, 檢查了半天, SQL也能在mysql中執行的, 就是不能通過JAVA提交執行. 用的是mysql 5.0.X, 支持unicode 的編碼建表. 最后只能采用一個折衷的辦法,自己寫一個批量執行SQL的類,采用“;”分隔多個SQL,在調用時仍然一行一行的執行,郁悶。
最終的字符集解決辦法:
頁面上要設置字符集的輸出格式,如GBK或GB2312,另外,如果使用統一的包含文件定義輸出字符集,還是不行,必須在每個頁面中單獨定義,也可能是我的INCLUDE方式不對;
數據庫連接字符串中也要設置編碼;
在傳遞數據到DB的SQL還要對中文進行編碼;
String key = new String(request.getParameter("txtKey").getBytes("ISO8859_1"));
最后還有一個問題是,如果TOMCAT編譯JSP文件生成的JAVA文件有亂碼,那么在訪問的時候頁面上總是要報錯,什么"delete tokens"之類的,此時要刪除掉tomcat\work目錄下的中間編譯代碼才行;
控件及常用庫
WEB控件, 網上有一堆各種各樣的lib和控件, 但這些東西太浪費時間, 光是上網找就比較花時間了, 下回來試用也有各種各樣的問題,
每個控件有自己的特色, 而且每個總是滿足了這個,滿足不了那個需求, 要都滿足, 還是要收費的才行, 畢竟天下沒有多少免費的午餐;
主要有幾個:
1。數據顯示表格控件,應該能支持排序,有緩存機制,能分頁,能設置格式,支持ResultSet或ArrayList之類的,還要有導出excel等功能;最好要能簡單使用。
2。圖表控件,最有名的當然是cewolf/jfreechart,只是要使用它自己定義的DatasetProducer,不能直接使用ResultSet,也是個麻煩事,不過的確是很不錯的控件了。
小結
1。經過這次移植,發現JAVA還是有許多很牛的地方,采用hashmap來緩存數據,效率的確很不錯,只是用得太多,缺乏管理機制,有點混亂了,下一階段再重構一下,形成一個管理框架最好;
2。eclipse開發的確很不錯,與vs ide差別是比較大,只是使用習慣了之后發現其功能強大,而且可以找些plugin來擴展功能,估計我只是看到了點皮毛而已。
3。在JAVA下開發,使用Javascript太多,還沒找到更好解決辦法,水平有限;
4。與另一個人一起開發,大家的編程風格和代碼不夠規范,使用了一些重復的類和方法,這在后期維護是個工作,時間太緊,項目總是這樣,就沒得多少提高了;
個人水平實在有限,上面只是一面之詞,項目月底才結束,有什么變更再補充。
不用說,這種事情一般人如果沒有經歷過,或旁邊沒有人經歷過,要想搞得很清楚,一會兒就搞定是不可能的。
在N天前就到辦證中心去拿了一張清單,上面有需要用到的證明文件。查看了一下家里的百寶箱,差不多都有。趁著8月份的五天請假,星期四的時候去辦理。過程到不是很復雜,只拿了張一式兩聯的準遷證,當時根本就未在意準遷證上的內容,上面有個有效期的說法。這也只能怪自己粗心大意了。有效期是40天,到差不多過了一個月之后即9。10我還在出差,順便讓老婆看了一下,才發現是有有效期的,趕緊打電話問能否延長,這下麻煩了。17號在成都的時候,本想托人帶回樂山給我老爸,可是我再仔細看了一下,發現必須在9.20之前回成都辦理好,算了一下時間,已然來不及。19號,到辦證中心希望能延長一下有效期,幸好,他們把有效期延長了一個月,趕快EMS給老爸,周三收到,周四到樂山辦理銷戶并寄回成都,周六在成都收到。9。30,以請了一天假,到辦證中心辦理戶口及身份證,按照要求需要提供:戶口銷戶證明,準遷證第二聯,身份證及照片兩張。本以為辦證中心旁邊的照相中心說不能照非身份證照,慘,又趕快去找了一家普通相館照相。交上各手續,終于拿到了成都市的戶口薄,正準備辦身份證,說是照相的聯網有問題,不能照,旁邊的一群人立刻炸開了鍋,大罵政府辦事有問題,甚至有人開始打電話投訴,沒過多久,也不知道如何又搞好了,反正又排起長隊開始照,我前面有20個人左右,差不多等了一個小時,造成老爸的生日午飯也沒來得及趕回去吃。照完后又到柜臺辦理身份證,交上各手續和20元錢,說兩個月之內可以拿到了。唉,真是好事多磨。不僅花了不少郵寄費,也花了不少時間和精力。政府為何就不改善一下局面,明知效率低,有問題,非得經過這些瑣碎的步驟才行。對于沒經歷過的人而言,真的是要耽擱不少時間。
1. 首先要安裝jsse,需要jcert.jar,jnet.jar,jsse.jar三個jar;
2. 然后添加keystore:
%JAVA_HOME%\bin\keytool -delete -alias tomcat -keypass changeit
%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keypass changeit -keyalg RSA
%JAVA_HOME%\bin\keytool -export -alias tomcat -keypass changeit -file
%FILE_NAME%
%JAVA_HOME%\bin\keytool -import -file server.crt -keypass changeit
-keystore %JAVA_HOME%/jre/lib/security/cacerts
%JAVA_HOME%\bin\keytool -import -file server.crt -keystore
%JAVA_HOME%\jre\lib\security\cacert
3. 然后在%catalina_home%\conf\server.xml.中取消SSL的注釋.
4. visit
http://localhost:8443/ test it.
參考
http://jakarta.apache.org/tomcat/tomcat-4.0-doc/ssl-howto.html.