电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

第五章Servlet技术课件

92页
  • 卖家[上传人]:我***
  • 文档编号:141254491
  • 上传时间:2020-08-05
  • 文档格式:PPT
  • 文档大小:629KB
  • / 92 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、1,Servlet与JSP技术,王森,第五章,2,目录,5.1 Java网络程序设计的基本概念 5.2 Servlet基础 5.3 Servlet的生命周期 5.4 与客户端交互 5.5 客户端跟踪 5.6 协作与通讯 5.7 程序举例 5.8 本章小结,3,5.1 Java网络程序设计的基本概念,网络将世界联系在一起,使世界变得更加丰富多彩。同时网络互连是一个内容丰富而复杂的主题,所以这方面的程序设计涉及面很广且不易掌握 与其他语言相比,Java语言在网络应用程序方面具有一定的优势。Java提供了很多内置的网络功能,使得基于Internet和Web的应用开发变得更加容易,4,5.1.1 协议,所有使用或实现某种Internet服务的程序都必须遵从一个或多个网络协议,这种协议很多,而IP、TCP、UDP是最为根本的三种协议,是所有其它协议的基础 IP(Internet Protocol,Internet协议) 是最底层的协议 定义了数据按照数据报(Datagram,一种自带寻址信息的、独立地从数据源走到终点的数据包)传输的格式和规则 TCP(Transport Control Prot

      2、ocol,传输控制协议) 建立在IP之上,定义了网络上程序到程序的数据传输格式和规则,提供了IP数据包的传输确认、丢失数据包的重新请求、将收到的数据包按照它们的发送次序重新装配的机制 是面向连接的协议,在开始数据传输之前,必须先建立明确的连接 UDP(User Datagram Protocol,用户数据报协议) 与TCP相似,比TCP具有更好的传输效率。 不可靠的,不保证数据的传输,也不提供重新排列次序或重新请求功能,是一种无连接协议,Java网络程序设计的基本概念,5,HTTP协议( HyperText Transfer Protocol) 是Internet众多协议中的一种,表示超文本传输协议,它构成了WWW的基础 具有简单快速、灵活、无状态、无连接等特点 基于请求(Request)/响应(Response)模式。其工作过程如下 首先客户端与服务器建立连接 然后客户端发送一个请求给服务器 服务器接到请求后,给予相应的响应信息;最后关闭连接,完成一次操作,5.1.1 协议(续) HTTP协议,Java网络程序设计的基本概念,6,客户端发送给服务器的请求 有很多类型,被称为方法,其中

      3、最常用的是GET、POST GET方法 用来从服务器读取信息,比如从服务器读取文件、表格、数据库查询结果等 POST方法 用来向服务器传送信息,比如把信用卡号、表格、存储于数据库的数据等传送到服务器 HEAD方法 用来读取服务器响应头(Response Head);得到诸如文件大小,文件最后修改时间,服务器类型等信息 PUT方法 将文件直接传到服务器 DELETE方法 将文件直接从服务器删除 TRACE方法 用来协助程序调试 OPTIONS方法 用来查询服务器所支持的方法,5.1.1 协议(续) HTTP协议中客户端发送给服务器的请求,Java网络程序设计的基本概念,7,5.1.2 关于URI,URI(Uniform Resource Identifier,统一资源标志符) HTTP协议用URI标识定位网络上的数据 如果知道了公布在网络上的某个HTML文件的URI,不管文件位于什么地方,都可以通过HTTP访问该文档 通常所说的URL是URI的一种,Java网络程序设计的基本概念,8,URL类 Java语言提供了URL类让我们能在源代码层使用URL 有六个构造函数,其中最简单的是URL(

      4、String url)。每个URL对象都封装了资源的标识符和协议处理程序,可以调用URL的方法来提取URL的组件 把URL对象作为AppletContext接口的showDocument方法的参数,就可以使执行applet的浏览器显示URL所指定的资源,5.1.2 关于URI(续) URL类,Java网络程序设计的基本概念,9,applet浏览指定URL举例: ShowDocument.java import .*; import java.util.*; import java.awt.*; import java.awt.event.*; import java.applet.AppletContext; import javax.swing.*; import javax.swing.event.*; public class ShowDocument extends JApplet public void init() JButton goButton = new JButton(Link to ); Container myContainer = getContentPane

      5、(); myContainer.add( new JLabel(Link to SOHU),BorderLayout.NORTH); myContainer.add(goButton,BorderLayout.SOUTH); goButton.addActionListener(new ButtonListener(); ,5.1.2 关于URI(续) 例11_1,Java网络程序设计的基本概念,10,class ButtonListener implements ActionListener public void actionPerformed(ActionEvent e) try URL newDocument = new URL(); AppletContext browser = getAppletContext(); browser.showDocument(newDocument); catch(Exception URLException) ,5.1.2 关于URI(续) 例11_1,Java网络程序设计的基本概念,11,5.1.3 基于套接字的有连接通信,基于套接字(

      6、socket)的有连接通信 使用TCP协议 一个socket必须在发送数据之前与目的地的socket取得连接 一旦连接建立了,sockets就可以使用一个流接口完成打开-读-写-关闭,所有的发送的信息都会在另一端以同样的顺序被接收 面向连接的操作比无连接的操作效率低,但是数据的安全性高,Java网络程序设计的基本概念,12,用Java建立简单的服务器程序需要五个步骤 Step1:创建ServerSocket对象 ServerSocket myServer = new ServerSocket (int port, int backlog); Port 指定一个可用的端口号,用来定位服务器上的服务器应用程序 backlog指定能够连接到服务器的最多客户数。连接客户达到由backlog指定的最大客户数量时,服务器将拒绝客户连接 Step 2:通过ServerSocket的accept方法监听客户连接,服务器无限期的监听客户连接 Socket connection = myServer.accept(); 有一个客户连接时,将产生并返回一个socket,5.1.3 基于套接字的有连接通信(续

      7、) 服务器端,Java网络程序设计的基本概念,13,Step 3:通过Socket的方法getInputStream和getOutputStream获取InputStream和OutputStream对象;通常将其他流类型和它们联系起来,如: ObjectInputStream input = new ObjectInputStream( connection.getInputStream( ) ); ObjectOutputStream output = new ObjectOutputStream( connection.getOutputStream( ) ); Step 4:客户和服务器通过OutputStream和InputStream对象进行通信 Step 5:通信传输完毕,服务器通过调用流和套接字的close方法关闭连接,5.1.3 基于套接字的有连接通信(续) 服务器端,Java网络程序设计的基本概念,14,在客户端建立简单连接的思路类似,可分为四步 Step 1:建立一个Socket,实现与服务器的连接 Socket connection = new Socket (

      8、 InetAddress address, int port); address:服务器IP地址。port:端口号 连接成功,将返回一个Socket,否则产生异常 Step 2:通过getInputStream和getOutputStream分别获取Socket的InputStream和OutputStream的引用。同样,也可以将其他流类型与InputStream和OutputStream联系起来 Step 3:客户与服务器通过InputStream和OutputStream进行通信 Step 4:传输完毕后,通过调用流和套接字的close方法关闭连接,5.1.3 基于套接字的有连接通信(续) 客户端,Java网络程序设计的基本概念,15,5.4 数据报通信,数据报通信(Datagram Communication) 使用用户数据报协议 ( User Datagram Protocol, UDP) 与TCP不同的一种协议 不能保证数据会被成功地送达,也不保证数据抵达的次序与送出的次序相同,所以也被称为“不可靠的通信协议”,虽然可靠性不高,但是它的速度很快,所以有些场合也有很大的用处

      9、服务器通过DatagramSocket接收或发送信息,这些信息以DatagramPackets 的形式存在 DatagramSocket mySocket = new DatagramSocket ( int port ); port表示端口,上述语句将服务器绑定到一个可以从客户端接收packet的端口上,如果绑定失败,将产生SocketException异常,Java网络程序设计的基本概念,16,客户端应用程序的工作流程 Step1:通过创建一个DatagramSocket对象来建立数据报通讯的Socket。有如下两种构造方法 public DatagramSocket() 构造一个数据报socket,并使其与本地主机任一可用的端口连接。若打不开socket则抛出SocketException异常。 public DatagramSocket(int port) 构造一个数据报socket,并使其与本地主机指定的端口连接。若打不开socket或socket无法与指定的端口连接则抛出SocketException异常,5.1.4 数据报通信(续) 客户端,Java网络程序设计的基本概念,17,Step 2:用DatagramPacket类来创建一个数据报包,用来实现无连接的包传送服务 DatagramPacket对象封装了数据报包的数据(bufferedarray,包长度(length),目标地址(address),目标端口(port);length必须小于等于bufferedarry.length DatagramPacket(byte bufferedarray, int length, InetAddress address, int port) DatagramPacket类提供了四个方法来获取信息 public byte getData() 返回一个字节数组,包含收到或要发送的数据报中的数据 public int getLength() 返回发送或接收到的数据的长度 public InetAddress getAddress() 返回一个发送或接收此数据报

      《第五章Servlet技术课件》由会员我***分享,可在线阅读,更多相关《第五章Servlet技术课件》请在金锄头文库上搜索。

      点击阅读更多内容
    TA的资源
  • 2020届中考英语备考复习-作文课件

    2020届中考英语备考复习-作文课件

  • 2019年中考英语复习-专题十五-交际运用(试卷部分)课件

    2019年中考英语复习-专题十五-交际运用(试卷部分)课件

  • 2019届二轮复习-高中英语-情态动词和虚拟语气课件

    2019届二轮复习-高中英语-情态动词和虚拟语气课件

  • 2019届一轮复习苏教版物质的跨膜运输课件

    2019届一轮复习苏教版物质的跨膜运输课件

  • 2019年北师大版英语单元复习课件::Unit17Laughter课件北师大版选修6

    2019年北师大版英语单元复习课件::Unit17Laughter课件北师大版选修6

  • 2021届新中考物理冲刺备考复习-力-弹力-重力课件

    2021届新中考物理冲刺备考复习-力-弹力-重力课件

  • 2019届一轮复习人教版种群的特征和数量变化课件

    2019届一轮复习人教版种群的特征和数量变化课件

  • 2020年高考地理一轮复习--等高线地形图-课件

    2020年高考地理一轮复习--等高线地形图-课件

  • 2019版高考英语一轮复习-Unit-1-Living-well课件

    2019版高考英语一轮复习-Unit-1-Living-well课件

  • 2019届一轮复习人教版孟德尔的遗传定律——基因分离定律课件

    2019届一轮复习人教版孟德尔的遗传定律——基因分离定律课件

  • 2019届高三第二轮复习专题二万有引力定律及其应用课件

    2019届高三第二轮复习专题二万有引力定律及其应用课件

  • 2020最新部编版语文五年级上册23-鸟的天堂课件含课后练习

    2020最新部编版语文五年级上册23-鸟的天堂课件含课后练习

  • 2020版高考(浙江)一轮复习:第7讲-细胞呼吸课件

    2020版高考(浙江)一轮复习:第7讲-细胞呼吸课件

  • 2020年新教材高中英语UNIT4HISTORYANDTRADITIONSSectionⅢDiscoveringUsefulStructures课件必修第二册

    2020年新教材高中英语UNIT4HISTORYANDTRADITIONSSectionⅢDiscoveringUsefulStructures课件必修第二册

  • 2019届高考历史二轮复习阶段三专题十三罗斯福新政与当代资本主义的新变化课件2

    2019届高考历史二轮复习阶段三专题十三罗斯福新政与当代资本主义的新变化课件2

  • 2019版高考生物二轮复习-专题三-细胞的生命历程-考点9-细胞分裂过程图像和坐标曲线的识别课件

    2019版高考生物二轮复习-专题三-细胞的生命历程-考点9-细胞分裂过程图像和坐标曲线的识别课件

  • (通史版)2021版高考历史一轮复习第4部分高考讲座(三)2高考非选择题(12分开放探究题)规范答题讲练课件

    (通史版)2021版高考历史一轮复习第4部分高考讲座(三)2高考非选择题(12分开放探究题)规范答题讲练课件

  • 2019届高三地理复习第五讲--《区际联系与区域协调发展》课件

    2019届高三地理复习第五讲--《区际联系与区域协调发展》课件

  • 2021人教部编版历史九年级上册习题课件:第18课美国的独立

    2021人教部编版历史九年级上册习题课件:第18课美国的独立

  • 2020学年新教材高中英语Unit1FoodforthoughtPeriodTwoStartingout课件

    2020学年新教材高中英语Unit1FoodforthoughtPeriodTwoStartingout课件

  • 点击查看更多
    最新标签
    信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.