Internet
This presentation is the property of its rightful owner.
Sponsored Links
1 / 71

高级 Internet 程序设计 PowerPoint PPT Presentation


  • 123 Views
  • Uploaded on
  • Presentation posted in: General

高级 Internet 程序设计. Java 网络程序设计. 主要内容. 第一部分 TCP/IP 与 Internet 程序设计 TCP/IP 基础 Java 简介 Socket SMTP 通讯协议 POP3 通讯协议 服务器端的 FTP 通讯协议. 客户端的 FTP 通讯协议 HTTP 通讯协议与 Web 服务器 Java Web 浏览器 聊天程序的客户端/服务器端 网络游戏 JSSE 与 HTTPS 服务器. 第二部分 企业网络技术 企业解决方案 Java 档案 Java Plug-in 与 HTML Converter

Download Presentation

高级 Internet 程序设计

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Internet

高级Internet程序设计

Java网络程序设计


Internet

主要内容

  • 第一部分 TCP/IP与Internet程序设计

  • TCP/IP基础

  • Java简介

  • Socket

  • SMTP通讯协议

  • POP3通讯协议

  • 服务器端的FTP通讯协议


Internet

  • 客户端的FTP通讯协议

  • HTTP通讯协议与Web服务器

  • Java Web浏览器

  • 聊天程序的客户端/服务器端

  • 网络游戏

  • JSSE与HTTPS服务器


Internet

  • 第二部分 企业网络技术

  • 企业解决方案

  • Java档案

  • Java Plug-in 与HTML Converter

  • Java安全性原则

  • 三层体系结构Socket与JDBC

  • JavaMail API

  • Java Web Start

  • J2EE连接器架构


Tcp ip

TCP/IP基础

1.1 历史

1)ARPANET:

仅仅用于同类软、硬件系统;

使用IMP进行主机连接;

NWG协议;

http://som.csudh.edu/cis/

2)1974年TCP/IP

3)BSD Unix+TCP/IP->BSD API

Windows Socket API

Java.net API


Internet

  • 1.2 TCP/IP技术模型


Internet

  • 1.3 TCP与UDP

  • TCP: Telnet HTTP FTP SMTP

  • UDP:OICQ NFS DNS TFTP

  •  BOOTP SNMP

  • 1.4 IP地址(IPv4、IPv6)

  • IP分类、InterNIC

  • 1.5 域名系统

  • DNS、 顶级 、查询算法

  • 1.6 通信端口

  • 大小范围

  • 1.7 RFC文件

  • 格式、查询


Internet

  • 1.8 网络的拓扑结构

  • 对等、C/S

  • 1.9 网络分类

    1)局域网:几米~1公里

    2) 城域网:10公里~100公里

    3) 广域网:

    4) Internet:


Internet

Java简介

  • 2.1 Java的版本

  • Java 2有3种版本:J2ME、J2SE、J2EE。

  • 2.2 Java的应用范畴

  • Java从应用的范畴可分为5类:

  • 2-Tier Client-and-Server Architecture

  • 2-Tier HTML-based Architecture

  • 3-Tier HTML-based Architecture


Internet

  • 3-Tier Applet-based Architecture

  • Java Web Start

  • 2.2.1 2-Tier Client-and-Server Architecture

客户

服务器

Java Application

Socket JDBC EJB/CORBA

computer

computer


Internet

浏览器

Web服务器

HTML

Java Servlet JSP

  • 2.2.2 2-Tier HTML-based Architecture

computer

computer


Internet

浏览器

后台服务器

Web容器

HTML

Socket/RMI

JDBC

EJB/CORBA

Java Servlet JSP

  • 2.2.3 3-Tier HTML-based Architecture

computer

computer

computer


Internet

浏览器

后台服务器

Web容器

Java Applet

Socket/RMI

JDBC

EJB/CORBA

Java Servlet JSP

  • 2.2.4 3-Tier Applet-based Architecture

computer

computer

computer


Internet

computer

Internet Explorer

  • 2.2.5 Java Web Start

computer

computer

服务器端Java应用程序

Java Web Start


Socket

应用程序

Socket API

TCP

UDP

网络

Socket

  • 3.1 Berkeley Socket

  • Berkeley Socket Interface Berkeley Software Distribution

  • Berkeley网络套接字


Internet

发送 接收

computer

computer

接收 发送

  • 分为Stream Socket(面向连接协议) 和Datagram Socket(无连接协议)两类

  • 1)Stream Socket

  • 2)Stream Socket(TCP)在服务器端的开发流程

  • 3) Stream Socket(TCP)在客户器端的开发流程


Internet

Socket()

Socket()

Bind()

Listen()

Accept()

Connect()

Recv()/read()

Send()/write()

Closesocket()

Closesocket()


Internet

发送 接收

computer

computer

Socket()

Bind()

Recvfrom()

Sendto()

Closesocket()

  • 4)Datagram Socket

  • 5)Datagram Socket (UDP) 应用程序


Internet

  • 3.2 Microsoft Windows Socket

  • 1)WinSock API

  • 体系结构与BSD Socket API相似,同时不同版本WinSock具有兼容性。可分为四类:BSD Socket API、WinSock Extended API、转换函数和数据库函数。

  • 2)BSD Socket API

  • 3)WinSock扩展函数

  • 4)转换函数

  • 5)数据库函数


Internet

  • 6)WinSock Stream Socket客户端/服务器端

  • 7)WinSock Datagram Socket

  • 3.3 Java Socket

  • Java.net支持Socket API,有六类函数。

  • 1)处理URL

  • 2)处理主机名称及IP地址

  • 3)处理UDP通讯协议

  • 4)处理TCP通讯协议


Internet

Datagram socket

ServerSocket

DatagramPacket

接受

Socket

接收

发送

关闭

关闭

关闭

服务器端

客户端

  • 5)处理网络(Authentication)及权限(Permission)

  • 6)内容处理器(ContentHandle)

  • Java在TCP和UDP的体系结构如下:


Internet

  • 3.4 C/S模式实例演示

  • 1)hello world程序

  • 2)echo程序

  • 3)多线程服务器程序

  • 4)客户端图形界面的设计


Internet

  • 3.5 多线程网络编程

  • 3.5.1 创建线程

  • 1)通过扩展Thread类来构造

  • Public class MyThread extends Thread

  • {

  • public void run()

  • { //线程体代码

  • }

  • MyThread testThread=new MyThread();


Internet

  • 2)通过实现Runnable接口来构造

  • Public interface Runnable {

  • public abstract void run();

  • }

  • Public class MyRunnable implements Runnable {

  • public void run()

  • {//线程体代码

  • }

  • }

  • MyRunnable firstRunnable=new MyRunnable();

  • Thread TestThread=new Thread(firstRunnable);


Internet

  • 3.5.2 线程的启动

  • 3.5.3 线程状态

  • Wait notify notifyAll volatile synchronized

  • 3.6 异常机制

  • 3.6.1 使用try、catch、finally、throw关键字

  • 3.6.2 异常处理的设计原则

  • 1)处理与方法逻辑分离

  • 2)合理运用异常的父类

  • 3.7 可视化用户界面开发


Internet

  • 两种支持API:

  • AWT Abstract Window Toolkit

  • JFC/Swing Java Foundation Classes

  • 3.8 Java的流

  • 3.8.1 字符流

  • 处理字符流:Reader类、Writer类

  • 处理字节流:InputStream类、OutputStream类

  • 3.8.2 文件流


Internet

  • 3.8.3 管道流

  • 3.8.4 连接输出数据

  • SequenceInputStream类

  • Enumeration类

  • 3.8.5 过滤流

  • 1)DataInputStream与DataOutputStream

  • 2)BufferInputStream与BufferOutputStream

  • 3)CheckedInputStream与CheckedOutputStream

  • 4)PushbackInputStream

  • 5)PrintStream


Internet

  • 3.8.6 对象的序列化

  • ObjectInputStream类与ObjectOutputStream类

  • 3.8.7 网络中的流

  • 首先生成一个URL类,然后对相应的资源进行不同类型的处理。

  • 1)得到HTML的流

  • 2)获得网络图像

  • 3)读取网络表信息

  • 3.8.8 压缩流

  • 3.8.9 中文流


Internet

SMTP通讯协议

  • 4.1 SMTP简介

  • 1)Spooling

  • 2)邮件头

  • 邮件内容

  • RFC822

  • 3)RFC821

  • 命令


Internet

发件端

连接(端口25)

邮件服务器

准备邮件服务

邮件服务器响应

成功

邮件来源

成功

接收邮件

成功

接收数据

开始邮件传递

发送邮件头部分

发送邮件内容部分

发送CRLF、CRLF结尾

成功

退出

退出

  • 流程:


Internet

  • 4.2 SMTP客户端-Java应用程序、Java Applet


Internet

POP3通讯协议

  • 5.1 POP3介绍

  • RFC1081

  • 分为三个阶段:

  • (1)Authorization:

  • (2)Transaction:

  • (3)Update


Internet

发件端

连接(端口110)

邮件服务器

来自邮件服务的欢迎

用户登陆

需要输入密码

密码确认

准备接收邮件

STAT

+OK<#><size>

LIST[<mail#>]

+OK…

RETR<mail#>

+OK<size>

邮件头和内容

退出

POP3服务器停止服务

  • 流程图:


Internet

  • 5.2 POP3客户端-Java应用程序、Java Applet


Internet

用户界面

协议解释器

协议解释器

数据传送过程(DTP)

数据传送过程(DTP)

文件系统

文件系统

FTP客户端

FTP服务器端

服务器端的FTP通讯协议

  • 6.1 FTP简介

  • 1)FTP体系结构


Internet

  • 2) FTP指令

  • RFC0959

  • 访问指令

  • 传输指令

  • 服务指令

  • 3)响应信息

  • 4)FTP流程


Internet

发件端

连接(端口21)

邮件服务器

服务器已准备

用户名

需要密码

密码

用户登陆

端口设置

命令成功

传送文件

打开ASCII码模式

传输完成

退出

221 Goodbye


Internet

  • 6.2 FTP服务器端程序设计


Internet

客户端的FTP通讯协议

  • 7.1 FTP API介绍

  • Sun.net和sun.net.ftp

  • 相关类:

  • FtpClient、FtpInputStream、NetworkClient、TelnetInputStream、TelnetOutputStream、TransferProtocolClient


Internet

  • 7.2 FTP客户端程序设计


Http web

HTTP通讯协议与Web服务器

  • 8.1 HTTP通讯协议

  • (1)HTTP头

  • (2)HTTP方法

  • (3)HTTP响应信息

  • (4)URL

  • (5)HTTP流程


Internet

连接

Web浏览器

Web服务器

HTML请求

HTML响应

关闭连接

  • 8.2 Web服务器示例


Java web

Java Web浏览器

  • 9.1 Java Web浏览器核心

  • JEditorPane

  • 与VB、Dephi、C++ Builder比较.

  • 9.2 HyperlinkListener

  • 9.3 动画显示网页下载状态

  • 9.4 查看及保存网页源代码

  • 9.5 网页浏览功能与发送E-mail


Internet

  • 9.6 设置HTTP代理服务器

  • 9.7 HTTP程序演示

  • 9.8 HTTProxy程序演示


Internet

聊天程序的客户端/服务器端

  • 10.1 聊天程序的客户端-Java Applet

  • 10.2 聊天程序的客户端-Java Application

  • 10.3 聊天程序的服务器程序设计

  • 逻辑自行定义

  • 处理连接和信息传递

  • 10.3聊天程序演示


Internet

网络游戏

  • 11.1 游戏体系结构与设置

  • 11.2 游戏服务器

  • 11.3 游戏客户端界面


Jsse https

JSSE与HTTPS服务器

  • 12.1 SSL

  • Java安全性原则

  • Java身份证和授权服务(Java Authentication and Authorization Service, JAAS)

  • Java加密扩展(Java Cryptography Extension, JCE)

  • Java安全套接字扩展(Java Secure Socket Extension, JSSE)


Internet

  • 功能

  • 1)数据加密(Data Encryption)

SSL的体系结构


Internet

Client Hello

客户端

Server Hello

服务器端

认证

认证请求

服务器公钥交换

服务器完成

认证

客户端公钥交换

认证鉴定

更改密码说明

完成

更改密码说明

完成

被加密的数据

SSL Handshake

  • RSA、Diffie-Hellman

  • 2)数字签名

  • 3)SSL建立完整的安全性连接


Internet

服务器端

客户端

JSSE

JSSE

Encryption

TCP

TCP

IP

IP

数据链接

数据链接

物理网络

物理网络

JSSE API功能

  • 12.2 JSSE API介绍


Internet

  • 1)安装JSSE API

  • 2)设置Java安全性原则

  • 修改Security provider

  • 3)公钥

  • 4)JSSE API

  • JSSE Standard API

  • JSSE Reference Implementation API

  • 12.3 服务器端Secure Socket

  • 1)建立服务器端Secure Socket

  • 2)取得服务器端Secure Socket


Internet

  • 3)接收客户端连接

  • 4)服务器接收与发送

  • 5)服务器关闭连接

  • 12.4 客户端Secure Socket

  • 1)建立服务器端Secure Socket

  • 2)取得服务器端Secure Socket

  • 3)接收客户端连接

  • 4)服务器接收与发送

  • 5)服务器关闭连接

  • 12.5 Secure Socket示例——HTTPS服务器


Internet

基于UDP协议的开发

  • UDP协议标准

  • 与数据包相关的类

  • 多点传输

  • OICQ

  • 程序例子


Internet

企业解决方案

  • 100%Java;支持XML标准

  • 分类:

  • B2C(Business-to-Consumer)

  • B2B(Business-to-Business)

  • SCM(Supply Chain Management)

  • EAI(Enterprise Application Integration)

  • Portal(门户网站)


Internet

  • 13.1 B2C (Business-to-Consumer)

  • 13.2 B2B(Business-to-Business)

  • 13.3 SCM(Supply Chain Management)

  • 13.4 EAI(Enterprise Application Integration)

  • 13.5 Portal(门户网站)


Internet

Java档案

  • 14.1 建立JAR文件

  • 1)清单文件

  • 2)如何建立JAR文件

  • 14.2 查看JAR文件内容

  • 14.3 读取和更新JAR文件内容

  • 14.4 执行JAR文件

  • 14.2 电子签名


Java plug in html converter

Java Plug-in 与HTML Converter

  • 15.1 Java Plug-in体系结构

  • 15.2 Java Plug-in HTML Converter的使用方法


Internet

Java安全性原则

  • 16.1 Java安全模型

  • Java安全特性通过安全架构和密码系统架构来保证。

  • 1) 安全架构


Internet

本地或远程代码

安全策略

安全策略

安全策略

安全策略

JDK 1.2安全模型


Internet

  • 2) 密码系统架构

  • 设计原则

  • 实现的独立性

  • 算法的独立性

  • 实现的互操作性

  • 算法的可扩展性

  • 3) 安全相关工具

  • Keytool

  • Jarsigner

  • Policytool


Internet

  • 4) Applet的安全模型

  • 5) Application的安全模型

  • 6) 代码和文档的安全传输

  • 数字签名

  • 安全证书

  • 密钥库

  • 7) 使用工具实现安全的文件传输


Internet

test.txt

2

keytool-genkey

  • 文件发送

1

jar

standstore

test.jar

signTest

4

jarsigner

private key

keytool-export

3

fujie.cer

public key certificate

stest.jar


Internet

fujie.cer

1

  • 文件接收

keytool-import

stest.jar

2

stanstore

jarsigner-verify

signTest

public key certificate

“jar verify”


Internet

  • 8) 使用API实现数字签名


Socket jdbc

三层体系结构Socket与JDBC

  • 17.1 JDBC驱动程序和流程

  • 17.2 三层体系结构的设计


Javamail api

JavaMail API

  • 18.1 JavaMail API介绍

  • 1)设置JavaMail 1.1.3

  • 2)设置JavaMail 1.2

  • 3)设置JAF

  • 18.2 JavaMail体系结构

  • 18.3 JavaMail核心成员与流程

  • 18.4 JavaMail程序演示


Java web start

Java Web Start

  • 19.1 Java Web Start安装与设置

  • 19.2 Java Web Start体系结构及系统需要

  • 19.3 Java应用程序的设计考虑与限制


Internet

J2EE连接器架构

  • 20.1 J2EE连接器架构

  • 20.2 通用客户界面

  • 20.3 JCA 1.0的缺点


Internet

使用新I/O开发网络程序

  • Buffer

  • 字符编码

  • Channel


Internet

RMI


  • Login