分享
 
 
 

用Java编写ASP组件

王朝java/jsp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

用Java编写ASP组件 来源 : http://www.edulife.com.cn/Infos/189912/30189912006858.html

ASP通过ActiveX Server Components(ActiveX 服务器元件 ) 使其具有无限可扩充性。在ASP开发当中,免不了使用组件,网上的确有很多的免费,试用的组件,但这是人家的东西,用起来总不免有些担心,自己写的组件用起来才踏实。ActiveX Server Component 可以使用 Visual Basic、 Delphi、 Java 、 Visual C++ 、 COBOL 等编程语言来编写。本文主要介绍如何使用Java来写ASP组件。

[url=http://www.edulife.com.cn/05card/][/url]

先写个很简单的Java程序

public class TestJava

{

public String Ver="1.0.1版";

public int lenstr(String str)

{

return str.length();

}

public String Version()

{

return Ver;

}

}

编译生成TestJava.class ,然后将其注册成组件。

注册Java组件:

也许大多数人想到是RegSvr32.exe这个程序,但这里并不用它,它用于注册编译成DLL的ActiveX组件,Java写成的Class文件不能够用它来注册,你需要的是JavaReg.exe,这个程序在Microsoft SDK for java中可以找到。你先安装microsoft sdk for java,目前最新版本是4.0版的。下载地址:

Mricrosoft SDK for Java 4.0

如果有误,自己去 http://www.microsoft.com 上找。下载后直接安装即可。

安装后在Microsoft SDK for java的bin目录下有这个工具。在注册前,你可将编译好的class文件复制到系统目录下的\java\trustlib\目录下(在我的机上是C:\winnt\java\trustlib)。在"命令提示符"窗口下输入JavaReg并执行,可能看到它的用法及参数。

如:

javareg /register /class: TestJava /progid: 组件.TestJava

注册上面生成的class文件

可以用中文名。反向注册 javareg /unregister ...就行了。注意:如果你的Java重新编译过,又想马上生效的话,必需要重启一下WEB服务器,这样才能正常使用,否则你会发现新加的方法不能用。

ASP中的使用:

<%

`testjava.asp

Set Obj = Server.CreateObject("组件.TestJava")

response.write Obj.lenstr("你好!Hello World!")

response.write "<br>" & Obj.version

response.write "<br>" & Obj.Ver

Obj.asptest

set Obj=nothing

%>

保存为testjava.asp

确定你的Web服务器在工作,然后在浏览器看看结果吧!

关于使用ASP内置对象:

如果能使用response.write ("Hello World!"),那么将会很方便。下面简单介绍一下如何使用ASP内置对象。

你打开windows系统目录下的java子目录,如果安装了IIS或者PWS后会多出一个目录 trustlib

打开com\ms\asp下,这里面就有能够在Java ActiveX组件使用的东东,使用这些内置对象,只要将它们 "import" 进来,便可

在Java ActiveX组件中取得 ASP 内置的对象,程序如下:

public class TestJava

{

public String Ver="1.0.1版";

public int lenstr(String str)

{

return str.length();

}

public String Version()

{

return Ver;

}

public void asptest()

{

IGetContextProperties icp;

Variant vari=new Variant();

IResponse iresp;

icp=(IGetContextProperties)MTx.GetObjectContext();

vari=icp.GetProperty("Response");

iresp=(IResponse) vari.getDispatch();

iresp.Write(new Variant("<h1>Java ActiveX组件</h1>"));

}

}

用asp测试一下:

<%

`testjava.asp

Set Obj = Server.CreateObject("组件.TestJava")

response.write Obj.lenstr("你好!Hello World!")

response.write "<br>" & Obj.version

response.write "<br>" & Obj.Ver

Obj.asptest

set Obj=nothing

%>

结果如下:

15

1.0.1版

1.0.1版

Java ActiveX组件

注:这个Java程序要用microsoft sdk for java 编译器才能成功编译(使用jvc.exe),另外在microsoft sdk for java 安装目录的Samples\ASP下有关于ASP的详细例子。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有