• 访问放在zip中的html (Powered by zms)
    ZipViewer.java (3.6 K)

    背景:

    你申请了200M的jsp空间,想把自己的一些html文档放进去,如j2sdk的api doc

    一般来说,下载那个xx-doc.zip,解开,上传,就可以访问了,但是解开后你发现有

    100多M呢,占用自己宝贵的100多M jsp空间,实在舍不得。

    有没有可能让它在压缩状态下也能访问呢?

    解决办法:

    使用servlet,源代码见附件

    配置方法:

    tomcat下的一个示例

    ----

    <servlet>

    <servlet-name>ZipViewer</servlet-name>

    <display-name>ZipViewer</display-name>

    <description>AZipViewer</description>

    <servlet-class>com.zms.zipviewer.ZipViewer</servlet-class>

    <init-param>

    <param-name>zipfile</param-name>

    <param-value>/javadoc/1.4.1/j2sdk-1_4_1-doc.zip</param-value>

    </init-param>

    <init-param>

    <param-name>welcome</param-name>

    <param-value>index.html,index.htm</param-value>

    </init-param>

    </servlet>

    <servlet-mapping>

    <servlet-name>ZipViewer</servlet-name>

    <url-pattern>/javadoc/1.4.1/*</url-pattern>

    </servlet-mapping>

    ----

    resin下的一个示例

    ----

    <servlet servlet-name="zipviewer" servlet-class="com.zms.zipviewer.ZipViewer">

    <init-param>

    <param-name>zipfile</param-name>

    <param-value>/javadoc/1.4.1/j2sdk-1_4_1-doc.zip</param-value>

    </init-param>

    <init-param>

    <param-name>welcome</param-name>

    <param-value>index.html,index.htm</param-value>

    </init-param>

    </servlet>

    <servlet-mapping>

    <url-pattern>/javadoc/1.4.1/*</url-pattern>

    <servlet-name>zipviewer</servlet-name>

    </servlet-mapping>

    ----

    说明:

    zipfile 是要查看的zip文件的位置,相对于你的web app目录的位置

    welcome 默认页面的名称,使用逗号分割

    url-pattern 访问的url

    以上面的配置为例(加入web app叫myapp)

    则访问 /javadoc/1.4.1/相当于访问j2sdk-1_4_1-doc.zip的根目录

    访问http://localhost:8080/myapp/javadoc/1.4.1/docs/ 则会出现javadoc的主页面

    问题:

    访问中文文件或文件夹存在问题,这也是java.util.zip的老问题了,详细的论述见

    精华区,有其它的zip解压缩包支持中文,有兴趣的朋友可以试的改为其它的zip包

    将一个大zip文件放在jsp空间中也有点浪费,待我研究一下放在其它的普通空间中行不行

    2003-06-29
  • java程序注册为nt服务的方法(Powered by zms)
    Service.exe (11.9 K) javas.exe (56.0 K)

    附件是两个exe文件

    Service.exe

    javas.exe

    可以将你写的java程序注册为windows服务

    1. javas.exe功能用法和jdk的java.exe功能一样,但可以当作服务程序

    2. Service.exe是操作windows服务的程序

    使用如:

    Service query servicename

    Service install servicename exepath&para

    Service uninstall servicename

    使用举例:

    C:\temp\Service\Debug>service install zms1 "f:\javas\debug\javas -cp G:\eclips

    e\workspace\Test\bin com.zms.test.TestK"

    这样就注册了一个服务zms1

    执行的内容就是

    "f:\javas\debug\javas -cp G:\eclipse\workspace\Test\bin com.zms.test.TestK"

    注意要用引号引起来,如果里面还需要引号,用单引号

    C:\temp\Service\Debug>net start zms1

    zms1 服务正在启动 .

    zms1 服务已经启动成功。

    这样就启动服务了,当然也可以管理工具-服务 来启动

    注意:程序有个bug,服务无法正常停止!!!嘿嘿

    想停止的话,结束线程吧

    等我找到原因后,再发一遍,到时需要源代码的可以联系我

    2003-06-27
  • 这个题号称是小学生的,感兴趣就看看用java怎么实现

    求全排列的函数,用了递归的方法,这样比较清晰一点

    public void show(int n,List list) {

    if(n>0) {

    if(list.size()==n) {

    for(Iterator it=list.iterator();it.hasNext();) {

    System.out.print(it.next().toString()+" ");

    }

    System.out.println();

    } else {

    for(int i=1;i<=n;i++) {

    Integer one=new Integer(i);

    if(!list.contains(one)) {

    list.add(one);

    show(n,list);

    list.remove(one);

    }

    }

    }

    }

    }

    使用如

    show(9,new Vector());

    然后就会打印出9的全排列

    其实我觉得会用递归以及回溯解决问题也算基本功

    【 在 GumPGZ (像阿甘一样奔跑) 的大作中提到: 】

    : get it

    : thank you very much

    2003-06-21
  • Jbulider7里面怎么设置Frame在初始时就最大化???

    这样处理是有问题di

    因为没有考虑屏幕的一些附着物,如任务栏,工具栏等(windows,linux都可以

    新建一些工具栏放在屏幕边角)

    正确的方法是除了处理

    Toolkit.getScreenSize() 外

    还要考虑

    Toolkit.getScreenInsets(Frame.getGraphicsConfiguration(

    【 在 schlank (大大) 的大作中提到: 】

    : 已经搞定.

    : 最后用的把screenSize.Width变成getWidth,存在一个int maxScreenWidth和一个int maxScreenHeight变量里.

    : 然后再用this.setSize(Dimension(maxScreenWidth, maxScreenHeight));

    : 就可以了,不会出错.

    : 估计是screenSize.Width不能直接赋给Dimension.

    2003-06-20
  • [合集] 刚看了JavaClub关于JBuilder9的讨论有感

    ☆─────────────────────────────────────☆

     sodomite (BedKiller) 于  (Thu Jun 12 17:45:07 2003)  提到:

    最近一直奇怪一件事,为什么Borland的C++Builder和Delphi开发速度这么慢,而

    JBuilder这么快,而且现在还在怀疑Borland是否放弃C++Builder高版本的研发了。

    最近得知C#Builder出世,在《程序员》看到介绍,觉得还是不错的,觉得很有

    和.NET一拼的实力。昨天刚刚办了出门条去迫不及待地买回了《Borland传奇》,

    一口气读了大半本,终有所悟(我还是比较相信李维的)。原来是自从JBuilder5以后,

    Borland就有如此惊人之举:并行开发JBuilder的版本.即:分两个Team,假设TeamA开发了

    JBuilder6,那么TeamB就正在开发JBuilder7,等B的7发布了,那么接下来B就去开发9,而

    A早就从完成6的发布后转移到8的开发,所以JBuilder保持着惊人的版本升级速度!

    基本上是半年一个升级,这也就是为什么Delphi要一年发布一个新版本(Team少呀),给

    人一种错觉:Borland要对Delphi或者C++Builder停止或者暂缓研发(恰恰有人在

    Club版这样认为了),惊人的升级速度和什么性能不稳定好像关系不大,至于认为Delphi

    的IDE不如JBuilder的也太偏颇了吧,我个人还是很喜欢Delphi的IDE的,不能说是垃圾吧.

    不过对于JBuilder9的评价还要等些日子,但愿是个好产品.(我的机器跑起来好慢的说)

    ☆─────────────────────────────────────☆

     oldwatch (一条叫java的鱼) 于  (Thu Jun 12 17:52:47 2003)  提到:

    平行开发, MS也是这个策略

    不过没有能挽救MS产品一贯的拖延

    ☆─────────────────────────────────────☆

     aiyz (开往地铁的春天) 于  (Thu Jun 12 18:04:54 2003)  提到:

    前几天我内存128兆,运行jBuilder慢得要命,这才下决心加了一条256得内存。

    【 在 sodomite (BedKiller) 的大作中提到: 】

    ☆─────────────────────────────────────☆

     zms (来福) 于  (Thu Jun 12 19:55:36 2003)  提到:

    我承认jbuilder很强大,但一直不鼓励一开始就用jbuilder,容易被ide缚住手脚

    我的建议是,对于一项技术,如开始写java程序,写web app或写ejb等,先用手工的方法

    写,等熟练了,掌握了,再用ide如jubilder者,这样可能慢点,但学的很扎实

    【 在 sodomite (BedKiller) 的大作中提到: 】

    ☆─────────────────────────────────────☆

     oldbug (不死鸟八哥) 于  (Thu Jun 12 20:04:28 2003)  提到:

    不觉得,利用一般的编辑器写,没有自动弹出成员列表等方便的功能

    对于开发很不方便。写程序就会放更多精力在代码书写上,而不是系统

    设计上。

    Java的精髓在于代码的编译时刻错误检查和OO的设计思想,如果太多时间

    花在书写代码上,那么肯定对于整体的设计投入时间不足,这样没有好处

    【 在 zms (来福) 的大作中提到: 】

    ☆─────────────────────────────────────☆

     aiyz (开往地铁的春天) 于  (Thu Jun 12 20:06:56 2003)  提到:

    我觉得zms说得也有道理

    如果一开始就使用JBuilder这样功能强大的IDE,对于java初学者不是好事,因为java的

    很多细节都不会了解的太深。

    【 在 oldbug (不死鸟八哥) 的大作中提到: 】

    ☆─────────────────────────────────────☆

     oldwatch (一条叫java的鱼) 于  (Thu Jun 12 20:09:10 2003)  提到:

    至少第一个程序应该是用editplus写出来的

    否则,缺乏对java很多基本概念的认识

    迟早要遇到麻烦

    然后可以用jcreate之类的ide做辅助

    【 在 oldbug (不死鸟八哥) 的大作中提到: 】

    ☆─────────────────────────────────────☆

     zms (来福) 于  (Thu Jun 12 20:13:54 2003)  提到:

    那只是我的建议,具体要看个人的决定

    但我觉得我的建议是很有道理的

    比方说刚开始写java程序,使用ide固然后代码提示,

    但是不涉及path,classpath,package之类的问题,然有它就没有这些基本知识,

    以后就会经常遇到这种问题,看看版上的提问问题就知道了,而且使用ide有代码

    提示,不利于养成查java doc的习惯

    再比方说写web app,用ide就不容易接触到web.xml的写法,class的放置等基本问题

    也给以后的发展不利

    而且我的意思不是不用ide,是说在手工开发熟练之后,再使用ide

    【 在 oldbug (不死鸟八哥) 的大作中提到: 】

    ☆─────────────────────────────────────☆

     oldbug (不死鸟八哥) 于  (Thu Jun 12 20:16:02 2003)  提到:

    但是假如没有成员自动弹出,初学者只是看javadoc是很难找出自己想用的

    方法的;没觉得用文本编辑器对java设计思想的理解有什么帮助

    【 在 aiyz (开往地铁的春天) 的大作中提到: 】

    ☆─────────────────────────────────────☆

     zms (来福) 于  (Thu Jun 12 20:19:29 2003)  提到:

    是很难找,但找一找有好处

    我要用到一个功能不知道的话,也会找一通的,妙处是在找的过程中,我会发现不少

    自己本来不知道的一些函数和用法,即使没有找到,也学到了不少东西,而且对

    java doc的内容有更深的了解了

    【 在 oldbug (不死鸟八哥) 的大作中提到: 】

    ☆─────────────────────────────────────☆

     forestcap (张均) 于  (Thu Jun 12 20:24:22 2003)  提到:

    我觉得初学分两种,

    一种是初学编程

    一种是初学java语言

    两者是不一样的, 还是看个人喜好吧,

    比如偶就不明白为什么有人喜欢用vi,editplus这些工具

    我是一开始就用vj的, 只是不用他编译而已

    【 在 oldwatch (一条叫java的鱼) 的大作中提到: 】

    ☆─────────────────────────────────────☆

     ppgo (掉得大) 于  (Fri Jun 13 04:04:22 2003)  提到:

    是啊,不过自己找了映像会深刻一些

    【 在 zms (来福) 的大作中提到: 】

    【 在 sodomite (BedKiller) 的大作中提到: 】

    : 最近一直奇怪一件事,为什么Borland的C++Builder和Delphi开发速度这么慢,而

    : JBuilder这么快,而且现在还在怀疑Borland是否放弃C++Builder高版本的研发了。

    : 最近得知C#Builder出世,在《程序员》看到介绍,觉得还是不错的,觉得很有

    : 和.NET一拼的实力。昨天刚刚办了出门条去迫不及待地买回了《Borland传奇》,

    : 一口气读了大半本,终有所悟(我还是比较相信李维的)。原来是自从JBuilder5以后,

    : Borland就有如此惊人之举:并行开发JBuilder的版本.即:分两个Team,假设TeamA开发了

    : JBuilder6,那么TeamB就正在开发JBuilder7,等B的7发布了,那么接下来B就去开发9,而

    : A早就从完成6的发布后转移到8的开发,所以JBuilder保持着惊人的版本升级速度!

    : 基本上是半年一个升级,这也就是为什么Delphi要一年发布一个新版本(Team少呀),给

    : 人一种错觉:Borland要对Delphi或者C++Builder停止或者暂缓研发(恰恰有人在

    : Club版这样认为了),惊人的升级速度和什么性能不稳定好像关系不大,至于认为Delphi

    : ...................

    : 最近一直奇怪一件事,为什么Borland的C++Builder和Delphi开发速度这么慢,而

    : JBuilder这么快,而且现在还在怀疑Borland是否放弃C++Builder高版本的研发了。

    : 最近得知C#Builder出世,在《程序员》看到介绍,觉得还是不错的,觉得很有

    : 和.NET一拼的实力。昨天刚刚办了出门条去迫不及待地买回了《Borland传奇》,

    : 一口气读了大半本,终有所悟(我还是比较相信李维的)。原来是自从JBuilder5以后,

    : Borland就有如此惊人之举:并行开发JBuilder的版本.即:分两个Team,假设TeamA开发了

    : JBuilder6,那么TeamB就正在开发JBuilder7,等B的7发布了,那么接下来B就去开发9,而

    : A早就从完成6的发布后转移到8的开发,所以JBuilder保持着惊人的版本升级速度!

    : 基本上是半年一个升级,这也就是为什么Delphi要一年发布一个新版本(Team少呀),给

    : 人一种错觉:Borland要对Delphi或者C++Builder停止或者暂缓研发(恰恰有人在

    : Club版这样认为了),惊人的升级速度和什么性能不稳定好像关系不大,至于认为Delphi

    : ...................

    : 最近一直奇怪一件事,为什么Borland的C++Builder和Delphi开发速度这么慢,而

    : JBuilder这么快,而且现在还在怀疑Borland是否放弃C++Builder高版本的研发了。

    : 最近得知C#Builder出世,在《程序员》看到介绍,觉得还是不错的,觉得很有

    : 和.NET一拼的实力。昨天刚刚办了出门条去迫不及待地买回了《Borland传奇》,

    : 一口气读了大半本,终有所悟(我还是比较相信李维的)。原来是自从JBuilder5以后,

    : Borland就有如此惊人之举:并行开发JBuilder的版本.即:分两个Team,假设TeamA开发了

    : JBuilder6,那么TeamB就正在开发JBuilder7,等B的7发布了,那么接下来B就去开发9,而

    : A早就从完成6的发布后转移到8的开发,所以JBuilder保持着惊人的版本升级速度!

    : 基本上是半年一个升级,这也就是为什么Delphi要一年发布一个新版本(Team少呀),给

    : 人一种错觉:Borland要对Delphi或者C++Builder停止或者暂缓研发(恰恰有人在

    : Club版这样认为了),惊人的升级速度和什么性能不稳定好像关系不大,至于认为Delphi

    : ...................

    : 我承认jbuilder很强大,但一直不鼓励一开始就用jbuilder,容易被ide缚住手脚

    : 我的建议是,对于一项技术,如开始写java程序,写web app或写ejb等,先用手工的方法

    : 写,等熟练了,掌握了,再用ide如jubilder者,这样可能慢点,但学的很扎实

    : 不觉得,利用一般的编辑器写,没有自动弹出成员列表等方便的功能

    : 对于开发很不方便。写程序就会放更多精力在代码书写上,而不是系统

    : 设计上。

    : Java的精髓在于代码的编译时刻错误检查和OO的设计思想,如果太多时间

    : 花在书写代码上,那么肯定对于整体的设计投入时间不足,这样没有好处

    : 不觉得,利用一般的编辑器写,没有自动弹出成员列表等方便的功能

    : 对于开发很不方便。写程序就会放更多精力在代码书写上,而不是系统

    : 设计上。

    : Java的精髓在于代码的编译时刻错误检查和OO的设计思想,如果太多时间

    : 花在书写代码上,那么肯定对于整体的设计投入时间不足,这样没有好处

    : 标  题: Re: 刚看了JavaClub关于JBuilder9的讨论有感

    : 发信站: BBS 水木清华站 (Thu Jun 12 20:04:28 2003), 转信

    : 不觉得,利用一般的编辑器写,没有自动弹出成员列表等方便的功能

    : 对于开发很不方便。写程序就会放更多精力在代码书写上,而不是系统

    : 设计上。

    : Java的精髓在于代码的编译时刻错误检查和OO的设计思想,如果太多时间

    : 花在书写代码上,那么肯定对于整体的设计投入时间不足,这样没有好处

    : 【 在 zms (来福) 的大作中提到: 】

    : : 我承认jbuilder很强大,但一直不鼓励一开始就用jbuilder,容易被ide缚住手脚

    : : 我的建议是,对于一项技术,如开始写java程序,写web app或写ejb等,先用手工的方法

    : : 写,等熟练了,掌握了,再用ide如jubilder者,这样可能慢点,但学的很扎实

    : --

    :     范骅道:“萧大王,咱们从西门冲出去!”萧峰点头道:“好!阿紫她们脱险

    : 没有?”范骅尚未回答,阿紫的声音从地洞口传了过来:“姊夫,你居然还惦让着

    : 我。”声音中充满了喜悦之情。喀喇刺一响,便从地洞口钻了上来,颏下兀自黏着

    : 胡子,满头满脸都是泥土灰尘,污秽之极。但在萧峰眼里瞧来,自从识得她以来,

    : 实以此刻最美。

    : 我觉得zms说得也有道理

    : 如果一开始就使用JBuilder这样功能强大的IDE,对于java初学者不是好事,因为java的

    : 很多细节都不会了解的太深。

    : 但是假如没有成员自动弹出,初学者只是看javadoc是很难找出自己想用的

    : 方法的;没觉得用文本编辑器对java设计思想的理解有什么帮助

    : 至少第一个程序应该是用editplus写出来的

    : 否则,缺乏对java很多基本概念的认识

    : 迟早要遇到麻烦

    : 然后可以用jcreate之类的ide做辅助

    : 是很难找,但找一找有好处

    : 我要用到一个功能不知道的话,也会找一通的,妙处是在找的过程中,我会发现不少

    : 自己本来不知道的一些函数和用法,即使没有找到,也学到了不少东西,而且对

    : java doc的内容有更深的了解了

    2003-06-17
  • 可以显示超链接的JLable (Powered by zms)
    HLabel.java (3.7 K)

    特性:

    1.蓝色显示

    2.带下划线

    3.鼠标移到文字上去会变成系统的手形状,移出还原

    4.左键单击可能会启动浏览器

    问题:

    1.启动浏览器的代码如:

    //如果是windows平台,但是只能启动ie,不是启动系统默认的浏览器

    Runtime.getRuntime().exec("explorer "+url);

    //如果是linux,可以试着启动moz,代码你来写吧

    //其它的平台自己写语句吧

    //或者根据 System.getProperty("os.name") 来执行相应的启动浏览器的动作

    //不过如果你能接受swt的话,下面一句就能搞定所有的情况

    //但是需要你同时包含swt的包

    //org.eclipse.swt.program.Program.launch(url);

    需要你根据情况来修改,如果使用swt的话就完美了

    2. 文字的水平位置是居中的,改也没有,我懒的写了,不过这个是小问题

    2003-06-03
  • 问一个word的问题

    hehe,见笑了

    word2000

    一页中插入一个表格

    表格后就有一个回车

    问题是当这个表格刚好占满一页时

    那个回车就到了下一页

    去也去不掉

    比方说写简历

    第一页是一个表格,占满全页

    下一页只有一个回车,怎么办?

    2003-03-28
  • 请问"软猫"就没法在linux下用吗?

    我的modem型号是

    3Com-U.S. Robotics 3056

    PCMCIA插槽的

    搜了一下,发现一个文档说它是winmodem,即软猫,linux不支持

    请问真的没有办法了吗?

    2003-02-06
  • 请教一个VRML的问题

    正在学VRML,碰到一个问题

    画一个球很简单,那么怎么画一个半球或半球面,画一个1/4球呢?

    VRML中没有实体的并交差补等吧?

    2002-05-11