iOS项目开发实战——通过Http Get方式与服务器通信

      移动客户端往往需要同后台服务器进行通信,上传或者下载数据,最常用到的方式就是Http Get,现在我们来学习在iOS项目中使用Get方式同服务器进行通信。

【一】服务器端实现

(1)首先要安装好能进行J2EE开发的Eclipse或者MyEclipse,配置好Tomcat环境。我这里使用Eclipse Mars,Tomcat版本为8.  然后新建一个Dynamic Web Project。名称为MyServer。然后在WebContent中新建一个JSP File。名称为index.当前目录结构如下:


(2)然后在Hello.jsp中实现如下:对于客户端的请求,我将会返回“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,结果如下:


【二】iOS客户端实现

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


(2)然后分别进行控件和代码的绑定,输入框TextField和显示返回结果的TextView进行Outlets绑定,发送按钮进行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 in
            
            if let d = data{
                
                dispatch_sync(dispatch_get_main_queue(), { () -> Void in
                    self.feedbackInfo.text = String(NSString(data: d, encoding: NSUTF8StringEncoding)!)
                })
            }
            
        }
    }


其中按钮的点击事件也可以是下面的形式:

    @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  。欢迎大家访问!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值