快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

用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的具体例子。





返回类别: 教程
上一教程: java 的jdom使用类
下一教程: java窗口的实现---计算器(算加法)

您可以阅读与"用Java编写ASP组件"相关的教程:
· 用Java编写扫雷游戏--代码思想
· 用java编写简朴UDP网络通信程序
· 利用JAVAMAIL API编写邮件发关程序
· 用JavaMail API编写可带附件的邮件发送程序
· Java中利用JMF编写摄像头拍照程序
    微笑服务 优质保证 索取样品