|
Java 高层网络编程
发表日期:2008-1-5
|
Java.net 包中的类和接口提供了可用于低层和高层网络编程的 API。低层 API 可以让你直接访问网络协议,但是为此你不得不使用低层的 TCP 套接字和 UDP 数据包。高层的 API (如 URL, URLConnection 和 httpURLConnection 等类) 可以使你更快的开发网络应用,却不需要写很多代码。另一篇文章,《Network Programming with J2SE 1.4》会告诉你如何使用低层的套接字进行网络编程。这篇文章的重点则放在如何使用 java.net 包中的高层 API 开发基于 HTTP 的应用程序。 这篇文章将有如下内容: · 概览 HTTP · 概览 java.net 包的高层 API · 示例说明如何使用高层 API · 制作一个可以下载股票行情的应用程序 · 演示如何提交数据到网页服务器 · 概览 HTTP 的验证并展示如何保护你的网络资源 · 提供代码实例演示如何执行 HTTP 的验证 概览 HTTP 超文本传输协议 (Hypertext Transfer Protocol, HTTP) 是一个“请求-回应”的应用协议。这个协议支持一套固定的方法如 GET、POST、PUT、DELETE 等。一般用 GET 方法向服务器请求资源。这里有两个 GET 请求的例子: GET / HTTP/1.1 GET /names.Html HTTP/1.1 另外,你可以使用 GET 和 POST 方法向服务器发送数据,它们向服务器发送数据的方式是不同的: · GET 方法:输入的数据将作为 URL 的一部分发送 · POST 方法:输入数据作为一个独立的实体发送 考虑一下下面的 HTML 表单: 这个表单会提交到 http://www.javacourses.com/servlet/getMarks 由 Servlet 处理。该表单使用了 GET 方法来传输信息。假如用户输入一个学号——比如 556677——并点击 GetMarks 按钮,表单数据就会作为 URL 的一部分传送到 Servlet 中。经过编码之后的 URL 就是:http://www.javacourses.com/servlets/getMarks?number=556677。 在使用 POST 方法的情况下,传输数据时不会将数据作为 URL 的一部分;它们会作为一个独立的实体来传输。因此,POST 方法更安全,你也可以用这个方法传输更多的数据。而且用 POST 传输的数据不一定要是文本,用 GET 方法传输的却一定要是文本。 消息息格式 请求消息指定了方法名称 (GET 或者 POST)、URL、协议版本号、头部消息和可选消息。头部消息也许会包含请求信息和客户端信息,如接受的内容类型、浏览器名称以及验证数据。返回消息指定了协议版本、响应代码和原因。不管执行是否成功,响应代码和原因都会报告。一些响应代码如下: 200 OK: Request sUCceeded. The requested resource can be found later in this message. 301 Moved Permanently: Requested resource has moved. New location is specified later in this message. 400 Bad Request: Request message is not understood by the server. 404 Not Found: Requested document is not found on this server. 关于 HTTP 和所有返回代码的信息可以在 HTTP 1.1 规范 RFC2616 中找到。 下面是一个请求消息由浏览器到服务器的例子。这里请求的 URL 是 http://java.sun.com: GET / HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-Powerpoint, application/vnd.ms-Excel, application/msWord, */* Accept-Language: en-ca Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows 98; YComp 5.0.0.0) Host: java.sun.com Connection: Keep-Alive Cookie: SUN_ID=24.80.19.177:28346100732290; SunONEUserId=24.80.19.177:86521021960770 然后这里是服务器对这个请求的回复消息: HTTP/1.1 200 OK Server: Netscape-Enterprise/6.0 Date: Mon, 14 Oct 2002 15:18:04 GMT Content-type: text/html Connection: close 概览 java.net 包的高层 API java.net 包中含有高层 API。
|
|
上一篇:Java何以保网络安全
人气:818
下一篇:谨防Java网络编程“陷阱”
人气:558 |
浏览全部Java的内容
Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐
|
|