2010-04-12 75 views

回答

1

要清除一個誤解:JSP是在服務器機器運行在服務器端視圖技術,產生了一堆的HTML/CSS的/ JS基於模板內容和任何taglibs和EL,並通過網絡將其作爲一個大字符串發送到客戶端。運行在客戶端的瀏覽器將相應地解釋/應用/執行HTML/CSS/JS。在瀏覽器中單擊右鍵並選擇查看源代碼。如果JSP已經很好地完成了它的任務,你就不應該看到任何一行Java/JSP/EL代碼。

實現這個特殊的功能性需求的唯一方法是讓JSP頁面成爲了一個嵌入式(並簽字!)appletwebstart應用程序,它是由客戶端機器上下載(自動),並反過來做類似:

Runtime.getRuntime().exec("calc.exe"); 

你只需要認識到,這將成爲特定平臺,因此不適用於運行例如Mac或Linux的網頁訪問者。您需要添加一些基於System.getProperty("os.name")等的額外檢查,或者忘記該想法,並尋找解決方案的另一角落。

0

如果要啓動客戶端機器上的程序,你看的JavaScript或其他一些客戶端腳本,JSP不會是服務器端。

不,從設計上來說,沒有可靠的方式從瀏覽器在客戶機上啓動應用程序。考慮到這會造成巨大的安全風險。

有一些IE特定的啓動程序的方式,但它從來不是一個好主意。我相信,在IE瀏覽器的默認安全設置將防止這種反正工作: http://www.tutorial5.com/content/view/51/45/

相關問題