Java 网络编程总结
2017-12-04 00:00
204 查看
针对网络通信的不同层次,Java提供了不同的API,其提供的网络功能有四大类:InetAddress:用于标识网络上的硬件资源,主要是IP地址;URL:统一资源定位符,通过URL可以直接读取或写入网络上的数据;Sockets:使用TCP协议实现的网络通信Socket相关的类;Datagram:使用UDP协议,将数据保存在用户数据报中,通过网络进行通信。
URL处理,给定一个URL,分析URL的结构,通过URL获取网络数据
1.URL类,使用一个字符串url初始化,getXXX()返回域名、端口、参数等;openConnection()返回一个URLConnection对象
2.URLConnection类:代表与目标的连接对象,getInputStream()返回InputStream对象,其中包含从网络主机获取到的数据
3.InetAddress类:代表IP地址,静态方法getLocalHost(),getByName()获取IP
4.Socket编程
5.Java.net.Socket类:代表一个套接字
6.Java.net.ServerSocket:服务器端套接字监听类
7.Socket是TCP/IP协议的编程接口,网络上具有唯一标识的IP地址和端口号组合在一起构成唯一的套接字
8.使用socket和多线程实现一个静态网页服务器,功能有浏览静态网页,上传下载文件。Cookie保存。
需要解决的问题:HTTP协议的get和post方法如何分别处理。HTTP协议有哪些选项。HTTP协议的状态码。服务器配置文件XML文件的解析,sax
9.Tomcat7源码解读:http://blog.csdn.net/c929833623lvcha/article/details/44677569
10.阅读tomcat源码需要哪些知识:socket、如何在TCP上实现HTTP、servlet规范、类加载器、XML解析
Java中使用URL类请求网络接口
URL不具备浏览器的urlencode功能,所以请求的路径中不能使用特殊符号
例如:请求路径中有日期参数2017-12-04 12:00
如果直接将参数添加到请求路径中,可能会导致请求错误
原因是URL类中的请求方法不会对日期中的空格转换成 %20
解决问题的办法有
使用URLEncode类转换,或者手动替换请求路径中的特殊字符,例如将空格替换为%20
URLEncode使用建议:
先拼接完整URL,然后再对整个URL进行编码;
也可以对单个的参数值进行编码,
但是不要将 例如:http://192.168.3.154:11088/demo.htm?abc=123中问号后面的部分进行单独编码,然后再与前面部分拼接,这样得不到正确的URL,因为?和&都会被当作特殊字符进行处理。
使用request.getParameter()方法获取参数时,如果请求中没有对应的参数,这得到的结果是null而非空字符串。
URL处理,给定一个URL,分析URL的结构,通过URL获取网络数据
1.URL类,使用一个字符串url初始化,getXXX()返回域名、端口、参数等;openConnection()返回一个URLConnection对象
2.URLConnection类:代表与目标的连接对象,getInputStream()返回InputStream对象,其中包含从网络主机获取到的数据
3.InetAddress类:代表IP地址,静态方法getLocalHost(),getByName()获取IP
4.Socket编程
5.Java.net.Socket类:代表一个套接字
6.Java.net.ServerSocket:服务器端套接字监听类
7.Socket是TCP/IP协议的编程接口,网络上具有唯一标识的IP地址和端口号组合在一起构成唯一的套接字
8.使用socket和多线程实现一个静态网页服务器,功能有浏览静态网页,上传下载文件。Cookie保存。
需要解决的问题:HTTP协议的get和post方法如何分别处理。HTTP协议有哪些选项。HTTP协议的状态码。服务器配置文件XML文件的解析,sax
9.Tomcat7源码解读:http://blog.csdn.net/c929833623lvcha/article/details/44677569
10.阅读tomcat源码需要哪些知识:socket、如何在TCP上实现HTTP、servlet规范、类加载器、XML解析
Java中使用URL类请求网络接口
URL不具备浏览器的urlencode功能,所以请求的路径中不能使用特殊符号
例如:请求路径中有日期参数2017-12-04 12:00
如果直接将参数添加到请求路径中,可能会导致请求错误
原因是URL类中的请求方法不会对日期中的空格转换成 %20
解决问题的办法有
使用URLEncode类转换,或者手动替换请求路径中的特殊字符,例如将空格替换为%20
URLEncode使用建议:
先拼接完整URL,然后再对整个URL进行编码;
也可以对单个的参数值进行编码,
但是不要将 例如:http://192.168.3.154:11088/demo.htm?abc=123中问号后面的部分进行单独编码,然后再与前面部分拼接,这样得不到正确的URL,因为?和&都会被当作特殊字符进行处理。
使用request.getParameter()方法获取参数时,如果请求中没有对应的参数,这得到的结果是null而非空字符串。
相关文章推荐
- Java网络编程总结(转)
- Java 网络编程总结
- Java网络编程总结上
- Java网络编程总结
- java网络编程的演进总结
- Java网络编程总结下
- 黑马程序员-Java网络编程学习总结
- 黑马程序员java基础篇----网络编程总结
- 黑马程序员 知识点总结-Java网络编程
- 黑马程序员_java网络编程总结
- java网络编程基础函数总结
- Java 网络编程基础总结
- 黑马程序员 Java自学总结十六 网络编程
- Java网络编程总结(转)
- Java 网络编程之 (完全总结)
- 黑马程序员_08Java网络编程知识总结
- java编程的一些注意事项,网络资源总结
- Java网络编程总结(转)
- Java网络编程总结
- Java网络编程(总结)