2012-07-18 106 views
0

我正在为使用Sencha Touch 2.0的iOS编写Web应用,并且主要在前端使用Javascript,但是我打算使用Sencha将应用“打包”到什么是近乎原生的应用程序。将服务器端Java连接到iOS前端Javascript应用

我需要访问服务器上的java代码 - 一些函数用于查询数据库,另一个用于运行条码扫描器。对于carcode扫描仪,我还需要将从iOS库中拍摄的照片传递给服务器。

我对这两种语言都很陌生,需要在基本级别上具体指导如何连接数据库,然后运行这些Java函数,将图片发送到数据库,并将结果(字母数字)返回给javascript 。非常感谢!

+0

目前为止你工作的语言是? – olegtaranenko 2012-07-18 13:57:34

+0

JavaScript是前端Sencha框架使用的语言。我们在服务器上有Java项目,需要访问这些Java项目。 – user1534829 2012-07-18 14:52:22

回答

0

对于java到数据库,您可以使用JDBC,JPA或ORM(如Hibernate)进行研究。您不一定需要将图形存储在数据库中 - 您可以将其保存在文件系统中,只需通过数据库指向该文件即可。 Java服务器可以通过AJAX(使用JSON格式)与javascript UI /前端进行通信 - 你可以使用类似socket.io的方式进行查看(使用网络套接字并退回到闪存套接字/长轮询) 从UI - 你也可以让getJSON调用以及在服务器上调用您的Java代码。

使用JQuery的示例调用(您不需要使用Jquery - 这仅供参考)。在这种情况下,表单提交(可以是任何其他操作)在服务器端进行“登录”的后调用 - 序列化数组(JSON格式)可以在服务器端进行解析。这是严格的参考 - 您可以从任何客户端进行JSON调用并在服务器上处理它(注册成功回调,当服务器响应消息时将调用该回调)。

var v = jQuery("#login").validate({ 
    submitHandler: function(form) { 
var data = $.toJSON(jQuery('#login').serializeArray()); { 
var ajaxResponse = $.ajax({ 
type: "post", 
url: "login", 
contentType: "application/json", 
data: data, 
timeout: 5000, 
    success: function(data) { 
if ($.parseJSON(data).indexOf("Invalid") == -1) { 
jQuery('#displayResponse').html($.parseJSON(data)); 
} 
+0

你能否详细说一下?我正在研究AJAX。我可以用它来建立连接并实例化Java程序,对吗?我发现一些JavaScript代码发送图像到服务器,也可以在AJAX中运行。我也可以通过图片传递文件名并创建一个文件夹来保存所有文件。然后,我可以将该文件名作为java条形码解码器程序的输入。那么socket.io在哪里起作用?谢谢!带AJAX的 – user1534829 2012-07-18 15:17:46

+0

- 您可以从运行在客户端上的javascripp进行调用 - 以JSON格式将请求发送到服务器(调用JSP/Servlet或调用POJO)。在服务器(运行java)上,如果以JSON格式发送消息,则可以解析JSON,在数据库上运行操作(CRUD)并以JSON格式向客户端回应数据(在客户端,回调已注册之前,当您发送初始JSON时,会被调用 - 您可以解析JSON并显示在UI上)。希望它有帮助 – 2012-07-18 15:25:25

+0

你不需要socket.io如果你不需要网络套接字 - 只要直接AJAX是好的 – 2012-07-18 15:26:02