




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
B S编程基础 预备知识HTTP协议简介JavaI O流套接字编程演示实现自己的浏览器TASK 1 Client Server Client Server即客户机 服务器 服务器是网络的核心 而客户机是网络的基础 客户机依靠服务器获得所需要的网络资源 而服务器为客户机提供网络必须的资源 客户机和服务器都是指通信中所涉及的两个应用进程 软件 使用计算机的人是计算机的 用户 user 而不是 客户 client 但在许多文献中 也经常把运行客户程序的机器称为client 这种情况下也可把client译为 客户机 把运行服务器程序的机器称为server 所以有时要根据上下文判断client与server是指软件还是硬件 2 Browser Server B S 浏览器 服务器模式 是随着Internet技术的兴起 对C S结构的一种改进 在这种结构下 软件应用的业务逻辑完全在应用服务器端实现 用户表现完全在浏览器上实现客户端只需要浏览器即可进行业务处理 是一种全新的软件系统构造技术 这种结构更成为当今应用软件的首选体系结构 3 Browser的作用 浏览器解析HTML CSS和Javascript 将解析后的图像显示给用户 浏览器是互联网的入口 而互联网又是PC机最重要的应用 在互联网时代之前 Windows之所以成功 桌面应用软件贡献巨大 如今的互联网和浏览器的地位有了飞跃式的发展 互联网应用已展现出取代包括office在内的一切桌面应用的前景 互联网的入口还是浏览器 但浏览器加上种类繁多的插件正在形成未来桌面应用的大格局 4 Server HTTPServer负责接收浏览器的请求 并将浏览器请求的网页文件通过网络发送给浏览器ApplicationServerTomcat Jboss weblogic Websphere包含了HTTPserver的功能将用户请求的运算结果以HTML格式发送给用户 5 HTTP协议基本原理 HTTP协议概述HTTP请求与HTTP响应的结构HTTP的GET与POST方法 6 URL和URI URI UniformResourceIdentifier统一资源标识符 用字符串惟一标识信息资源URL UniformResourceLocator统一资源定位符 通过 通讯协议 网络地址 字符串惟一标识信息位置和资源访问途径 7 HTTP协议概述 URL结构无状态协议在客户端发出HTTP请求并收到服务器端响应后 连接就会断开 下次的访问与前一次的访问无关 因此如果需要维护客户端的信息 必须在服务器端维持状态数据 实例 http host port path querystring 8080 accts jsp id 23 主机 路径 查询字符串 3 1 1HTTP协议概述 端口号 8 HTTP请求的结构 请求的结构 例子 POST TheStockExchange Trading GetStockPrice aspHTTP 1 1Host localhostContent Type application x www form urlencodedContent Length 11Symbol MSFT 注意空行 MethodURLVersionHeadersMessagebody 注意空行 9 响应的结构 例子 HTTP 1 1200OKContent Type text xml charset utf 8Content Length 75 HTTP响应的结构 注意空行 VersionStatus CodeDescriptionHeadersMessagebody 注意空行 10 HTTP的GET和POST方法 HTTP GETHTTP POST 例子 例子 GET Trading GetStockPrice asp Symbol MSFTHTTP 1 1Host localhost POST Trading GetStockPrice aspHTTP 1 1Host localhostContent Type application x www form urlencodedContent Length 11Symbol MSFT 11 GET和POST方法的区别 GET方法支持最大1024个字节的查询字符串 POST方法没有限制POST方法把查询字符串放在消息主体中传输 因此比GET方法支持更多的数据类型利用TomcatFireFox和HTTPfox插件察看HTTP协议通信内容 12 Java中的流 在Java中有数据传输的地方都用到I O流 通常是文件 网络 内存和标准输入输出等 InputStream和OutputStream是所有I O流的祖先read和write是它们最基本的方法 读写单位是字节 流分为字节流byte和字符流character字符流I O使用Readers和Writers 13 Java中的流 File File Input Output Stream RandomAccessFile是处理本地文件的类System in是属于BufferedInputStream类型System out是属于PrintStream类型Buffered Input Output Stream的作用是在数据送到目的之前先缓存 达到一定数量时再送到目的 已减少阻塞次数 14 importjava io classfilestream publicstaticvoidmain Stringargs try FileinFile newFile file1 txt FileoutFile newFile file2 txt FileInputStreamfis newFileInputStream inFile FileOutputStreamfos newFileOutputStream outFile intc while c fis read 1 fos write c fis close fos close catch FileNotFoundExceptione System out println FileStreamsTest e catch IOExceptione System err println FileStreamsTest e 字节流例子 15 字符流例子 importjava io publicclassCharacterFileOutput publicstaticvoidmain String args FileWriterout null try out newFileWriter book txt System out println Encoding out getEncoding out write CoreWebProgramming好好学习 out close out null catch IOExceptionioe System out println IOproblem ioe ioe printStackTrace try if out null out close catch IOExceptionioe2 16 字符流读入 importjava io publicclassCharacterFileInput publicstaticvoidmain String args Filefile newFile d book txt FileReaderin null if file exists try in newFileReader file char buffer newchar int file length in read buffer System out println buffer in close catch IOExceptionioe System out println IOproblem ioe ioe printStackTrace 17 每次从文件中读取一行 BufferedReaderin newBufferedReader newFileReader file StringlineIn while lineIn in readLine null System out println lineIn 18 从控制台获取输入的流必须嵌套标准的输入流System in importjava io publicclassIOInput publicstaticvoidmain String args BufferedReaderkeyboard Stringline try System out print Entervalue System out flush keyboard newBufferedReader newInputStreamReader System in line keyboard readLine catch IOExceptione System out println Errorreadinginput 19 基于TCP IP协议Socket通信 Socket的基本概念网络中双向通讯中的某一端称为一个Socket 主要有客户端套接字Socket类对象 服务器端套接字ServerSocket类对象 通讯原理Socket可以看成在两个程序进行通讯连接中的一个端点 一个程序将一段信息写入Socket中 该Socket将这段信息发送给另外一个Socket中 使这段信息能传送到其他程序中 端口号16位无符号整数 范围是0 65535 以区别主机上的每一个程序 端口号就像房屋中的房间号 低于256的端口号保留给标准应用程序 比如pop3的端口号就是110 每一个套接字都组合进了IP地址 端口号 这样形成的整体就可以区别每一个套接字 20 21 利用socket通信的编程步骤 编程步骤 根据程序的身份分别创建出客户端和服务器端套接字以便两个程序进行通信 双方都利用Socket类中的getInputStream getOutputStream 得到对应的输入输出流 双
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北师大(2024)一上核心素养作业设计4.10 做个加法表(含解析)
- 2025年科技常识试题及答案
- 2025吉林长春市消防救援支队特勤大队招录政府专职消防员200人备考练习题库及答案解析
- 2025浙江省国资运营公司所属浙江创新动力公司招聘5人考试参考试题及答案解析
- 五年级下册科学期中试卷及答案
- 坑人的考试题及答案
- 2025年甘肃省卫生健康委员会遴选部分省级医疗质量控制中心主任备考练习题库及答案解析
- 理综模拟试题及答案
- 儿童题库及答案链接
- 煤质采制化题库及答案
- 2025-2026学年统编版小学语文四年级上册教学计划及进度表
- 2025年湖北省武汉市中考语文真题(含答案)
- 中国心房颤动管理指南2025解读
- Unit1Weletotheunit课件译林版八年级英语上册
- 离职交接事项协议书范本
- 【高考真题】海南省2025年高考真题物理(含答案)
- 体育教师自我介绍课件
- 银行员工职业操守课件
- 初中开学第一课心理健康课
- 艺康servsafe培训课件
- TDT1067-2021不动产登记数据整合建库技术规范
评论
0/150
提交评论