您的位置:首页 > 理论基础 > 计算机网络

Java学习笔记04——Java网络通信

2017-07-04 13:43 344 查看
一、使用Dom4j操作XML数据

1.www.dom4j.org/dom4j-1.6.1 → download。

2.将dom4j-1.6.1.jar导入到工作空间中,工程中导入。

3.使用其中DocumentHelpter类的parseText()方法将String直接转换成Document对象,使用该对象的asXML()方法直接转换为String。

*下载库中docs文件夹→index.html说明文档。

二、JSON操作

1.JSON是JavaScript对象表示法,是存储和交换文本信息的语法;比XML更小、更快、更容易解析。

2.JSON语法:数据在名称/值对中,由逗号分隔;花括号保存对象,方括号保存数组。JSON值可以是数字、字符串(用双引号表示)、逻辑值、数组、对象、null。如:{“firstName”:“John”,“lastName”:“Doe”}或者{“employees”:[

{“firstName”:“John”,“lastName”:“Doe”},

{“firstName”:“Anna”,“lastName”:“Smith”},

{“firstName”:“Peter”,“lastName”:“Jones”}]}等。

3.google-gson工具解析JSON数据,gson.jar导入到工程中。

JsonParser类创建对象的parse()方法获取JsonObject对象,用该对象的【get(属性名称)】方法后调用【getAS属性类型()】方法获取属性对应值。

4.gson.jar可以创建JSON数据,创建JsonObject对象或者JsonArray对象,通过add()方法创建关系,通过addProperty()方法赋值。调用主JsonObject对象的toString()方法可以直接将JSON数据转换成String。

三、HTTP通信

【1.使用HTTP的Get方式读取网络数据。】

URL url=new URL(真实URL即网址+向服务器传输数据);

URLConnection conn=url.openConnection();

InputStream is=conn.getInputStream();

【2.使用HTTP的Post方式读取网络数据。】

URL url=new URL(真实URL即网址);

HttpURLConnection conn=(HttpURLConnection)url.openConnection();

conn.addRequestProperty(“encoding”,“UTF-8”);

conn.setDoInput(true);

conn.setDoOutput(true);

conn.setRequsetMethod(“POST”);

然后用输出流写入还需向服务器传输的数据,输入流读取数据。

四、用HttpClient进行网络通信

1.apache.org→HttpComponents→download source,将lib中的所有库导入到工程中。

2.【使用Gent方式】

HttpClient client=HttpClients.createDefault();

HttpGet get=new HttpGet(网址);

HttpResponse resp=client.execute(get);

HttpEntity entity=resp.getEntity();

String result=EntityUtils.toString(entity,“UTF-8”);

3.【使用Post方式】

HttpClient client=HttpClients.createDefault();

HttpPost=new HttpPost(真实URL);

将需要向服务器传输的数据放在一个List<BasicNameValuePair>中;

post.setEntity(new UrlEncodedFormEntity(list),“UTF-8”);

HttpResponse resp=client.execute(post);

HttpEntity entity=resp.getEntity();

String result=EntityUtils.toString(entity,“UTF-8”);

五、Socket通信

1.Socket套接字向网络发出请求或者应答网络请求。

2.建立Socket链接步骤:

服务器监听,客户端发出请求,创建和确认连接,通信。

3.Socket特点:基于TCP连接,数据传输有保障;适用于建立长时间的连接;通常应用于即时通讯。

4.ServerSocket类创建服务器Socket对象并设置端口号,并用该对象的accept方法返回Socket对象,该方法会阻塞主线程,需要放入独立的线程中。每个客户端由一个独立的线程处理。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java