起步软件技术论坛-X3

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: alang

[分享]调用服务端的dll函数库**

[复制链接]
 楼主| 发表于 2008-1-4 15:12:15 | 显示全部楼层

调用c语言写的dll函数库

3楼的java代码生成c语言的头文件
打开一个dos窗口,进入存放class文件的目录:
D:\eclipse\workspace\HelloWorldDllJar>javah com.justep.test.HelloWorldDll

这样,会在D:\eclipse\workspace\HelloWorldDllJar目录下生成com_justep_test_HelloWorldDll.h文件.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-4 15:17:20 | 显示全部楼层
把11楼所生成的com_justep_test_HelloWorldDll.h文件
C:\Program Files\Justep\X3 Server\D:\X3\2956\Server\jdk1.5.0_04\include目录下的jni.h
C:\Program Files\Justep\X3 Server\D:\X3\2956\Server\jdk1.5.0_04\include\win32目录下的jni_md.h

复制到c程序的工程目录下

在 com_justep_test_HelloWorldDll.h 中定义的函数中,
JNIEXPORT jstring JNICALL Java_com_justep_test_HelloWorldDll_HelloWorld  (JNIEnv *, jobject, jstring);
转调dll库中的HelloWorld函数

然后编译出来的动态库就可以了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-4 15:29:14 | 显示全部楼层

调用VB写的dll函数库

首先声明:VB是做客户端展现的快速开发工具,不适合做函数库之类的工作!

只要是dll函数库,那么意味着可以用c语言调用,或者用Delphi语言调用,利用这两种语言做中转就可以了
Java  -- 调用 ->  c语言动态库  -- 调用 ->  VB语言动态库
或者
Java  -- 调用 ->  Delphi语言动态库  -- 调用 ->  VB语言动态库
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-7 17:20:39 | 显示全部楼层
以上例子,在Tomcat和JBoss上不用做任何修改,直接可以使用
在WebLogic上,需要修改 web.xml 文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
<servlet>
<servlet-name>HelloWorldDll</servlet-name>
<servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>
<init-param>
<param-name>home-class</param-name>
<param-value>com.justep.test.HelloWorldDll</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorldDll</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-4 13:33 , Processed in 0.043526 second(s), 13 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表