JSP调用标准DLL附全部代码

     今天用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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值