我已经用java的jni方法实现了java调用dll库,java程序为:         public class testdll {
static 

System.loadLibrary("FANGJIAN"); 



public native static String ID_Read(int t);
public static void main(String[] args)  { 
 testdll test = new testdll();
          int t=30;//t为刷卡器的等待时间,可以在java程序里来自定义! 
          String a=test.ID_Read(t);
          System.out.println(a);
} }    现在不再用main函数来实现显示调用结果,而是再jsp页面上调用这个类的ID_Read方法,但是总是会出一些错误,我采用了struts的架构来做的,返回页面时候用了一个实体来封装返回的结果,也采取了直接调用该类获取返回值,但是都不成功,不知道那位大侠做过这种方法!!!请给小弟赐教,感激不尽!

解决方案 »

  1.   

    比如它会报这样的错误:no FANGJIAN in java.library.path
    我最终它执行的路径,发现他在调用FANGJIAN
      

  2.   

    FANGJIAN这个dll时候,出的问题,请问dll文件应该是放在那里才能找到呢? 我在class文件同目录下  java文件目录下 项目的lib目录下  jsp文件目录下  甚至tomcat下面都放了
      

  3.   

    把dll放到 windows的system32目录下试试
      

  4.   

    怎么没人回应呢?都是我一个人在说啊  我刚才又试了 吧FANGJIAN.dll考到了system32下,好! 这个错误没有了,但是我下一步是调用ID_Read(int t)方法,但是报错
    javax.servlet.ServletException: ID_Readjava.lang.UnsatisfiedLinkError: ID_Read
    com.util.testdll.ID_Read(Native Method)
    com.util.ShowCardno.getCardno(ShowCardno.java:31)
      

  5.   

    而且 如果返回到上一个页面再执行该操作的话 就会报下面的错误:javax.servlet.ServletException:Native Library C:\WINDOWS\system32\FANGJIAN.dll already loaded in another classloader
       什么原因啊???
      

  6.   

    我再main函数中执行同样的语句打印出来,可以成功,但是写另外一个有返回值的方法,在web上调用之,就报错javax.servlet.ServletException: ID_Read,说这个方法不能连接,是什么原因呢? 各位高手快来帮帮我吧:::
    package com.util;public class testdll {
    static 

             
    System.loadLibrary("FANGJIAN"); } 


    public native static String ID_Read(int t);     public String Read()
        {
         testdll test = new testdll();
         int t=30;
         System.out.println("bbbb");
         String a=test.ID_Read(t);
         System.out.println(a);
         return a;
        } public static void main(String[] args)  { 
    testdll test = new testdll();
             int t=30;//t为刷卡器的等待时间,可以在java程序里来自定义! 
             String a=test.ID_Read(t);
             System.out.println(a);
    } }
      

  7.   

    以上问题,我已经解决了,但是我不知道页面上该如何得到刷卡后得到的卡号,我在页面上直接调用我这个类,传给它一个等待时间参数,但是页面生成时,它直接获得的是没有获得卡号的结果: 注明:我的ID_Read函数有一个等待刷卡时间的参数。不知道那位大侠做过在网页上刷卡,获得卡号的相关项目,我一般只见过在cs模式中用过的!