java服务器两种方式接收数据

本文介绍了一种iOS应用通过NSData将字典转换为请求体的方法,并展示了如何在Java后端中解析这些数据。同时对比了字符串传输方式及其对应的Java处理方法。

- (NSData *)transformPara:(NSMutableDictionary *)para

{

    NSLog(@"请求参数 = %@", para);

    NSError *error;


    NSData *data = [NSJSONSerialization dataWithJSONObject:para options:NSJSONWritingPrettyPrinted error:&error];

//    NSString *postString = [self getFormDataString:para];

//    NSData *data = [postString dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];



    return data;

}



如果是 以字典转换data到请求体的方式,java后台以流的方式转换成map 然后在从map里面取字段。

 BufferedReader bw = null;

        bw = new BufferedReader(new InputStreamReader(req.getInputStream()));

            StringBuilder bud = new StringBuilder(1024);


            String line = null;

            while ((line = bw.readLine()) != null) {

                bud.append(line);

            }


            System.out.println("置单APP上送报文(IOS): " + bud.toString());

          

//            Gson g = new Gson();  

//            Map<String, String> maps = (Map<String, String>)g.fromJson(bud.toString(), Map.class);

//         String name =maps.get("userName");  

//          String password=maps.get("password");  

            

          

            

            Map<String, String> maps =    (Map)JSON.parse(bud.toString());  

            String name = maps.get("userName");  

         String password=maps.get("password");


如果是以字符串的方式转换成data传到服务器,这个就和安卓统一了,后台直接根据reuqest方式来取。

//    NSString *postString = [self getFormDataString:para];

//    NSData *data = [postString dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];




java的方式:

//           String name = req.getParameter("userName");  

//           String password=req.getParameter("password");

          

要不是亲自写java服务器 ,细节方面还是很难体会的。


### uniapp中接入腾讯视频播放器功能详细实现方法 在uniapp开发中,若需接入腾讯视频播放器功能并确保全端兼容(小程序/H5/App/nvue),可以参考以下实现方法和示例代码。腾讯视频插件支持多种视频格式,并提供丰富的功能如全屏播放、播放快进、音量调节等[^2]。 #### 1. 引入腾讯视频插件 首先需要引入腾讯视频插件。可以通过npm安装或直接引用腾讯官方提供的插件包。以下是具体步骤: - 在`manifest.json`文件中配置插件权限。 - 确保项目已正确配置微信小程序开发者工具环境,以便支持腾讯视频插件的功能。 ```json { "miniProgram": { "plugins": { "video-plugin": { "version": "1.0.0", "provider": "wx26978b0a3f479c51" } } } } ``` 上述配置表示引入腾讯视频插件,版本号和提供商ID需要根据实际情况填写[^2]。 #### 2. 页面配置与使用 在页面中通过`<plugin>`标签调用腾讯视频插件。以下是具体的HTML结构和相关属性说明: ```html <template> <view class="container"> <plugin name="video-plugin" type="video" :vid="vid" :autoplay="true" :controls="true"></plugin> </view> </template> <script> export default { data() { return { vid: 'v0201z1k0' // 替换为实际的腾讯视频ID }; } }; </script> <style> .container { width: 100%; height: 100vh; display: flex; justify-content: center; align-items: center; } </style> ``` #### 3. 全端兼容性处理 为了确保腾讯视频播放器在不同端(小程序/H5/App/nvue)上都能正常运行,需要进行以下适配: - **H5端**:H5端可能需要额外配置跨域访问权限,确保视频资源能够被正确加载。 - **App端**:对于安卓和iOS设备,需确保原生插件已正确集成到uniapp项目中。 - **nvue端**:nvue端需要特别注意样式和布局的适配,避免因渲染差异导致播放器无法正常显示。 #### 4. 示例代码 以下是一个完整的示例代码,展示了如何在uniapp中接入腾讯视频播放器,并确保全端兼容: ```html <template> <view class="container"> <plugin v-if="isWeixin" name="video-plugin" type="video" :vid="vid" :autoplay="true" :controls="true"></plugin> <video v-else :src="videoUrl" controls autoplay></video> </view> </template> <script> export default { data() { return { vid: 'v0201z1k0', // 腾讯视频ID videoUrl: 'https://example.com/video.mp4', // H5端备用视频地址 isWeixin: false // 是否为微信环境 }; }, onLoad() { this.isWeixin = /MicroMessenger/i.test(navigator.userAgent); // 判断是否为微信环境 } }; </script> <style> .container { width: 100%; height: 100vh; display: flex; justify-content: center; align-items: center; } </style> ``` 上述代码通过判断当前运行环境来决定使用腾讯视频插件还是H5原生`<video>`标签,从而实现全端兼容[^2]。 ### 注意事项 - 确保腾讯视频ID(`vid`)有效且符合腾讯视频平台规范。 - 不同端的兼容性测试非常重要,建议分别在小程序、H5、App和nvue端进行充分测试。 - 若遇到黑屏或其他播放问题,可检查网络状态、跨域配置以及腾讯视频插件版本是否最新
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值