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.