如何从其他Web应用程序访问的数据库中创建数据

时间:2010-08-25 06:47:19

标签: java

我有一个数据库,我想从中公开数据。

理想情况下,我希望能够将URL添加到其他网页中,然后该URL将使用我用来与数据库交互的Web应用程序调用正确的数据。

网络服务是否是最佳选择?

3 个答案:

答案 0 :(得分:3)

在我看来,ODATA是一个完美的工作:

  

开放数据协议(OData)是一种用于查询和更新数据的Web协议,它提供了解锁数据并将其从当今应用程序中存在的孤岛中解放出来的方法。 OData通过应用和构建HTTP,Atom发布协议(AtomPub)和JSON等Web技术来实现这一目标,以提供对来自各种应用程序,服务和商店的信息的访问。

See it action(在浏览器中显示查询结果只是使用ODATA的一种方式)。

答案 1 :(得分:1)

您描述的基于URL的解决方案仅在以下情况下有效:

a)您使用的Web应用程序框架可以在解析并将HTML发送到浏览器时自动解析URL,或者

b)浏览器解析URL(例如IMG元素)

如果您使用的Web应用程序框架可以解析URL(或者如果您可以对其进行扩展),那么您仍然需要能够侦听该URL并从数据库中检索正确元素的内容。

答案 2 :(得分:0)

这里的方法取决于您是在进行Ajax样式的网页还是简单的HTML,每个UI更新都会刷新整个页面。

后者是一个传统的逐页网站,它可能是最简单的事情。为此探索JSP技术。我们的想法是你编写一个看起来像HTML页面的东西,但在其中嵌入了Java对象(甚至Java代码)的引用。在这种情况下,您应该阅读简单的框架,如Struts。广泛的想法是你得到这个处理序列

 Request arrives from Broswer, interpret it to figure out what the user wants to see
 Some Java code talks to the Database gets data puts it in a Java Object
 A JSP is chosen, that JSP picks items from the Java Object we just prepared
 The JSP renders HTML which is sent to the Browser

对于Ajax,浏览器中的JavaScript决定显示一些数据并调用服务来获取它。所以在这里,是的,需要某种“Web服务”。通常我们使用REST服务,它以JSON格式返回有效负载,有效地将数据作为JavaScript传输。

有很多用于创建RESTful Web服务的库,例如Apache Wink。