JNI技术小结

本文总结了使用JNI从Java调用DLL并返回ArrayList,以及如何在JSP中通过JNI调用DLL。详细介绍了从Java层定义原型方法,生成.h文件,创建并配置VS2010的DLL项目,处理C++中vector与Java ArrayList的转换,以及JSP中JNI调用的特殊部署问题。源码可供参考。
摘要由CSDN通过智能技术生成

主要内容:

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;
	}
}


二、生成.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值