本章主要关注的是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.    挖坑。。。

《Java大学教程》—第23章 Java网络编程的更多相关文章

  1. python 教程 第十七章、 网络编程

    第十七章. 网络编程 1)    FTP客户端 import ftplib import os import socket HOST = '127.0.0.1' DIRN = 'menus' FILE ...

  2. 第23章 java线程通信——生产者/消费者模型案例

    第23章 java线程通信--生产者/消费者模型案例 1.案例: package com.rocco; /** * 生产者消费者问题,涉及到几个类 * 第一,这个问题本身就是一个类,即主类 * 第二, ...

  3. 正在学习的Java大学教程

    推荐本书<Java大学教程> 看的人比较少,我也是多年不看书了,基于教程一般选国外的方法,从图书馆选了本书. 看了一半,感觉书的内容比较认真,对于基本的Java知识都算介绍全了,而且全书是 ...

  4. 疯狂JAVA讲义---第十二章:Swing编程(五)进度条和滑动条

    http://blog.csdn.net/terryzero/article/details/3797782 疯狂JAVA讲义---第十二章:Swing编程(五)进度条和滑动条 标签: swing编程 ...

  5. 第九节:详细讲解Java中的泛型,多线程,网络编程

    前言 大家好,给大家带来详细讲解Java中的泛型,多线程,网络编程的概述,希望你们喜欢 泛型 泛型格式:ArrayList list= new ArrayList(); ArrayList list= ...

  6. 20145221 《Java程序设计》实验报告五:网络编程及安全

    20145221 <Java程序设计>实验报告五:网络编程及安全 实验要求 掌握Socket程序的编写 运行TCP代码包,结对进行,一人服务器,一人客户端 掌握密码技术的使用 利用加解密代 ...

  7. 第5章 Linux网络编程基础

    第5章 Linux网络编程基础 5.1 socket地址与API 一.理解字节序 主机字节序一般为小端字节序.网络字节序一般为大端字节序.当格式化的数据在两台使用了不同字节序的主机之间直接传递时,接收 ...

  8. 《Java大学教程》—第12章 案例研究--第2部分

    本章就是上一章的延续,主要是用GUI实现了控制界面. 编程练习:代码附件Hostel.java1.    正确运行2.    Runhostel.java3.    searchButton

  9. 《Java大学教程》—第6章 类和对象

    6.2 对象:结构化编程-->数据-->封装(聚合,信息隐藏)-->对象(方法及其操作的数据都聚合在一个单元中,作为更高层的组织单元)-->类(创建对象的模板)6.3 类:*  ...

随机推荐

  1. NET(C#)接入Dubbo服务,Zookeeper作为Dubbo服务的注册中心,实现thrift协议访问接口(3)

    如何引用Zookeeper.dll 下载最新版本的Zookeeper 地址:http://mirrors.cnnic.cn/apache/zookeeper/ 没有.NET代码 dotnet代码下载 ...

  2. SpringBoot之前端文件管理

    WebJars能使Maven的依赖管理支持OSS的JavaScript库/CSS库,比如jQuery.Bootstrap等. (1)添加js或者css库 pom.xml <dependency& ...

  3. JSTL_Format标记库

    JSTL_Format 一:JSTL Format标记库 如有转载,请标明出处 介绍标记属性的时候,按照顺序必须写的->带有默认值的->其他的,中间用回车隔开 在jsp问价开头加上 < ...

  4. 【Java每日一题】20170227

    20170224问题解析请点击今日问题下方的“[Java每日一题]20170227”查看(问题解析在公众号首发,公众号ID:weknow619) package Feb2017; import jav ...

  5. Redis的数据结构

    Redis的数据结构 redis是一种高级的key-value的存储系统,其中value支持五种数据类型. 字符串(String) 哈希(hash) 字符串列表(list) 字符串集合(set) 有序 ...

  6. Eclipse中SVN插件的安装和配置(在线安装)

    公司项目中用到了svn来管理项目,然后需要在Eclipse中进行配置.网上参考了很多资料,离线安装的方式装上了,但是导入项目后报错,可能是离线安装包的问题.然后又采用了Eclipse在线安装的方式,总 ...

  7. css选择器优选级及匹配原理(转)

    作为一个Web开发者,掌握必要的前台技术也是很重要的,特别是在遇到一些实际问题的时候.这里给大家列举一个例子: 给一个p标签增加一个类(class),可是执行后该class中的有些属性并没有起作用.通 ...

  8. 捕获未处理的Promise错误

    译者按: 通过监听unhandledrejection事件,可以捕获未处理的Promise错误. 原文: Tracking unhandled rejected Promises 译者: Fundeb ...

  9. linux防火墙相关 iptables

    1. root用户查看防火墙状态(非root用户无权限查看) 查看防火墙状态: service iptables status 2.开启和关闭防火墙 //开启防火墙: service iptables ...

  10. 2018-11-04 在线代码离线翻译Chrome插件"一马"v0.0.14

    续前文: 在线代码离线翻译Chrome插件"一马"v0.0.8. 主要改进如下. 项目源码库: program-in-chinese/webextension_github_cod ...