Java编写Asp组件

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

     先写个很简单的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
确定你的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("Java ActiveX组件"));
}
}

  

用asp测试一下:



  

结果如下:

15
1.0.1版
1.0.1版  
Java ActiveX组件  

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

用Java编写ASP组件

     ASP通过ActiveX Server Components(ActiveX 服务器元件 ) 使其具有无限可扩充性。在ASP开发当中,免不了使用组件,网上的确有很多的免费,试用的组件,但这是...
  • dragonbbc
  • dragonbbc
  • 2006年09月22日 15:41
  • 826

在VC编写的组件中使用ASP对象

2001年01月18日 14:41:00 讨饭猫翻译简介 本文用一个简单的sample演示如何在VC++ ATL编写的组件中调用我们熟悉的ASP对象(Request,Response,...
  • softart
  • softart
  • 2007年10月27日 07:49
  • 260

Delphi编写asp组件

如果你想脱离asp爱好者的水平,那么你就应该学会为asp编写组件。我在google上搜索了一下,Delphi编写asp组件的文章一共就几篇,所以今天写了这篇Delphi编写asp组件的基础文章,希望对...
  • liuzhongxf
  • liuzhongxf
  • 2008年02月20日 12:46
  • 428

asp组件编写准备工作

最近在尝试用组件写asp,一些心得如下,不对之处请指正经常要重启IIS,所以需要一个批处理的文件,将下面两行代码存为xxx.batnet stop w3svcnet start w3svc经常需要注册...
  • mlzboy
  • mlzboy
  • 2005年09月13日 00:28
  • 801

java开发com组件

  MS Java虚拟机自动地将一个java类的public方法当作一个COM对象的一个方法。必须要注意做一些必要的数据类型转换(比如:将Java String转换成BSTRs )。这使得你可以快速的...
  • bedweather
  • bedweather
  • 2008年12月17日 17:18
  • 3036

asp调用DLL或com组件的简述及网上摘例

动态联接库(DLL)是加快应用程序关键部分的执行速度的重要方法 asp调用DLL或com组件的方法:步骤一: 装载 METADATA 标签中指定的类型库。 Path是mydll.dll在机器上存放的路...
  • gkq8124372
  • gkq8124372
  • 2009年04月23日 15:43
  • 4008

注册ASP组件的两种方法

今天用FSO屡次没有成功,后来才知道是自己的IIS不支持FSO,到处求救才把FSO组件注册上。第一种方法:手工注册DLL 来执行,进入到包含有DLL的目录,并输入: ://regsvr32 compo...
  • cxzhq2002
  • cxzhq2002
  • 2007年03月20日 17:19
  • 988

[ASP]调用Jmail组件发送邮件过程(绝对能发到126等外部邮箱)

前一段时间有发过一个简单的JMAIL邮件发邮件的代码,今天就把这个代码做一个具体的注解,并增加了另外两个格式的代码,并举几个简单的例子:首先是jmail.smtpmail的核心代码:Set jmail...
  • kepeizong
  • kepeizong
  • 2006年05月17日 08:25
  • 6489

用VB编写ASP组件

http://kes2000.blogchina.com/blog/article_116630.550099.html#1
  • samlover
  • samlover
  • 2005年01月27日 17:00
  • 749

asp无组件上传图片文件

最近要写一个asp 无组件上传图片文件的代码,感觉asp中真是麻烦,不像asp.net与jsp中有那么强大的文件读写和图片处理的类做支持!从网上找了一个代码,但目前只能上传和按原样输出,内部处理有待研...
  • trueman2008
  • trueman2008
  • 2007年12月14日 09:59
  • 1496
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java编写Asp组件
举报原因:
原因补充:

(最多只允许输入30个字)