用Java编写ASP组件

用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组件。 

     先写个很简单的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的详细例子。

时间: 2024-12-31 01:28:04

用Java编写ASP组件的相关文章

VB编写ASP组件的调试

SunADM在线创作 用VB调试组件--前面豆腐说的其实还是重启了IIS的服务:p 其实如果用VB6的话,本身就已经提供了这种调试功能,方法: 现在假设组件已经初步创建完成,并在IIS/PWS下做好了调试用的ASP程序,Copy下它的URL. 调出工程属性,到调试页,选中"启动浏览器时使用的URL",把刚才的URL Paste进去. 确定,再按F5 -- 有点迷惑的是,有时会出权限问题-- 作者:Sunadm(原创)

在Visual J++中编写ASP COM组件

visual Java是一种以网络为中心的编程语言,许多只使用ASP脚本难以完成的任务可以用Java轻松地实现.同时,扩展ASP应用最好的方法莫过于加入COM组件.那么,可以利用Java为ASP开发组件吗?本文通过实例,说明了在Visual J++环境下开发COM组件的具体过程. 一.概述 自Java问世以来,各种开发工具.开发环境不断出现.这些环境和工具面向不同层次的用户,具有各自的优点.那么,使用Visual J++作为Java开发平台又有哪些优点呢?粗略地讲,这些优点包括: 熟悉的开发环境

在Visual J++中编写ASP COM组件(转)

visual Java是一种以网络为中心的编程语言,许多只使用ASP脚本难以完成的任务可以用Java轻松地实现.同时,扩展ASP应用最好的方法莫过于加入COM组件.那么,可以利用Java为ASP开发组件吗?本文通过实例,说明了在Visual J++环境下开发COM组件的具体过程. 一.概述 自Java问世以来,各种开发工具.开发环境不断出现.这些环境和工具面向不同层次的用户,具有各自的优点.那么,使用Visual J++作为Java开发平台又有哪些优点呢?粗略地讲,这些优点包括: 熟悉的开发环境

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

简介本文用一个简单的sample演示如何在VC++ ATL编写的组件中调用我们熟悉的ASP对象(Request,Response,Session等等).你会发现在 Visual C++中使用 ATL Object Wizard就可以达到我们的目的.但使用OnStartPage,OnEndPage事件并不是最佳方法.在IIS3.0中,组件能通过IscriptingContext 接口存取ASP内建对象,但这是通过页面级方法来存取内建对象.现在有了一种更好的实现方法,就是利用ObjectContex

手把手教你使用VB来创建ASP组件

创建 一.什么是组件 组件是包含可以更改的数据形式的代码的对象,是可用代码的封装,这些代码可以用来执行应用程序的一些功能,如从数据库中检索某些信息等功能.现在经常听人说起COM,其使它的意思是组件对象模型(Component Object Model),是由微软开发的可以在Windows平台上执行的对象模型,COM定义了组件之间的交互能力.为COM编写的组件可以重复使用,并不依赖于编写所用的语言,比如说,一个组件可以用VB,VC++甚至是Java来编写,总之,只要遵守COM规范就可以了. 二.为

PerlScript编写ASP

现在我们建立第一个ASP页 <%@Language=PerlScript%> <HTML> <TITLE> PerlScript Test </TITLE> <% for($i=0; $i<=10; $i+=2) { $Response->Write(""); $Response->Write("Hello World! "); } %> </HTML> 在这里大家一定要注意

第一个ASP组件:设置服务器日期时间组件

服务器 网络之门 在进入我们需习的第一个组件之前,小虎首先得说明一下,由于小虎的水平有限,可能在下面的这些说明过程中存在不少错误,希望大家提出指证,在这里我希望能与大家分享一下ASP的学习经验,小虎的这个网站推耸的是原创精神,很多东西都是DIY,因此程序编写过程中也会染上小虎本身不良的编程习惯.而且整个教学网站也只有小虎一个维护,因此技术上肯定存在不少问题,望大家谅解. ASP组件为我们的ASP编程提供了强大的扩展功能,比如我们需要在服务器中启动一个应用程序,设置服务器的时间,访问操作系统内部信

ASP组件中的安全问题 (转)

安全|问题 Microsoft推出的ASP(Active Server Page)以简单.易用.功能多.可扩充性等强大功能得到了网友和大多数网管的喜爱,大有完全代替CGI的趋势.但是我要对你说,如果使用ASP的话,你网络的安全同时也大大降低了! 在我继续说下去之前,请你完成以下步骤: 1.下载这个文件"http://home.gbsource.net/xuankong/dll.zip",解压缩后把其中的test.dll文件拷贝到"c:\windows\system"

PerlScript编写ASP(转载)_应用技巧

Nighthawk注:  尽管这些年来Perl为广大编程爱好者所熟悉,但却对Perl存在一个令人尴尬的误解,以为Perl就是CGI,经常有人问我Perl和CGI,和PHP,和ASP比较如何如何,这是实在是件很遗憾的事情.这里特地贴出下面这篇文摘,也许能减少一些这方面的 误解.  本文将进一步讲述Perl在可嵌入技术的广域性,和PerlScript 在脚本技术领域的功用.以前的文章我说了ePerl.Embed Perl和Mod_Perl 技术,它们都是单独领域的技术,是在本身基础上的延伸.而本文将