由於可以使用許多編程語言來開發Web應用程序。不看源代碼,有什麼方法可以確定Web應用程序是用Java編寫的?如何判斷頁面是否由JSP生成?
回答
我不認爲你能找到它,URL可以像.jsp,.jspx,.do,.action,.zul/.zhtml(zk框架)甚至沒有擴展名,如/ servlet/http-頭測試。
一個更多鈔票的方式(不應該依賴於它太)是檢查響應的Server
HTTP頭,下面的例子是Tomcat
服務器返回的響應:
HTTP/1.0 200 OK
Server: Apache-Coyote/1.1
Accept-Ranges: bytes
ETag: W/"7777-1302152739000"
Last-Modified: Thu, 07 Apr 2011 05:05:39 GMT
Content-Type: text/html
Content-Length: 7777
Date: Wed, 04 May 2011 19:47:23 GMT
URL上的擴展名可能是.jsp
。
但是,這並不一定意味着它是一個JavaServer Pages腳本(例如,我可以設置.jsp文件以在服務器上使用PHP進行呈現),也不是每個JSP頁面都具有.jsp
擴展名(我可以創建.html如果我喜歡,可以在我的服務器上使用JSP進行渲染,或者甚至隱藏頁面上的擴展)。
檢查URL。如果頁面以.jsp結尾,則它是一個Java Server頁面。另外,請檢查頁面請求上的響應標題。可能有一個X-Powered-By頭文件或類似的東西,表示它是由java驅動的。
該擴展是檢查語言最不可靠的方式。現在,MVC應用程序的所有風格都是使用RESTful URL,因此您加載的頁面名稱並不總是出現在URL中。大多數PHP框架如Kohana隱藏了擴展。看看SO的網址,他們使用什麼語言? Spring MVC也是一樣的東西。 – 2011-05-05 01:32:38
當然。但它是一種檢查方式。沒有人真的想要僞造一個Java頁面,因此看到.jsp是找出運行Java的頁面的一個非常可靠的方法,這是OP要求的。 – 2011-05-05 01:35:57
如果URL包含擴展名,請查看該擴展名是.jsp,.jsf還是.jspx。可以隱藏它,但是如果它具有其中的一個擴展名,那麼可以肯定它是用Java編寫的。
大部分時間都有一些提示,但基本上web服務器提供html標記,所以它可以配置爲隱藏服務器端的東西。因此,不可能有明確的方式告訴網站是用java編寫的。
Struts庫喜歡(習慣於)使用.do擴展名。
- 1. 如何判斷網頁是否存在?
- 2. 如何判斷wsimport是否將httpproxy用於生成的類
- 3. 如何判斷一個頁面是否允許漫遊器?
- 4. 如何判斷頁面底部是否已經到達?
- 5. 如何判斷門戶頁面上是否有portlet?
- 6. 如何判斷JavaScript是否會重定向頁面?
- 7. 如何判斷頁面上是否加載了AjaxControlToolkit.HTMLEditor
- 8. 如何判斷使用window.print()時頁面是否爲打印機?
- 9. 如何判斷Facebook應用是否在頁面上?
- 10. 如何判斷ASP中的頁面卸載是否回傳
- 11. 如何判斷jQuery BlockUI是否阻止了頁面
- 12. 如何判斷某個頁面是否爲ASP中的SSL?
- 13. Android Webview - 如何判斷頁面是否從緩存中加載?
- 14. 如何判斷頁面是否在iframe中使用javascript?
- 15. 在MVC中,如何判斷頁面是否正在打印
- 16. 如何判斷用戶是否爲粉絲頁面的粉絲
- 17. 如何判斷我的頁面是否使用Window.Open()打開
- 18. 如何判斷一個頁面是否被提供給iframe?
- 19. 如何判斷JEditorPane/TextPane文檔或頁面是否已完成加載?
- 20. 從JSP頁面生成PDF?
- 21. 如何判斷細化是否在斷點處完成?
- 22. 如何判斷webview頁面被加載?
- 23. 如何判斷「ZipArchiveEntry」是否是目錄?
- 24. 如何判斷location.reload()何時完成刷新頁面?
- 25. 如何判斷我的頁面是否設置爲用戶主頁?
- 26. Ruby on Rails/Javascript - 如何判斷內容是否是動態生成的?
- 27. 如何判斷iPhone應用程序是否由PhoneGap創建?
- 28. 如何判斷ref是否由Clojure中的dosync更新?
- 29. 如何判斷點擊是否由觸摸觸發?
- 30. 如何判斷我的動作是否由RenderAction調用?
術語「Web應用程序」是相當非特異性。你能澄清嗎?你的意思只是HTML,服務器端應用程序或其他? – 2011-05-05 00:52:25
澄清html和服務器端。 – Raven50 2011-05-05 00:57:40
[使用Java EE的網站]的可能重複(http://stackoverflow.com/questions/2983575/websites-using-java-ee) – BalusC 2011-05-08 11:21:09