《Java大学教程》—第23章 Java网络编程

时间:2021-05-09 20:20:20

本章主要关注的是Java的几个应用网络编程的场景,对于网络编程没有太多深入介绍,而Java本来也没有多少针对网络编程的特性。
虽然Java有个Applet的概念,但是真用这个的开发的场景其实不多。

23.1    引言
服务器(server)程序为其他客户端(client)程序提供某种类型的服务,与客户端程序通常位于不同的机器上。
一个程序可以既是服务器程序也是客户端程序,主要是看它是在为其他程序服务,还是在使用其他程序的服务。
甚至还可以整合其他服务器程序上的服务,打包成自己的服务,提供给客户端程序使用。

23.2    applet
applet是一种Java程序,能够从网页中下载并在浏览器中运行。因为Java运行在虚拟机上,因此可以做到平*立,使得程序与客户机上的操作系统无关。

23.3    访问远程数据库
Java数据库连接(Java Database Connectivity, JDBC):是Java访问数据库的通用接口,数据库管理系统提供JDBC驱动,从而保证应用程序不需要关注不同数据库的区别。
驱动(driver)是一种软件,能够使得两个程序进行通信,或者帮助软件与硬件通信。

23.4    Socket
Socket是一种软件机制,能够帮助程序员隐藏传输数据的细节,类似于高级文件处理类帮助程序隐藏外部存储器的细节,
使得程序能够基于流的方式来处理网络连接上的数据的读写。

自测题:
1.    客户--服务器体系结构:
服务器(server)程序为其他客户端(client)程序提供某种类型的服务,与客户端程序通常位于不同的机器上。
一个程序可以既是服务器程序也是客户端程序,主要是看它是在为其他程序服务,还是在使用其他程序的服务。
甚至还可以整合其他服务器程序上的服务,打包成自己的服务,提供给客户端程序使用。

2.    applet和应用程序的区别:
applet和应用程序都是一种Java程序。
applet是运行在浏览器的JVM中;而应用程序是运行在操作系统的JVM中。
applet没有main()方法,因为它运行在浏览器中,控制任务由浏览器负责;应用程序则包含main()方法,main()方法中可以控制程序的所有行为。

3.    专用的applet方法(与paint方法一起运行)
init:applet被浏览器装载(或者重新装载)时,首先调用的方法。
start:init方法被调用后调用的方法;每一次返回页面使得applet可见时,也会调用的方法。
paint:start方法被调用时,立即调用的方法。
stop:当applet被隐藏时(选择了浏览器其他页面),调用的方法。
destroy:当applet被抛弃时(关闭了浏览器),调用的方法。

4.    JDBC技术
Java数据库连接(Java Database Connectivity, JDBC):是Java访问数据库的通用接口,数据库管理系统提供JDBC驱动,从而保证应用程序不需要关注不同数据库的区别。

5.    Socket类和ServerSocket类的功能和用途。
Socket类的基本功能:
*    连接到远程机器;
*    发送数据;
*    接收数据;
*    关闭一个连接。
ServerSocket类的附加功能:
*    绑定一个端口;
*    在绑定的端口上监听进入的数据;
*    在绑定的端口上接受远程客户端的连接;
编程练习:代码附件
1.    ChangingFaceApplet.java
2.    MetricConverterApplet.java    RedCircleApplet.java
3.    ProductQuery.java
4.    挖坑。。。
5.    JokeServer.java    JokeClient.java    RunJokeServer.java    RunJokeClient.java
6.    挖坑。。。