为什么jsp调用dll时出现UnsatisfiedLinkError错误?
我在java程序中可以通过jni调用dll,但在jsp中却不行,出现错误:
java.lang.UnsatisfiedLinkError: E:\j2sdk1.4.2\bin\sios.dll: ÕҲ»µ½ָ¶¨µijÌÐò¡£
java.lang.ClassLoader$NativeLibrary.load(Native Method)
java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1560)
java.lang.ClassLoader.loadLibrary(ClassLoader.java:1485)
java.lang.Runtime.loadLibrary0(Runtime.java:788)
java.lang.System.loadLibrary(System.java:834)
jni.CheckUser.<clinit>(CheckUser.java:5)
jni.CheckOnServer.<init>(CheckOnServer.java:8)
org.apache.jsp.chkUser_jsp._jspService(chkUser_jsp.java:109)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
我已经把dll放到C:\WINDOWS\system32、E:\j2sdk1.4.2\bin等处都试了,不起作用
====================CheckOnServer.java==================
package jni;
public class CheckOnServer {
public CheckUser a=null;
public String passwd="";
public CheckOnServer(){
a=new CheckUser();
}
public String getPasswd(String accCount){
passwd=a.getPassword(accCount);
return passwd;
}
}
========================CheckUser.java========================
package jni;
public class CheckUser {
static{
System.loadLibrary("sios"); // (1)
}
public native String getPassword(String str); // (2)
}
=================jni_CheckUser.h==================
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class jni_CheckUser */
#ifndef _Included_jni_CheckUser
#define _Included_jni_CheckUser
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: jni_CheckUser
* Method: getPassword
* Signature: (Ljava/lang/String;)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_jni_CheckUser_getPassword
(JNIEnv *, jobject, jstring);
#ifdef __cplusplus
}
#endif
#endif
我的jsp:
。。。。。。
<%
CheckOnServer co = new CheckOnServer();
%>
。。。。。。