Java JNA —— JNI的加强版
2014-04-02 09:20
316 查看
在开发过程中,Java程序猿有时候很郁闷,要取计算机的相关信息相当无措!其实了解JNI的猿人应该知道,通过JNI调用C/C++的动态链接库就可以轻松的实现!但是有人又会觉得JNI还是有点复杂,好吧,今天就分享一下JNI的加强版——JNA,它让我们轻松了跨语言的调用,调用其他语言的方法/函数就如调用Java自己定义方法一般!好啦,不多说,直接贴代码,简单的实例,获取计算机的名称:
这是后台是的代码,至于怎么展示在前台上就不用我多说了吧!
动态链接库dll、jar包下载地址:http://download.csdn.net/download/luo201227/7133593
/** * @Description: * * @Title: JNATestServlet.java * @Package com.joyce.jna * @Copyright: Copyright (c) 2014 * * @author Comsys-LZP * @date 2014-2-27 下午04:26:21 * @version V2.0 */ package com.joyce.jna; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.sun.jna.Library; import com.sun.jna.Native; /** * @Description: * * @ClassName: JNATestServlet * @Copyright: Copyright (c) 2014 * * @author Comsys-LZP * @date 2014-2-27 下午04:26:21 * @version V2.0 */ public class JNATestServlet extends HttpServlet { /** * @Fields serialVersionUID : TODO */ private static final long serialVersionUID = -8617706236668864317L; public interface GetComputerName extends Library { GetComputerName INSTANCE = (GetComputerName) Native.loadLibrary("dll/GetCompName",GetComputerName.class); public String GetCopmuterName(); } @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); String computerName = GetComputerName.INSTANCE.GetCopmuterName(); System.out.println(computerName); PrintWriter out = response.getWriter(); out.print(computerName); out.flush(); out.close(); } }
这是后台是的代码,至于怎么展示在前台上就不用我多说了吧!
动态链接库dll、jar包下载地址:http://download.csdn.net/download/luo201227/7133593
相关文章推荐
- java 调 C (jni 与 jna)
- JNI的替代者—使用JNA访问Java外部功能接口
- JNI的替代者—使用JNA访问Java外部函数接口
- JNA框架之JNI(JAVA调用DLL/SO库)
- JNI的替代者—使用JNA访问Java外部函数接口
- JNA—JNI终结者,java调用dll、ocx、so最简单的方法
- 【Java Native】【JNI与JNA性能的比较】
- Java调用本地C/C++动态库拾遗 JNI/JNA与名称粉碎
- JNA—JNI终结者,java调用dll、ocx、so最简单的方法
- JNI的替代者—使用JNA访问Java外部功能接口
- JNI的替代者—使用JNA访问Java外部功能接口
- JNA (Java Native Access) 不通过JNI直接调用本地代码
- JNI的替代者—使用JNA访问Java外部功能接口
- JAVA(JNI,Jnative,JNA)分别调用delphi的动态链接库(dll)
- JAVA(JNI,Jnative,JNA)分别调用delphi的动态链接库(dll)的技术交流.
- JNI的替代者—使用JNA访问Java外部函数接口
- JNI的替代者—使用JNA访问Java外部功能接口
- jna(jni的坑),java jni native方法去申请native heap 空间
- Java工作笔记:部署Tomcat时使用jni和jna调用DLL文件的问题
- JNA—JNI终结者,java调用dll、ocx、so最简单的方法