您的位置:首页 > Web前端 > JavaScript

JSP调用标准DLL附全部代码

2008-03-29 21:01 453 查看
今天用Java做了一个引用DLL的小例子。就是在DLL中用MessageBoxW显示一行字,然后用Java调用。
做的DLL名字叫JNI.DLL,放在了Tomcat的bin里(因为在JSP的bean中取当前路径显示就是这里)。然后在index.jsp里写上 <%@ page contentType="html/text ; charset=utf-8" import="Doudya.jni.jc"%>
<%
jc j = new jc();
out.println(Integer.toString(j.msg()));
%>
然后浏览,结果Tomcat果然弹出一个MessageBox……
正如我所预料的,JNI果然可以在JSP上使用。
这样一来就证明JSP可以调用标准DLL了,在服务器上的鼠标位置信息,屏蔽服务器上键盘和鼠标消息,用APi挂接Tomcat监视输入输出就都可以做到了。还可以做个监视服务器流量,在加载下一个网页的时候在当前页上显示真正的页面进度通通可以做到。
我也可以好好学C++了,用C++来做JSP的感觉一定很好啦。
又一个新的开始……
下面是全部代码。

所用到的工具有 Microsoft Vistual Studio 2008,Tomcat 1.6.16,JDK 1.6.04,EditPlus 3.00哈哈。

index.jsp*********************
<%@page contentType="text/html; charset=utf-8" import="Doudya.jni.jc"%>
<%
jc j = new jc();
out.println(Integer.toString(j.msg()));
%>
JNI.cpp***********************
#include <windows.h>
#include "E://website//Doudya_jni_jc.h"

extern "C" JNIEXPORT jint JNICALL Java_Doudya_jni_jc_msg(JNIEnv* env,jobject jo){
wchar_t n[256];
jint k = 1987;
MessageBoxW(NULL,(_itow(k,n,10)),L"Java Native Interface Learnning",0);
return k;
}
jc.java***************************(javac -d E:/website/web/WEB-INF/classes jc.java -Xlint)
package Doudya.jni;
public class jc{
public native int msg();
public jc(){
System.loadLibrary("JNI");
}
public static void main(String[] args){
jc j = new jc();
int k = j.msg();
System.out.println("C++ return " + Integer.toString(k) + "/t you can smile");
}
}
Doudya_jni_jc.h***************************(javah Doudya.jni.jc)
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class Doudya_jni_jc */

#ifndef _Included_Doudya_jni_jc
#define _Included_Doudya_jni_jc
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: Doudya_jni_jc
* Method: msg
* Signature: ()I
*/
JNIEXPORT jint JNICALL Java_Doudya_jni_jc_msg
(JNIEnv *, jobject);

#ifdef __cplusplus
}
#endif
#endif
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐