ssh后台开发之接收请求数据

最近给一个iOS app做后台,要能返回json数据和接收相关数据,返回json数据在之前的博客中已经提到了,现在来谈谈接收数据吧。

这里重点要谈的是struts2盒struts1几乎是完全不一样的,获取请求数据的方法也是要做相应的改变。

1.搭建ssh烂大街了,大家自己随便找一个跟着搭吧。

ssh后台开发之接收请求数据_第1张图片

2.在action里面接收请求数据。

public String receiveMassage(){

ActionContext ctx=ActionContext.getContext();

try{

HttpServletRequest request=(HttpServletRequest)ctx.get(ServletActionContext.HTTP_REQUEST);

// HttpServletRequest request = ServletActionContext.getRequest();

Map map = request.getParameterMap();  

        Set> set = map.entrySet();  

        Iterator> it = set.iterator();  

        while (it.hasNext()) {  

            Entry entry = it.next();  

 

            System.out.println("KEY:"+entry.getKey());  

            for (String i : entry.getValue()) {  

                System.out.println(i);  

            } 

        }

        //失败的方法

// InputStream inputStream;

// inputStream=request.getInputStream();

// String strMassage="";

// String strResponse="";

// BufferedReader reader;

// reader=new BufferedReader(new InputStreamReader(inputStream));

// while((strMassage=reader.readLine())!=null){

// strResponse+=strMassage;

// }

// System.out.println("看看有没有执行");

// System.out.println(strResponse);

// reader.close();

// inputStream.close();

return "success";

}catch(Exception e){

return "failure";

}

}

上面注释的就是失败的代码了,找了很久的原因,搞了大晚上的!!!!!

3.发送请求测试一下。

ssh后台开发之接收请求数据_第2张图片

AFHTTPSessionManager* manager=[AFHTTPSessionManager manager];

    //设置可接受的数据类型

    manager.responseSerializer.acceptableContentTypes=[NSSet setWithObjects:@"application/json",@"text/html",@"image/jpeg",@"image/png",@"application/octet-stream",@"text/json",nil];


    manager.requestSerializer=[AFHTTPRequestSerializer serializer];

    manager.responseSerializer=[AFHTTPResponseSerializer serializer];

//    NSData* da=[describe dataUsingEncoding:NSUTF8StringEncoding];

    [manager.requestSerializer setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];

    //开始上传

    //用一个变量去接受结果分析结果然后返回yes or no

    

    [manager POST:url parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData>_Nonnull FormData) {

        NSData *des=[describe dataUsingEncoding:NSUTF8StringEncoding];

        NSLog(@"%@", describe);

        [FormData appendPartWithFormData:des name:title];

    } progress:^(NSProgress * _Nonnull uploadProgress) {

        

    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {

        NSLog(@"上传成功");

    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

        NSLog(@"上传失败:%@",error);

    }];

    return YES;

4.可以看到接收成功!!

ssh后台开发之接收请求数据_第3张图片





你可能感兴趣的:(Java,后台)