簡體   English   中英

如何從Servlet訪問/調用Java程序

[英]How can I access/call Java program from a Servlet

我已經創建了一個Java程序的可執行jar,我想通過我的Servlet在同一台機器上訪問它,也可以在另一台機器上訪問它。 我該怎么辦?

我發現了許多使用網絡/ TCP通過Java程序調用Servlet的解決方案...但是我正在尋找Servlet來調用Java程序的功能。

找到了另一個更具體的解決方案

如果可以在同一個JVM中運行所有內容,則可以執行以下操作:

公共類啟動器{...公共靜態void main(String [] args)引發異常{launch(Class.forName(args [0]),programArgs(args,1)); }

protected static void launch(Class program, String[] args) throws Exception {
    Method main = program.getMethod("main", new Class[]{String[].class});
    main.invoke(null, new Object[]{args});
}

protected static String[] programArgs(String[] sourceArgs, int n) {
    String[] destArgs = new String[sourceArgs.length - n];
    System.arraycopy(sourceArgs, n, destArgs, 0, destArgs.length);
    return destArgs;
}

並使用提供的/配置的參數調用方法啟動。

調用JavaProg函數意味着產生另一個非常昂貴的JVM進程。 為什么不把這個jar(您寫過您正在創建此程序,所以您知道它是如何構建的)不放入Web應用程序中,並使您的serlvet只是調用適當的類?

完全可行嗎?

Java程序和Java Servlet之間沒有太大區別。 因此,您只需導入Java程序,即可在Java Servlet內部直接使用它。

但是,要注意的一件事是,要導入的Java程序(即jar文件)必須放在WEB-INF / class /目錄中。

您可以輕松地將jar添加到servlet應用程序中。將該jar分散到servlet中,然后調用要在servlet中使用的適當類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM