如果这是一个愚蠢的问题,请原谅我。我对构建web服务和完整的web应用程序是完全陌生的。我想开发一个基于java的web应用程序的特殊功能。但是,使用Python开发此功能会更简单。那么,如果我使用Python开发此web服务,并将其用于基于Java的web应用程序,是否有可能?
发布于 2011-04-01 23:08:55
我认为这是可能的。让我们假设您的webservice方法返回一个json字符串。您可以使用此字符串,在Java语言中将其转换为HashMap并处理数据。
我个人更喜欢cherrypy,因为它很容易创建for服务。它还有一个内置的服务器。
您可以使用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字符串。
发布于 2011-04-01 23:20:39
这取决于你的意思。您的意思是要将该服务作为应用程序中的库使用吗?如果是这样的话,你可能想看看Jython,并把它做成一个插件。
但是,如果您想要将服务作为单独的应用程序运行,那么使用web接口从Java调用它,这应该没有问题。从理论上讲,web服务的最终用户(在这种情况下,用户是您的应用程序)不应该担心服务是用什么语言编写的;只要保持标准(JSON、XML等),大多数语言将能够协同工作。
发布于 2011-04-01 23:09:30
在框架中开发时,使用框架的语言进行开发通常比使用不同的语言进行开发更简单。
Servlet是web服务器(也称为Servlet容器)的组件。Servlet容器和所需的Servlet API都是Java。虽然您可以在某种Python代码中使用科学技术,但很可能集成工作最终会使这种“简单性”变得比您特别希望的复杂得多。
如果需要Python web应用程序,请使用Python web框架。如果您需要Java web应用程序,请使用Java框架。不要试图使这两个交叉兼容,因为集成点(和使用/提供的便利)甚至不能保证存在于栅栏的“另一边”。
https://stackoverflow.com/questions/5515157
复制相似问题