2010-09-09 16 views
1

我有一個通過Java Webstart調用的應用程序。通過Webstart鏈接打開它沒有任何問題。來自Excel的動態JNLP生成和調用

我也有一個基於Excel的應用程序生成文件(通過vba),然後可以通過Webstart啓動程序打開。

我想要做的是有一個按鈕,調用Webstart應用程序,然後打開一個新生成的文件。文件名(和內容)是時間敏感的,所以我不能一次又一次地使用相同的文件名。

我幾乎想通了如何使用vba通過Webstart調用應用程序,但問題是Webstart應用程序能夠打開一個文件,它需要作爲jnlp描述符中的參數傳入

<application-desc main-class="com.foo.WebstartApp"> 
    <argument>-file</argument> 
    <argument>C:\files\file_20100909_164834.csv</argument> 
</application-desc> 

當文件名總是不一樣的時候,如何將文件名傳遞到JNLP文件?

我應該每次看動態生成一個新的jnlp文件,還是有辦法參數化jnlp文件並在調用JNLP時通過文件名?

+0

這似乎有更多的信息http://stackoverflow.com/q/986595/223939 – Pram 2010-09-09 21:16:57

回答

1

動態生成的JNLP文件可能會打開注入攻擊,就像動態SQL一樣。此外,它看起來好像您期望用戶信任信任不可信任的JNLP文件的WebStart應用程序。

假設你有每個桌面(SingleInstanceService),有關哪些文件來使用,這並不一定是可信的,可以穿過使用PersistenceService(「鬆餅」),或者,顯然,如果瀏覽器的applet一個應用實例是IE瀏覽器,通過cookies。

+0

這是一個內部網站,所以我不擔心注入式攻擊 – Pram 2010-09-09 20:10:15

+0

@Pram這麼久因爲你知道你在做什麼。目前,周邊安全措施還不夠充分。 – 2010-09-09 21:16:17

+0

.jnlp文件可以根據需要進行簽名 – finnw 2010-09-14 03:13:46