在开发过程中偶尔会遇到要在ASP/ASP.Net中调用JAVA写的类,以实现之前已经用JAVA实现的功能,下面就以一个简单示例说明详细的使用方法:
1、创建java文件:
使用任何你喜欢的编辑器编辑以下内容:
public class hello
{
public String helloWorld(String s)
{
if(s == null)
return "";
else
return s;
}
}
将此文件保存为hello.java
2、编译java文件为class:
command方式下运行:javac hello.java
3、将编译好的hello.class文件复制到c:\winnt\java\trustlib目录
4、创建以下文件,命名为test.asp:
<%
set javaObject = GetObject("java:hello")
msg = javaObject.helloWorld("Hello World")
set javaObject = nothing
response.write msg
%>
5、测试:
在IIS中创建虚拟目录test,将test.asp文件copy到此虚拟目录中,重启IIS,在ie中访问http://localhost/test/test.asp,页面显示“Hellow World”,表示调用成功。
在asp.net中可以与ASP同样的方法使用。
注:步骤2编译时需使用1.3.x的编译器,在1.4的jdk中编译虽正常,但本人在asp/asp.net中调用时显示No object for moniker错误
6、如果在java文件中import了其他jar文件包,在步骤3还需将这些.jar文件copy到c:\winnt\java\packages目录中,并在我的电脑-->属性-->高级-->系统变量,添加classpath变量,其值为引的jar文件的详细路径,如c:\winnt\java\packages\ldapfilt.jar;c:\winnt\java\packages\ldapjdk.jar;c:\winnt\java\packages\ldapsp.jar;.中间用分号隔开,最后用小数点结束
以上在中英文win2000、winXP中均测试通过