在开发过程中偶尔会遇到要在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同样的方法使用。
vb.net:
Dim javaObject As Object = GetObject("java:hello")
Dim msg As String = javaObject.helloWorld("Hello World")
javaObject = Nothing
Response.Write(msg)
C#中无法直接使用GetObject,引用System.Resources后用resourceManager.GetObject仍然不成功,没有继续调试,有兴趣的朋友可以试试,或者在VB.net中先封装成.dll,再到C#中调用。
注:步骤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中均测试通过
在asp/asp.net中调用java写的类
最新推荐文章于 2021-02-15 10:36:22 发布