全文如下:
看红色内容!import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.*;
//http://ljc:8088/servlet/cy.integration.JNI.dog.TransferInfo?action=getinfo&key=dogserial
public class TransferInfo extends HttpServlet {
  static{
    System.loadLibrary("hzdog");
  }
  public native static String getInfo(String key);
  public native static int sendInfo(String key,String value);
  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  doPost(request,response);
  }
  public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    ServletOutputStream out=response.getOutputStream();
    String key=request.getParameter("key");
    String action=request.getParameter("action");
    String value=request.getParameter("value");
    System.out.println(key.equals("dogserial"));
    System.out.println(getInfo(key));
    //在Jsp中调用,这里输出的结果是:085D8EED1136810BC6
    if(action.equals("getinfo"))        out.print(getInfo(key));
    if(action.equals("getstaticinfo"))  out.print(getInfo(key));
    if(action.equals("sendinfo"))       out.print(sendInfo(key,value));
  }
  public static void main(String[] args){
    String s=getInfo("dogserial");
    System.out.println(s); 
    //这里输出的结果是:6F0D577474E9083E8373438313330373
    
  }
}

解决方案 »

  1.   

    每一句我写个注释,大家容易看点import   java.io.IOException; 
    import   javax.servlet.*; 
    import   javax.servlet.http.*; public   class   TransferInfo   extends   HttpServlet   { 
        static{ 
            System.loadLibrary("hzdog");   //从一个dll里加载方法
        } 
        public   native   static   String   getInfo(String   key);               //这个是dll里的方法
        public   native   static   int   sendInfo(String   key,String   value);  //这个也是dll里的方法    public   void   doGet(HttpServletRequest   request,   HttpServletResponse   response)   throws   ServletException,   IOException   { 
        doPost(request,response);  //这个不多说了    } 
        public   void   doPost(HttpServletRequest   request,   HttpServletResponse   response)   throws   ServletException,   IOException   { 
            ServletOutputStream   out=response.getOutputStream(); 
            String   key=request.getParameter("key"); 
            String   action=request.getParameter("action"); 
            String   value=request.getParameter("value");         System.out.println(key.equals("dogserial")); 
            System.out.println(getInfo(key));  //关键就是这个getInfo()方法        //在Jsp中调用,这里输出的结果是:085D8EED1136810BC6         if(action.equals("getinfo"))                 out.print(getInfo(key));  //关键就是这个getInfo()方法        if(action.equals("getstaticinfo"))     out.print(getInfo(key)); 
            if(action.equals("sendinfo"))               out.print(sendInfo(key,value)); 
        } 
        public   static   void   main(String[]   args){ 
            String   s=getInfo("dogserial");   //关键就是这个getInfo()方法        System.out.println(s);   
            //这里输出的结果是:6F0D577474E9083E8373438313330373 
            
        } 
    }
      

  2.   

    鬼知道这个getInfo方法是怎么写的
    两处地方调用环境不同,产生不同的结果不起怪,关键是看本地的getInfo()方法是怎么返回这个结果的
      

  3.   

    虽然你没有把那个getInfo()方法的实现方法让大家看,可我很赞同二楼的实现
     我认可
      

  4.   

    IT资源网,Java/J2EE技术教程