本篇文章為大家展示了dll文件怎么在JavaWeb項目中實現動態加載,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
創新互聯公司堅持“要么做到,要么別承諾”的工作理念,服務領域包括:做網站、成都做網站、企業官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯網時代的大余網站設計、移動媒體設計的需求,幫助企業找到有效的互聯網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!
第一步 建立一個監聽類
建立監聽類的作用是在應用中間件啟動時自動執行加載程序。
1)創建一個類實現ServletContextListener 接口
2)實現contextInitialized方法
3)在項目的web.xml 文件中配置此監聽類
第二步 將dll文件所在的路徑添加到系統環境java.library.path 中
添加過程需要使用到反射機制來進行,不能使用System.setProperty()進行設置,設置了也無效。直接看代碼:
private void addDirToPath(String s){ try { //獲取系統path變量對象 Field field=ClassLoader.class.getDeclaredField("sys_paths"); //設置此變量對象可訪問 field.setAccessible(true); //獲取此變量對象的值 String[] path=(String[])field.get(null); //創建字符串數組,在原來的數組長度上增加一個,用于存放增加的目錄 String[] tem=new String[path.length+1]; //將原來的path變量復制到tem中 System.arraycopy(path,0,tem,0,path.length); //將增加的目錄存入新的變量數組中 tem[path.length]=s; //將增加目錄后的數組賦給path變量對象 field.set(null,tem); } catch (Exception e) { e.printStackTrace(); } }
第三步 加載dll文件
接下來就可以寫上下文初始化的方法了:
public void contextInitialized(ServletContextEvent arg0) { //獲取存放dll文件的絕對路徑(假設將dll文件放在系統根目錄下的WEB-INF文件夾中) String path=arg0.getServletContext().getRealPath("WEB-INF"); //將此目錄添加到系統環境變量中 addDirToPath(path); //加載相應的dll文件,注意要將'\'替換為'/' System.load(path.replaceAll("\\\\","/")+"/XXXX.dll"); }
第四步 重啟啟動應用中間件(Tomcat|Weblogic)
至此就可以在你的java程序中使用dll文件的方法了。
上述內容就是dll文件怎么在JavaWeb項目中實現動態加載,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注創新互聯行業資訊頻道。
分享文章:dll文件怎么在JavaWeb項目中實現動態加載
網頁地址:http://vcdvsql.cn/article36/pepepg.html
成都網站建設公司_創新互聯,為您提供網站內鏈、虛擬主機、App設計、域名注冊、電子商務、面包屑導航
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯