如果這是一個愚蠢的問題,請原諒我。我對構建Web服務和完成Web應用程序完全陌生。 我想爲基於Java的Web應用程序開發特定的功能。但是,使用Python開發這個功能更簡單。那麼是否有可能如果我用Python開發這個Web服務並將其用於基於Java的Web應用程序?Python Web服務的Java應用程序?
回答
我認爲這是可能的。假設您的webservice方法返回一個json字符串。您可以使用此字符串,轉換爲Java中的HashMap並使用這些數據。
我個人比較喜歡cherrypy,爲了方便創建web服務。它也有一個內置的服務器。
您可以使用FlexJSON將json字符串轉換爲HashMap。反序列化方法將有助於這樣做。這是我做到的。
public Map<String, Object> JsonToMap(String data) {
Map<String, Object> dataMap;
dataMap = new JSONDeserializer<Map>().deserialize(data);
return dataMap;
}
這裏,String data是你的python webservice方法應該返回的json字符串。
在框架中開發時,使用框架語言進行開發通常比用不同語言開發更簡單。
Servlets是Web服務器(也稱爲Servlet容器)的組件。 Servlet容器和所需的Servlet API都是Java。雖然你可以在某些Python代碼中使用Frankenstein,但通過集成努力最終可以使「簡單」遠遠超出您特別期望的複雜程度,這是不錯的。
如果您想要一個Python Web應用程序,請使用Python Web框架。如果您需要Java Web應用程序,請使用Java框架。不要試圖讓兩個交叉點兼容,因爲集成點(以及使用/提供的便利)甚至不能保證出現在圍欄的「另一側」。
這取決於你的意思。你的意思是在應用程序中使用該服務作爲庫嗎?如果是這樣,你可能想看看Jython並將其製作成插件。
但是,如果您希望將服務作爲單獨的應用程序運行,那麼請使用Web界面從Java調用它,這應該不成問題。從理論上講,Web服務的最終用戶(在這種情況下,用戶是你的應用程序)不應該擔心服務的寫入語言;只要標準保持爲(JSON,XML等),大多數語言都能夠一起工作。
有很多用於java的web框架,有些比其他框架更好。對於相當全面的參考,請考慮諮詢http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks#Java。
Python的確是一種相當直觀的語言,而且由於它經常用作服務器端腳本語言,因此出現了許多令人尊敬的web框架(如webpy和django)。
這取決於您試圖執行的任務。如果你的項目需要一個java小應用程序,你可以將它嵌入到你使用python框架動態編寫的網頁中。但是,如果您正在尋找java和python之間的互操作性,您將希望閱讀更多關於Jython(及其限制)的內容,正如lacqui所建議的。個人來說,我是一個快速,輕量級,實用和簡單的web開發和模板的cherrypy webpy的粉絲,但是,如果速度是一個主要問題,您可能希望在採用動態類型的解釋型語言之前考慮這一點。 Python 3的平均爲比Java 6在JVM(http://shootout.alioth.debian.org/u32q/benchmark.php?test=all & LANG = python3 & LANG2 = JAVA)
慢約50倍有關Java與Python的比較的更多信息,請參見http://pythonconquerstheuniverse.wordpress.com/category/java-and-python/。
- 1. Java Web服務器應用程序
- 2. 企業應用程序或Web應用程序的Web服務
- 3. 作爲Web應用程序在Web服務器上運行Java應用程序?
- 4. 從.NET Web服務和/或asp.net Web應用程序中消費Java Web服務
- 5. 的Java EE Web應用程序VS Web服務
- 6. Web服務,Web應用程序
- 7. Web服務與Web應用程序
- 8. 將Web應用程序(Java/JSP)移動到Web服務器
- 9. 分離的Web服務器和應用程序服務器?
- 10. Java與C++:使用Web服務的應用程序的性能
- 11. Java Socket服務器 - 重定向到Web應用程序(Web服務)
- 12. Windows服務中的Web應用程序
- 13. Web應用程序的穩定服務
- 14. AWS的微服務Web應用程序
- 15. 爲GWT應用程序的Web服務
- 16. 有服務的asp.net web應用程序
- 17. MVC應用程序中的Web服務
- 18. 在遠程服務器上使用nginx服務web應用程序和python
- 19. 編程等待Web服務響應的Web應用程序
- 20. 使用Web服務的Java或.NET應用程序示例?
- 21. 用於測試服務器的Java Web應用程序
- 22. 應用程序/服務中的ASP.NET web應用程序
- 23. asp.net應用程序調用Web服務
- 24. 應用程序調用Web服務
- 25. ASP.NET Web服務應用程序vs ASP.NET Web服務
- 26. Web應用程序,WCF服務和Sharepoint Web服務
- 27. Java和Python的應用程序/服務與Web界面的通信
- 28. 登錄服務器的Web應用程序的Java
- 29. 沒有Web服務器的Java應用程序中的Google API
- 30. Python自包含的Web應用程序和服務器?
是的。這是可能的。但它可能很複雜,困難,昂貴或有風險。你有什麼更具體的問題嗎? – 2011-04-01 15:03:46
是的,如果您編寫Web服務權限,則任何語言都應該能夠使用它。 SOAP可以成爲你的朋友 – user489041 2011-04-01 15:34:00