最近给一个iOS app做后台,要能返回json数据和接收相关数据,返回json数据在之前的博客中已经提到了,现在来谈谈接收数据吧。
这里重点要谈的是struts2盒struts1几乎是完全不一样的,获取请求数据的方法也是要做相应的改变。
1.搭建ssh烂大街了,大家自己随便找一个跟着搭吧。
2.在action里面接收请求数据。
public String receiveMassage(){
ActionContext ctx=ActionContext.getContext();
try{
HttpServletRequest request=(HttpServletRequest)ctx.get(ServletActionContext.HTTP_REQUEST);
// HttpServletRequest request = ServletActionContext.getRequest();
Map
Set
Iterator
while (it.hasNext()) {
Entry
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.发送请求测试一下。
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.可以看到接收成功!!