移动client往往须要同后台server进行通信,上传或者下载数据,最经常使用到的方式就是Http Get,如今我们来学习在iOS项目中使用Get方式同server进行通信。

【一】server端实现

(1)首先要安装好能进行J2EE开发的Eclipse或者MyEclipse,配置好Tomcat环境。

我这里使用Eclipse Mars。Tomcat版本号为8.  然后新建一个Dynamic Web Project。名称为MyServer。

然后在WebContent中新建一个JSP File。名称为index.当前文件夹结构例如以下:

(2)然后在Hello.jsp中实现例如以下:对于client的请求,我将会返回“Hello 名字”。否则返回No Paras.

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<%String name = request.getParameter("name");if (name != null) {out.print("Hello " + name);} else {out.print("No Paras");}
%>

(3)直接点击执行,或者在浏览器中输入url,结果例如以下:

【二】iOSclient实现

(1)新建一个iOS项目。Language选择Swift。然后在storyboard中设计界面例如以下:

(2)然后分别进行控件和代码的绑定。输入框TextField和显示返回结果的TextView进行Outlets绑定,发送button进行Action绑定。最后实现代码例如以下:

    @IBOutlet weak var inputName: UITextField!@IBOutlet weak var feedbackInfo: UITextView!override func viewDidLoad() {super.viewDidLoad()}@IBAction func connectServer(sender: UIButton) {NSURLConnection.sendAsynchronousRequest(NSURLRequest(URL: NSURL(string: "http://localhost:8080/MyServer/Hello.jsp?name=\(inputName.text)")!),
queue: NSOperationQueue()) { (resp:NSURLResponse!, data:NSData!, error:NSError!) -> Void inif let d = data{dispatch_sync(dispatch_get_main_queue(), { () -> Void inself.feedbackInfo.text = String(NSString(data: d, encoding: NSUTF8StringEncoding)!)})}}}

当中button的点击事件也能够是以下的形式:

    @IBAction func connectServer(sender: UIButton) {NSURLConnection.sendAsynchronousRequest(NSURLRequest(URL: NSURL(string: "http://localhost:8080/MyServer/Hello.jsp?

name=\(inputName.text)")!), queue: NSOperationQueue.mainQueue()) { (resp:NSURLResponse!, data:NSData!, error:NSError!) -> Void in if let d = data{ self.feedbackInfo.text = String(NSString(data: d, encoding: NSUTF8StringEncoding)!) } } }

(3)执行程序。实现效果例如以下:

.

github主页:https://github.com/chenyufeng1991  。欢迎大家訪问!

转载于:https://www.cnblogs.com/jhcelue/p/6881363.html

iOS项目开发实战——通过Http Get方式与server通信相关推荐

  1. iOS项目开发实战——设置视图的透明度改变动画

    在iOS中 ,透明度的改变可以让View视图以一种渐变的效果动态的出现或者消退,非常有意思.这里我们将会对一个View控件的色块执行透明度改变的动画.关于其他的动画效果可以参考我的其他几篇博客< ...

  2. iOS项目开发实战——iOS网络编程获取网页Html源代码

    如今我们身处互联网的时代,任何一个软件或是App,都会或多或少与网络打交道,并不断发生数据交互.一个没有涉及网络编程的应用会显得比较low,这里我们将会开始使用Swift开发iOS应用,并且主要来实现 ...

  3. iOS项目开发实战——开发基于Handoff的App(Swift)

    iOS8推出一个新特性,叫做Handoff.Handoff中文含义为换手(把接力棒传给下一个人),可以在一台Mac和iOS设备上开始工作,中途将工作交换到另一个Mac或iOS设备中进行.这个在iOS8 ...

  4. iOS项目开发实战——使用Xcode6设计自己定义控件与图形

    在iOS开发中,有很多控件都是Xcode默认提供的.使用这些控件是很方便的.可是因为某些须要.须要自己设计控件,那么应该怎么做呢?在Xcode6中提供了这种接口,同意开发人员高速开发自己定义控件,而且 ...

  5. iOS项目开发实战——Label中字体字号与Label多行显示

    我们如何通过OC代码来设置Label中显示的文本呢?代码如下: #import "ViewController.h"@interface ViewController ()@end ...

  6. iOS项目开发实战——制作视图的缩放动画

    视图的大小应该是随时可控的.今天我们就来实现对一个View的缩放动画.该动画的实现与位移动画,透明度动画稍有不同. 详细实现例如以下: import UIKitclass ScaleViewContr ...

  7. iOS项目开发实战——实现苹果本地消息通知推送服务

    当你一个App在后台运行时,有可能服务器会向你推送重要的信息,常见的如微信,QQ等,就算你的App在后台,也会以通知的形式给你推送.推送服务分为本地推送和在线推送.本次我们先来实现本地推送通知. (1 ...

  8. Swift项目开发实战-基于分层架构的多版本iPhone计算器-直播公开课

    Swift项目开发实战-基于分层架构的多版本iPhone计算器-直播公开课 本课程采用Q Q群直播方式进行直播,价值99元视频课程免费直播.完整的基于Swift项目实战,手把手教你做一个Swift版i ...

  9. 《Swift iOS应用开发实战》——2.2 了解故事板

    本节书摘来自华章计算机<Swift iOS应用开发实战>一书中的第2章,第2.2节,作者:刘铭 著, 更多章节内容可以访问云栖社区"华章计算机"公众号查看. 2.2 了 ...

  10. 送福利 | 送书5本《ASP.NET Core项目开发实战入门》带你走进ASP.NET Core开发

    <ASP.NET Core项目开发实战入门>从基础到实际项目开发部署带你走进ASP.NET Core开发. ASP.NET Core项目开发实战入门是基于ASP.NET Core 3.1 ...

最新文章

  1. 最小生成树算法MST_kruskal算法
  2. 自己动手写游戏:飞机大战
  3. oracle中的视图详解
  4. linux 进程间读写锁,Linux系统编程—进程间同步
  5. 地图标记点击成超链接_纯干货!株洲100多家美食地图!国庆收藏!
  6. linux进程管理——进程管理相关命令
  7. 获取salve设备地址_商机 | 优选设备,让废金属加工更高效!
  8. js window.onload 加载多个函数的两种方法
  9. 递归算法计算二叉树中叶子结点数目 c语言,编写递归算法,计算二叉树中叶子结点的数目。...
  10. 唱响艾泽拉斯_综合篇
  11. 我的Python心路历程 第十期 (10.11 股票实战可视化风险评估操练)
  12. 计算机搜不到word了,电脑word找不到路径
  13. 【图解】给面试官解释TCP的三次握手与四次挥手-Web运用原理及网络基础
  14. 利用c语言绘制漫天星空-动画
  15. 快速计算某一天是星期几-蔡勒公式
  16. 抖音推荐算法!(教你如何上热门)
  17. 结对编程之经验教训总结
  18. 基于图灵api实现微信聊天机器人
  19. 城市交通(动态规划)
  20. 怎么把电脑设为服务器共享文档,共享电脑设置 服务器

热门文章

  1. nfs+lvm解决磁盘空间扩容问题
  2. 「我们的首要之务,并不是遥望模糊的远方,而是专心处理眼前的事务。」---这是卡内基先生所强调的克服忧虑、开创人生的关键。...
  3. LINUX系统下监控DELL服务器硬盘状态
  4. onLayout与onMeasure
  5. 使用windows live writer连接CSDN和博客园博客
  6. .net 统计图表和报表资源总结
  7. Hibernate---延迟加载和OpenSessionInView
  8. ERP知识普及连载(21)
  9. 2019年第五届计蒜之道复赛总结
  10. 使用Docker跑MySQL 作为Django的存储后端