《Java大学教程》—第23章 Java网络编程
本章主要关注的是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网络编程的更多相关文章
- python 教程 第十七章、 网络编程
第十七章. 网络编程 1) FTP客户端 import ftplib import os import socket HOST = '127.0.0.1' DIRN = 'menus' FILE ...
- 第23章 java线程通信——生产者/消费者模型案例
第23章 java线程通信--生产者/消费者模型案例 1.案例: package com.rocco; /** * 生产者消费者问题,涉及到几个类 * 第一,这个问题本身就是一个类,即主类 * 第二, ...
- 正在学习的Java大学教程
推荐本书<Java大学教程> 看的人比较少,我也是多年不看书了,基于教程一般选国外的方法,从图书馆选了本书. 看了一半,感觉书的内容比较认真,对于基本的Java知识都算介绍全了,而且全书是 ...
- 疯狂JAVA讲义---第十二章:Swing编程(五)进度条和滑动条
http://blog.csdn.net/terryzero/article/details/3797782 疯狂JAVA讲义---第十二章:Swing编程(五)进度条和滑动条 标签: swing编程 ...
- 第九节:详细讲解Java中的泛型,多线程,网络编程
前言 大家好,给大家带来详细讲解Java中的泛型,多线程,网络编程的概述,希望你们喜欢 泛型 泛型格式:ArrayList list= new ArrayList(); ArrayList list= ...
- 20145221 《Java程序设计》实验报告五:网络编程及安全
20145221 <Java程序设计>实验报告五:网络编程及安全 实验要求 掌握Socket程序的编写 运行TCP代码包,结对进行,一人服务器,一人客户端 掌握密码技术的使用 利用加解密代 ...
- 第5章 Linux网络编程基础
第5章 Linux网络编程基础 5.1 socket地址与API 一.理解字节序 主机字节序一般为小端字节序.网络字节序一般为大端字节序.当格式化的数据在两台使用了不同字节序的主机之间直接传递时,接收 ...
- 《Java大学教程》—第12章 案例研究--第2部分
本章就是上一章的延续,主要是用GUI实现了控制界面. 编程练习:代码附件Hostel.java1. 正确运行2. Runhostel.java3. searchButton
- 《Java大学教程》—第6章 类和对象
6.2 对象:结构化编程-->数据-->封装(聚合,信息隐藏)-->对象(方法及其操作的数据都聚合在一个单元中,作为更高层的组织单元)-->类(创建对象的模板)6.3 类:* ...
随机推荐
- AngularJs_自定义注入对象_笔记1
A-自定义控件示例: 我的自定义控件文件为:angular-seagull2-common.js (function (window, angular) { 'use strict'; $urlPro ...
- T-SQL :编程理论 (一)
SQL代表结构化查询语言,是一种在关系数据库系统中查询和管理数据的标准语言.sql语句也有几个类别,包括定义语言(DDL),数据操作语言(DML),数据控制语言(DCL). DDL包括create,a ...
- C#: 向Word插入排版精良的文本框
Text Box(文本框)是Word排版的工具之一.在Word文档正文的任何地方插入文本框,可添加补充信息,放在合适的位置,也不会影响正文的连续性.我们可以设置文本框的大小,线型,内部边距,背景填充等 ...
- json接口返回值
SpringBoot响应客户端渲染数据 1.SpringBoot构造并且返回一个json对象 首先,我们在父包下新建一个pojo的包,并新建一个User类 IDEA自动生成对应的get/set,然后 ...
- mybatis加载属性
1): <dataSource>的<property>标签加载属性 在 properties 元素体内定义的属性首先被读取 然后会读取 properties 元素中 resou ...
- jQuery效果之雪花飘落
实现思路 1.在一定的频率下在页面中生成一定数目的雪花从上往下飘落: 2.在指定的时间内飘落后移除页面: 3.可设置雪花的大小,在一定范围内随机雪花大小: 4.什么时间后清除生成雪花,停止函数. js ...
- 洛谷P4103 [HEOI2014]大工程(虚树 树形dp)
题意 链接 Sol 虚树. 首先建出虚树,然后直接树形dp就行了. 最大最小值直接维护子树内到该节点的最大值,然后合并两棵子树的时候更新一下答案. 任意两点的路径和可以考虑每条边两边的贡献,\(d[x ...
- Win7录制电脑屏幕视频
在日常生活中,有时候我们需要在电脑上录制视频,那就需要找到一款合适的录像工具,选择迅捷屏幕录像工具就是一个不错的选择,操作简单轻松易上手,美轮美奂的无损画质,教学视频.电影.游戏等都可以进行录制哦! ...
- BDD实战篇 - 在.NET Core下安装Specflow
这是<如何用ABP框架快速完成项目 >系列中的一篇文章. BDD很赞!比TDD先进很多,能够大大提高编码效率. 让我们动手起来吧!先在.NET Core下安装Specflow! 官网教程在 ...
- 解决VS2015单元测试“未能设置用于运行测试的执行上下文”问题
VS的单元测试在进行测试时并不像普通Exe会为你提示xx文件未找到,而是类似下面这样: 测试名称: 部署文件到Linux测试全名: unittest::SmartDispatch::部署文件到Linu ...