我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Java2HTML改造手记(1) (转)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Java2HTML改造手记(1) (转)

Java2HTML改造手记(1) (转)[@more@]

Java2Html(http://www.java2html.com/)是一个非常好用的工具,它可以直接将您的java源代码生成HTML页面,而且结构组织的就象javadoc组织的一样好,并且支持Ant Task扩展,给广大的编程爱好者一个非常方便实用的功能.笔者就非常喜欢使用ant结合javadoc/java2html等直接生成javadoc和java html文件并发布到服务器上.各位可以去我的站点看一下(http://www.ibeyond.org/code),我的网站就是使用Eclipse(http://www.eclispse.org)结合ant(http://ant.apache.org/)等自动发布的,如果你愿意的话甚至可以进行每日构建.我简直是太喜欢Ant这个工具了(话题有点跑了,没有办法,小时候写作文就容易跑题,习惯了).

XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />

  言归正传,还是回到改造手记上来.

  不知道使用过java2html的各位看客有没有注意到.java2html默认是不支持字符编码的.也是,谁让作者是一个洋人(从它的版权信息里看,应该是一个英国人)呢?他们怎么能注意到遥远的东方有一群”巨龙”将要使用他的”小软件”呢?如果你的程序代码中输入了中文那么,^_^,那么恭喜你,你可以见识一下带有中文乱码的Html页面了.说实话,这也是不容易见到的.当然,英文极好的看官可以离开了,因为英文极好的您的代码里当然不会出现中文字符了,这也有损于你的能力的体现了,而象我等这样只是认识简单的二十几个英文字母的英文爱好者当然会觉得心理非常不爽了(如果有可能我甚至想把程序代码全部使用中文书写,当然java支持这么作,只是我的boss不同意吧了,但愿这片文章不会呗我的boss看到.).

  我知道很多人都象我一样对于程序对于编程有着近乎狂热的爱好(如果没有这么狂热的爱好你也不会利用者有限的宝贵的等价于金钱的时间来看我的这个臭屁文章),当然不满足于使用的软件会有这样的瑕疵,那么好吧,套用现在计算机硬件高手常用的一个口头禅,让我们开始”DIY”历程吧(臭屁这么多,终于要进入主题了,我也开始有些心急了,呵呵).

  实际上,到这里,我这个”榆木脑袋”(小学老师就是经常使用这个”爱称”)只想到了两个解决办法:

一.  在使用java2html之前先将我的代码进行转码,然后让java2html使用转码后的代码.

二.  直接修改这个java2html的代码,给java2html添加一个encoding编码参数.

各位不难想象.如果利用方法一,不管你如何转换在英文环境中还是会出现乱码,既是能正确显示中文也需要你在Browser上手动选择一下编码方式.而方法二才能体现出我们的”高超水平”,而且可以很平滑的和原有的软件结合,不影响其他的应用.

从作者的软件许可协议(http://www.vaegar.f9.co.uk/#License)可以看到这是一个共享软件,使用者可以自由的发布,但是不可以反编译,逆向工程等.所以我接下来将要作的是严格来说应该很不妥当的,但是同样我也不能容忍这个软件的这个微小的瑕疵,于是,我在完全保留其版权信息并且尊重其版权的情况下对java2html进行了有限的扩充(在软件中我还加入了我自己的一点小记号,呵呵,人无完人呀).

接下来我们要作的既是反编译这个软件包了.关于Decompile,业界有很多争议,很多人认为java编译过的代码是不安全的,既是使用了混淆器也是这样,这里我不想讨论这个问题,因为我对这个方面也不是专家,也不是能人里手,还是留给那些喜欢讨论的人来进行吧(关于java的讨论实在是太多了).我在这里想说的是,我并不是鼓励大家对java软件进行反编译,个人认为只是在觉得需要完善这个软件的时候但不能获得java源代码的时候才能采用这种最下策的下策,而且进行相关工作的时候也一定要保留原作者的相关版权信息,仅此声明一下.

首先将原来的j2h.jar(可以从http://www.java2html.com下载)解包,用winrar之类的就可以解开,然后象一个专业的骇客一样,寻找入口吧(有点黑客帝国的意思了).最明显的入口就是META-INF/MANIFEST.MF,为什么这么说呢?因为java通过这个文件指定这个Jar包的执行程序的类名,也就是带有Main方法的类,当然它就是入口了(我并不是黑客帝国中的先知,第一那个先知是女的,至少是一个女人形态,而我是男的;第二,我并没有未卜先知的能力,如果有这个能力我就去考买奖券发家了,谁还来写这劳什子程序呀).所有我们的目标就是先搞定这个文件,通过它寻找突破口.

J2h.class:

import com.java2html.Java2HTML;

public class j2h

{

  public static void main(String args[])

  throws Exception

  {

  Java2HTML.main(args);

  }

  public j2h()

  {

  }

}

看到了,它直接把args参数送到java2html.main中了,就象破案一样,有了现在就开始追踪吧.

欲知后事如何,且听下回分解.

版权归iBeyond(http://www.ibeyond.org)所有,转载请著名出处并保留版权信息.


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Java2HTML改造手记(1) (转)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Java2HTML改造手记(1) (转)

Java2HTML改造手记(1) (转)[@more@]Java2Html(http://www.java2html.com/)是一个非常好用的工具,它可以直接将您的java源代码生成HTML页面,而且结构组织的就象javadoc组织的一样
2023-06-03

Java2HTML改造手记(5) (转)

Java2HTML改造手记(5) (转)[@more@]Java2HTML改造手记(5)XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />接下
2023-06-03

Java2HTML改造手记(3) (转)

Java2HTML改造手记(3) (转)[@more@]Ja Java2HTML改造手记(3)XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /
2023-06-03

Java2HTML改造手记(4) (转)

Java2HTML改造手记(4) (转)[@more@]Java2HTML改造手记(4)XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />原来
2023-06-03

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录