iOS-Webservice:适用于 iOS 客户端的 Web 服务



我正在开发一个iOS应用程序,该应用程序必须将一些信息(例如学生姓名,地址,卷号,学期类型)发送到Web服务。Web 服务将收到这些信息,并且只需向 iOS 客户端响应"成功接收"。我对创建这样的Web服务支持不是很熟悉,尽管我非常了解Java。

我已经在iOS部分完成了程序,除了需要指导url网络服务。我在 Eclipse 中添加了 Eclipse 和 Tomcat 7.0 服务器。我现在需要创建 Web 服务项目,并能够从 iOS 客户端接收此类学生的详细信息,并在 localhost 环境中响应进行测试。我的问题是,有人可以分享我在Eclipse + Tomcat环境中创建此类Web服务项目的教程/帮助以及我的项目目的吗?

请注意,我只是出于测试目的而要求,而不是公开发布。我正在将我的 mac 机器作为服务器机器运行,其中 eclipse 和 tomcat 已经捆绑在一起。我要求学习这样的教程 -> http://www.youtube.com/watch?v=zn8vLBOEhic

谢谢!

-马丁

流程如下:Eclipse->Dynamic Web 项目>添加您的 Web 服务代码>创建为 wsdl 服务。在客户端项目中使用此 wsdl 服务文件并访问 Web 服务 API。

如果这是一个小项目,并且在后端相当简单(如前所述),我建议查看后端即服务解决方案,例如Parse或Firebase

我也是 Web 服务的新手。对于我的应用程序,我使用了以下代码,我认为它可以在您的情况下采用:

-(IBAction)addData:(id)sender{
[self displayActivityIndicator];
NSString *studentName = self.studentNameTextField.text;
NSString *studentAddress = self.studentAddressTextField.text;
NSString *rollNumber = self.rollNumberTextField.text;
NSString *semesterType = self.semesterTypeTextField.text;
NSString *rawStr = [NSString stringWithFormat:@"name=%@&address=%@&&rollNumber=%@&semester=%@", studentName,
                    studentAddress,
                    rollNumber,
                    semesterType];
NSData *data = [rawStr dataUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL URLWithString:@"http://www.mywebsite.com/savedata.php"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:data];
NSURLResponse *response;
NSError *err;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&err];
NSString *responseString = [NSString stringWithUTF8String:[responseData bytes]];
NSLog(@"%@", responseString);
NSString *success = @"success";
[success dataUsingEncoding:NSUTF8StringEncoding];
NSLog(@"%lu", (unsigned long)responseString.length);
NSLog(@"%lu", (unsigned long)success.length);

[self dismissViewControllerAnimated:YES completion:nil]; // Dismiss the viewController upon success
}

保存数据.php

<?php 
header('Content-type: text/plain; charset=utf-8');

$db_conn = new  PDO('mysql:host=localhost;dbname=mydatabase','admin','password');
$db_conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$message = "";
$name = ($_POST['name']); 
$address = ($_POST['address']);
$rollNumber = ($_POST['rollNumber']);
$semester = ($_POST['semester']);

$qry = $db_conn->prepare('INSERT INTO  myTable(`name`,`address`,`rollNumber`,`semester`) VALUES (:name,:address,:rollNumber,:semester)');
$qry->bindParam(':name', $name);
$qry->bindParam(':address', $address);
$qry->bindParam(':rollNumber', $rollNumber);
$qry->bindParam(':semester', $semester);
$qry->execute();
if ($qry) { $message = "success"; }
else { $message = "failed"; }
echo utf8_encode($message);
?>

最新更新