主要内容:
1、Java 通过JNI调用DLL,返回ArrayList.
2、Jsp 通过JNI调用DLL.
使用的开发工具:MyEclipse10.7 + java jdk1.6.0_35 + vs2010.
一、Java层原型方法
package com.zdd.searcher;
import java.util.ArrayList;
public class SearchEngine {
public native ArrayList<QueryResult> query(String imgFileName);
static
{
System.loadLibrary("searchenginedll");
}
}
package com.zdd.searcher;
/**
* 查询结果项
* @author zdd
*
*/
public class QueryResult
{
private String filePath; //
private float similarity; //
//构造函数
public QueryResult() {
filePath="";
similarity = 0.0f;
}
public QueryResult(String filePath, float similarity) {
this.filePath = filePath;
this.similarity = similarity;
}
public String toString() {
return "filePath: " + filePath + " similarity: " + similarity;
}
public String getFilePath() {
return filePath;
}
public void setFilePath(String filePath) {
this.filePath = filePath;
}
public float getSimilarity() {
return similarity;
}
public void setSimilarity(float similarity) {
this.similarity = similarity;
}
}

本文总结了使用JNI从Java调用DLL并返回ArrayList,以及如何在JSP中通过JNI调用DLL。详细介绍了从Java层定义原型方法,生成.h文件,创建并配置VS2010的DLL项目,处理C++中vector与Java ArrayList的转换,以及JSP中JNI调用的特殊部署问题。源码可供参考。
最低0.47元/天 解锁文章
148

被折叠的 条评论
为什么被折叠?



