JavaFX 三 学会与服务器打交道 (漫长的打怪升级篇)
来源:互联网 发布:2013年全国火灾数据 编辑:程序博客网 时间:2024/05/29 17:03
上一期我们学会了JavaFX一些基本控件的用法和按钮的触发事件处理,这期我们来学习如何与服务器做数据交互,借助这次机会我也好好巩固自己学到的东西,乘热打铁.看看,前两期的惨淡收视率,也是,毕竟JavaFX也很少有人问津,我写我的,你们看你们的,基本没人给我鼓励鼓励,没让我感到一丝积极的动力.呵呵,废话不说,回归话题
用FX构完图,写好相关控件处理,我们就要访问服务器.做相关的数据交互,例如用户登录验证,文件上下载传输,版本更新维护等等,这就需要了解http访问协议一些基本知识,这里我不多做讲解,有兴趣可以自己问度娘,学习室靠自己
做数据交互,一般有两种方法:
1.直接与DB交接,做数据处理,在javaFX自己封装JDBC与相应DB进行连接
2.与服务端(Server后台)做接口对接,进行后台数据处理
第一种:我不做详解,有一点java基础的都知道JDBC的操作,作为JavaFX客户端,我们也不愿意看任何一款client能随时随意不做声息把你老家数据库进行访问,除非是你自己写给自己的程序.否则不要轻易选择这种数据交互的方式,安全问题不是一般的危险,总之慎用
我们详解下第二种,我用的是ssh做后台架构,提供相相应服务接口给fx访问,采用https方式进行数据交互,不了解https是什么的,还是老话,问度娘,要学会主动学习.
下面是我自己封装的https方式的方法工大家参考
package util;import java.net.URLEncoder;import org.apache.http.HttpResponse;import org.apache.http.client.methods.HttpPost;import org.apache.http.entity.StringEntity;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.message.BasicHeader;import org.apache.http.util.EntityUtils;public class HttpConnectionUtil { private static final String APPLICATION_JSON = "application/json"; private static final String CONTENT_TYPE_TEXT_JSON = "text/json"; public static String doPostByJson(String url, String json) throws Exception { String result = null; CloseableHttpClient httpclient = CloseableHttpClientUtil.getInstance(); HttpPost httpPost = new HttpPost(url); httpPost.setHeader("Content-Type", "application/json;charset=utf-8"); httpPost.addHeader("Content-Type", APPLICATION_JSON); StringEntity se = new StringEntity(json,"UTF-8"); //这里必须处理编码UTF-8,不然就会出现中文乱码 se.setContentType(CONTENT_TYPE_TEXT_JSON); se.setContentEncoding(new BasicHeader("Content-Type", APPLICATION_JSON)); httpPost.setEntity(se); try { HttpResponse httpResp = httpclient.execute(httpPost); int statusCode = httpResp.getStatusLine().getStatusCode(); if (statusCode == 200) { result = EntityUtils.toString(httpResp.getEntity()); } } catch (Exception e) { e.printStackTrace(); } finally { httpPost.releaseConnection(); } return null == result ? "" : result; }}
以上封装了一个post方法,该方法由两个参数,第一是url即你要访问的https的路径,第二个json即用于与服务器交互的数据,以json格式封装,返回的参数也是(服务端处理)并以json格式反馈给fx客户端.
本期内容基本上就讲完了,不懂的同学可以随时留言给我,我会及时一一解答的,待阅读量超过300的时候,我就会更新第四讲.......嘿嘿...更新速度快与慢全由你们来决定哦.88
- JavaFX 三 学会与服务器打交道 (漫长的打怪升级篇)
- 学会接单与报价--如何与潜在的客户打交道[转载]
- 学会接单与报价--如何与潜在的客户打交道[转载]
- 与数据库打交道的Adapter
- 与Android的系统打交道
- 漫长暑假 有么有一起组团打怪的?这个大赛可以拿10万奖金呢
- 程序三种与数据库打交道的方式性能及安全性比较
- 学会尊重自己是一场漫长的旅程
- 优化篇-后端图片服务的“打怪升级”
- JavaFX与后端服务器的交互(第一种方案)
- 如何与不喜欢的人打交道
- 外贸人与客户打交道的方法
- 与数据库打交道的Adapter----SimpleCursorAdapter
- USACO打怪升级 (三): Your Ride Is Here
- 软件开发的打怪升级攻略
- 打怪升级
- 打怪升级
- 升级打怪
- 正则表达式
- mysql数据库 for ubuntu
- HTTP协议基础
- ios发送邮件
- 更改某个页面的公共页面
- JavaFX 三 学会与服务器打交道 (漫长的打怪升级篇)
- 【网络安全】iptables
- linux 常用命令备忘
- 创建简单的XML文件
- Maven实战(二)构建简单Maven项目
- 快速模幂(c++)
- Linux下的多线程编程
- 14.Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
- 【放松一下】北美小游戏排行榜TOP10——“点击英雄”