《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 类:* ...
随机推荐
- lua的面向对象
Lua中的table就是一种对象,但是如果直接使用仍然会存在大量的问题,见如下代码: Account = {balance = } function Account.withdraw(v) Accou ...
- 从零开始学安全(二十六)●利用Nmap目标的本版进行探测
通过对对方电脑的服务探测 对本版较低的服务 或者无补丁的服务 可以直入侵 版本探测 version 后边就是版本
- 面试官:你分析过SpringMVC的源码吗?
1. MVC使用 在研究源码之前,先来回顾以下springmvc 是如何配置的,这将能使我们更容易理解源码. 1.1 web.xml <servlet> <servlet-name& ...
- 【Linux】nginx常用命令
相关内容链接 Centos之安装Nginx及注意事项 [nginx]详细配置说明 nginx常用命令 [重新加载配置]sudo nginx -s reload [打开nginx配置]sudo vim ...
- Python3 系列之 基础语法篇
基础数据类型 整数 python 可以处理任意大小的整数 浮点数 python 可以处理任意大小的浮点数,但是需要注意的一点是:整数运算永远是精确的(除法也是精确的),而浮点数运算则可能会有四舍五入的 ...
- 微信分享链接出现config:invalid signature错误的解决方法
首先贡献jssdk下载地址:http://demo.open.weixin.qq.com/jssdk/sample.zip 不建议大家在*SDN上花钱买积分下载 当开发微信时需要做特定的页面做分享时 ...
- js-string.js
//小结// string.charAt(pos) 返回string中pos所在位置的字符 var name = "Cynthia"; var i = name.charAt(0) ...
- jQuery与JS中的map()方法使用
1.jquery中的map()方法 首先看一个简单的实例: $("p").append( $("input").map(function(){ return $ ...
- HDU 1847 Good Luck in CET-4 Everybody!(找规律版巴什博奕)
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission( ...
- css不受高度限制实现文本超出隐藏并以省略号结束
文本超出省略号显示代码: overflow: hidden; text-overflow:ellipsis; white-space: nowrap;width: 100px; /*宽度做好限制*/ ...