簡體   English   中英

如何通過Java連接URL執行JSP的JavaScript?

[英]How can i execute javascript of jsp throught java connection url?

嗨,我已經在我的jsp頁面中編寫了我的javascript代碼,並且我正在通過java連接url調用我的jsp,它正在正常執行,但是跳過了我在頁面加載時調用的javascript函數。 我無法理解為什么它沒有執行我的JavaScript。

try {
    URL myURL = new URL("http:localhost:8080/Approval.jsp?empCode=123&compCode=A");
    URLConnection myURLConnection = myURL.openConnection();
    myURLConnection.connect();
} 
catch (IOException e) {   

}

是否有直接通過連接URL調用JavaScript的方法,請提出建議?

在Web上下文中,JavaScript通常作為HTML網頁的一部分包含在內,並且僅在該上下文中執行。 Web瀏覽器通常會執行此操作; 它們具有內置的HTML和JavaScript(以及CSS等)解析器來解析源代碼,以及內置的JavaScript引擎,這些引擎在網頁上下文中執行JavaScript。

Java URLConnection抽象不是Web瀏覽器,並且對HTML和JavaScript一無所知。 它僅支持向URL發送請求和從URL接收響應。 而且,它本身甚至不執行此操作,因為它的connect()方法是抽象的。 它依靠一個(更多)具體的子類來知道如何使用特定的協議來完成這些工作。 在您的情況下,這將是HttpURLConnection ,因為您的URL使用HTTP協議。

HttpURLConnection增加了對某些HTTP功能(例如HTTP狀態代碼)的特定了解,但是對HTML和JavaScript仍然一無所知。 因此,這樣做的最終結果是,盡管您的代碼將在構建網頁時正確接收JSP生成的所有HTML和JavaScript,但它無法解析或執行它。 HttpURLConnection而言,它基本上是純文本。

您正在尋找的是Java的無頭(無GUI)瀏覽器庫。 我建議使用HtmlUnit( http://htmlunit.sourceforge.net/ ),它非常廣泛且穩定,並且可以做很多事情,包括執行JavaScript。

暫無
暫無

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

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