2012-01-16 56 views
-1

我對Java和JSP很陌生。Java/JSP - 如何追蹤應用程序生成的代碼?

我正在使用購買的Java Web應用程序。當我在瀏覽器中訪問應用程序時,有一個文件「mysite.com/app/servlet/com.sample.weblet.server.ClientReader?...」,其中包含一行Javascript,在某些瀏覽器中出錯。我想找到該Javascript代碼的來源,以便我可以對其進行修改,以便跨瀏覽器兼容。

我搜索了所有的JSP和JS文件(它們都在一個單獨的文件夾中,沒有打包到JAR文件中),但找不到錯誤的函數。 我深入挖掘了JAR文件。我只找到類聲明,變量聲明和空方法。我一直無法找到任何邏輯,絕對沒有遇到類似於JavaScript自動生成的任何東西。沒有WAR文件。

我在一個jar文件中發現了com.sample.weblet.server.ClientReader ..它只是包含了一些空的方法,再一次。

我假設這個錯誤的JS代碼是自動生成的。這聽起來正確嗎? 有沒有像一個主要的JAR文件有所有的邏輯?它會將這個JS代碼硬編碼到它嗎?我錯過了什麼?

任何人都可以指導我,或給我任何提示?

+2

你爲什麼不問這個webapp的供應商修復這個bug? – 2012-01-16 13:37:58

+0

我做到了。但是,我以非典型方式使用他們的應用程序(我在模態窗口中的iframe中打開應用程序,而不是直接在網頁上)。他們沒有做出任何承諾,根據我與他們的談話,這個問題似乎不太可能得到任何關注。我看到了JS中的錯誤,並且知道如何解決它,但是我只是對JAVA沒有足夠的瞭解來源。 – webdev11 2012-01-16 13:46:13

+0

你怎麼知道這些方法是空的?如果您使用的是「javap」或類似的,請注意他們打印方法簽名_only_ - yiu將不會看到(編譯的)方法主體。 – 2012-01-16 17:01:09

回答

0

我的建議是你應該使用firebug來檢測javascript錯誤。如果發生任何錯誤,您將在螢火蟲的「控制檯」標籤下看到它,並且通常在它旁邊有一個鏈接,單擊該鏈接會將您帶到錯誤代碼所在的位置。

此外,您可以瀏覽頁面已加載的JavaScript文件,方法是單擊螢幕上的「腳本」標籤下的列表按鈕。

希望它有幫助。

+0

這就是我首先發現錯誤的方法。 「mysite.com/app/servlet/com.sample.weblet.server.ClientReader?...」是具有錯誤代碼的文件,按照螢火蟲。我通過腳本標籤在該文件的腳本中發現了錯誤。 – webdev11 2012-01-19 17:18:07

+0

@ webdev11好的。我誤解了。 「mysite.com/app/servlet/com.sample.weblet.server.ClientReader?...」看起來像一個URL指向一個servlet。有沒有一個具有這個servlet定義的「web.xml」? ClientReader是否有任何執行生成作業的實現或子類? – 2012-01-20 05:58:36

相關問題