第九周 学习总结
教材学习内容总结
第11章 JDBC与MySQL数据库
一、JDBC的操作:
(1)与一个数据库建立连接。
(2)向数据库发送SQL语句。
(3)处理数据库返回的结果。
2.连接数据库 P329
3.查询操作
得到SQL查询语句对象
处理查询结果
关闭连接
4.更新、添加与删除操作 P337
5.使用通配符 P339
6.通用查询 P340
7.事务
JDBC事务处理步骤:(1)用setAutoCommit(booean
b)方法关闭自动提交模式。
(2)用commit()方法处理事务。
(3)用rollback()方法处理事务失败。
8.连接SQL Server、Derby数据库 P345-347
二、网络模型:
1.OSI参考模型
2.TCP/IP参考模型
网络通信要素:
1. IP地址
2. 端口号
3.
传输协议
试想,要想给张三通讯首要要做的就是找到张三的那台主机,那么怎么找,通过什么方法完成两台机器的通讯呢?
步骤:1)找到对方的IP
2)数据要发送到对方指定的应用程序上,为了标识这些应用程序,所以给这些网络应用程序都用数字进行标识,为了方便称呼这个数字,就叫做端口。
注意:这里的端口不是物理机器上的实际的端口,而是逻辑端口。
3)定义一个通讯规则。这个通讯规则称为协议。
国际组织定义了一个通用的协议--TCP/IP协议。
端口号:
特点:
用于标识进程的逻辑地址。
有效端口号:0—65535,其中0—1024系统使用或保留端口。
传输协议:通讯的规则。
常见协议:TCP、UDP。
TCP和UDP两者之间的区别:
UDP:1)将数据及源和目的封装成数据包中,不需要建立连接。
2)每个数据包的大小要限制在64k内
3)因无连接,是不可靠协议的。
4)不需要建立连接,速度快。
4. UDP数据报:基于UDP通信的基本模式是:
5. 将数据打包,称为数据包(好比将信件装入信封一样),然后将数据包发往目的地。
6. 接受别人发来的数据包(好比接收信封一样),然后查看数据包中的内容。
7. 发送数据包。
8. UDP数据报: 基于UDP的通信和基于TCP的通信不同,基于UDP的信息传递更快,但不提供可靠性保证
基于UDP通信的基本模式 :将数据打包,称为数据包,然后将数据包发往目的接受别人发来的数据包,然后查看数据包中的内容发送数据包
用DatagramPacket类将数据打包,即用DatagramPacket类创建一个对象,称为数据包
构造方法
DatagramPacket(byte data[],int length,InetAddtress address,int port)
DatagramPack(byte data[],int offset,int length,InetAddtress address,int port)
用DatagramSocket类的不带参数的构造方法DatagramSocket()创建一个对象,该对象负责发送数据包
接收数据包
首先用DatagramSocket的另一个构造方法DatagramSocket(int port) 创建一个对象,其中的参数必须和待接收的数据包的端口号相同
然后该对象使用方法receive(DatagramPacket pack)接受数据包
用 DatagramPack类的另外一个构造方法DatagramPack(byte data[],int length)创建一个数据包,用于接收数据包
广播数据报
广播数据报涉及到地址和端口
广播数据报是一种较新的技术,要广播或接收广播的主机都必须加入到同一个D类地址
Java 远程调用(RMI)
Java远程调用RMI是一种分布式技术,使用RMI可以让一个虚拟机(JVM)上的应用程序请求调用位于网络上另一处的JVM上的对象方法。习惯上称发出调用请求的JVM为(本地)客户机,称接受并执行请求的虚拟机(JVM)为(远程)服务器
远程对象及其代理
远程对象:驻留在(远程)服务器上的对象是客户要请求的对象
代理与存根(Stub)
代理的特点是它与远程对象实现了相同的接口
存根(Stub)是一种特殊的字节码,并让这个存根产生的对象为作为远程对象的代理
Remote接口
RMI为了标识一个对象是远程对象,即可以被客户请求的对象,要求远程对象必须实现java.rmi包中的Remote接口,也就是说只有实现该接口的类的实例才被RMI认为是一个远程对象
RMI的设计细节
扩展Remote接口
定义一个接口是java.rmi包中Remote的子接口,即扩展Remote接口
RemoteSubject.java
远程对象
创建远程对象的类必须要实现Remote接口,RMI使用Remote接口来标识远程对象,但是Remote中没有方法,因此创建远程对象的类需要实现Remote接口的一个子接口
RemoteConcreteSubject.java
存根(Stub)与代理:RMI使用rmic命令生成存根
RemoteConcreteSubject_Stub.class
启动注册rmiregistry: 执行rimregistry命令
启动远程对象服务:远程服务器使用java.rmi包中的Naming类调用其类方法rebind(String name, Remote obj)绑定一个远程对象到rmiregistry所管理的注册表中,该方法的name参数是URL格式,obj参数是远程对象,将来客户端的代理会通过name 找到远程对象obj
BindRemoteObject.java
运行客户端程序:远程服务器启动远程对象服务后,客户端就可以运行有关程序,访问使用远程对象 ClientApplication.java、
代码托管:(码云)https://gitee.com/Reveal/qwe/tree/master/qwe/qwe/src