2011-09-13 86 views
4

我正在編寫一個Web應用程序,允許用戶上傳直接從設備(即掃描儀)導入它們的文檔。Java Applet和DLL

我想實現一個簡單的使用Java Applet處理設備通信的Web應用程序。我已經創建了以下教程中的jtwain.dll: http://today.java.net/pub/a/today/2004/11/18/twain.html 和一個演示應用程序在獨立模式下工作正常。

現在我需要切換到小程序,但我不知道如何將jtwain.dll分發到客戶端以使小程序正常工作(此應用程序將用於客戶端爲Windows XP的Intranet中或更晚)。

回答

4

我這樣做是很久以前的事,但它的要點是要提取的DLL你的小應用程序的代碼庫,所以你將其存儲在JAR中,然後將其複製到JRE的/ lib/ext文件夾中。

//Where this is an applet 
URL codeBase= this.getCodeBase(); 
URL twainUrl new URL(codeBase, "jtwain.dll"); 
String javaHome=System.getProperty("java.home"); 
//copy the contents of twainUrl to javaHome\lib\ext 

您將需要您的小程序進行簽名。

+0

謝謝Mike。然後,一旦我將twain.dll的內容複製到/ lib/ext中,是否可以使用System.loadLibrary(「jtwain」)加載庫,或者我需要使用System.load(FULL/PATH/TO/JTWAIN.DLL) ? –

+0

System.loadLibrary(「jtwain」)如果一切正常。 –

0

也許你可以包括你的DLL到JAR文件並加載動態

2

自1.6.0_10開始,可以使用Java Web Start啓動小程序(嵌入式&)。 JWS不僅使部署本機更容易,而且還可以通過操作系統對下載進行分區(用於* nix的.so,用於Windows的.dll)。

當然,使用JWS啓動的應用程序也可以做到這一點。自由浮動框架(或小應用程序)比嵌入式小應用程序更易於工作和部署。