你的位置:首页>>千合学校>>将java web应用包装成桌面应用的方法(长春计算机学校 长春java培训 长春电脑学校)

将java web应用包装成桌面应用的方法(长春计算机学校 长春java培训 长春电脑学校)
发表时间:2008-7-4 12:39:23  天气状况:  热点指数:  浏览次数:
  1. 选择一个嵌入的web 服务器和 数据库。
web服务器我选择的是jetty,虽然tomcat也有类似的嵌入版本,但是体积和性能都还是有点差距。 如果你的应用使用了大量的ajax效果,建议选择6的版本,对并发支持更好。
数据库方面我原来用的是hsql,现在可以选择h2. 两者的sql 兼容性都比较好,扩展功能也比较强。如果原来的应用在mysql上进行开发,则基本不用做修改, h2现在有mysql兼容模式,如果原来应用使用的是db2或者oracle,则你可能需要把一些函数和过程改用java实现,h2提供了这方面的支持。 数据问题方面也不用担心,h2目前比较成熟了,而且最大可以提供256g的文件支持。我做过一些测试,关机,死机,都还可以恢复的比较好。

h2的一个特性是支持只读数据库,所以你也可以选择将数据库备份成zip文件以后,以光盘的方式发布应用,很适合做大量分发的演示光盘,比较酷吧。

jetty+h2的组合占用系统资源非常少,而且速度极快, 在我成功移植以后,我的一个同事吃惊的发现速度要比原来的online版本提高了很多。一般用户几乎感觉不到在线操作的那种停顿。

java6自带的那个java数据库就不要考虑了,速度慢,体积大,兼容问题多多。

2. 使用JDIC或者java6提供的一些native特性和桌面进行整合

主要使用诸如系统托盘来提供一些控制操作和辅助功能, 打开浏览器或者将浏览器嵌入到swing应用等等。我的做法是将浏览器嵌入到swing应用中,并做了一些小手脚,保证用户不能使用浏览器直接访问,这样看起来更安全,更象桌面应用。

java6在这些方面有比较好的支持,6以前的版本可以使用JDIC,反正都是一回事。 另外可以选择jgoodie之类的扩展包,让你的桌面看起来更骚包一些。

当然,使用6的话启动要快一些,特别是重复启动的时候,java6还有的一个特性是splash的支持, 这样在启动的时候可以自然一些。

3. 对配置文件进行适当精简,使用混淆工具编译关键包

发布到桌面以后就意味着受攻击指数增加了,增加适当的防范也是必要的,此处如果不怕麻烦,可以使用gcj来编译。

4. 将执行包编译成exe文件, 使用安装工具打包

把java启动类编译成可执行文件的工具很多,我经过比较,使用的是launch4j,主要是支持的特性多一些,对linux也提供支持。
然后再把jre和应用整理规划好目录,使用安装工具打包, 我选择的是nsis, 也是免费的东西, nisi如果不想深入研究的话,建议找supertoy开发的一个脚本生成向导工具,很好用。

5. 其他

* 需要考虑数据的备份和交换操作, 我一般使用dbunit来干这个事, 因为导出导入都可以是完整的xml文件,比较方便。
* 如果要制作光盘版本,再配置一个auto run 就可以自动启动了。
* 要防止应用多次启动, 实现思路有2种,一个是使用一个端口来检测, 另外一个就是使用文件锁。 我使用的是后者,盗用了hsql的部分代码。
发表评论  打印本文  推荐本文  加入收藏  返回顶部  关闭窗口

  v 相关评论

点击查看更多评论>>>
 
暂无回复

  v 发表评论
   姓名: 1、请遵守《互联网电子公告服务管理规定》及中华人民共和国   其他各项有关法律法规。
2、严禁发表危害国家安全、损害国家利益、破坏民族团结、破  坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等   内容的评论 。
3、用户需对自己在使用本站服务过程中的行为承担法律责任(直
接或间接导致的)。
4、本站管理员有权保留或删除评论内容。
5、评论内容只代表网友个人观点,与本网站立场无关。
评论内容:

     

 


地址:吉林省长春市红旗街时代大厦19楼 邮编:130031 联系电话:0431-85931252 86260168 传真:0431-85931252
Powered by 吉林省千合职业培训学校 © 2007-2008 www.haojiuye.com (haojiuye@163.com)
技术支持:商务世纪 访问总数: