下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验四web服务器套接字编程实验报告序号:—姓名:—学号:_成绩一、实验目的编写一个WEB服务器程序,可以接受来自浏览器的访问,并传输页面(包含多个对象)到浏览器。掌握Socket编程。二、实验环境连入局域网络的主机一台。三、实验指导超文本传输协议()是位于TCP/IP协议的应用层,是最广为人知的协议,也是互连网中最核心的协议之一。协议是Web浏览器和Web服务器之间的应用层协议,是通用的、无状态的、面向对象的协议。一个完整的协议会话过程包括四个步骤:◊连接Web浏览器与Web服务器建立连接,翻开一个称为Socket(套接字)的虚拟文件,此文件的建立标志着连接建立成功;◊请求Web浏览器通过Socket向Web服务器提交请求。的请求一般是GET或POST命令(POST用于FORM参数的传递);◊应答Web浏览器提交请求后,通过协议传送给Web服务器。Web服务器接到后,进行事务处理,处理结果又通过传回给Web浏览器,从而在Web浏览器上显示出所请求的页面;◊关闭连接应答结束后Web浏览器与Web服务器必须断开,以保证其它Web浏览器能够与Web服务器建立连接。四、实验分析,回答以下问题运行课本中Webserver.java程序。查找资料,写出程序源代码,并加上必要的注释。如能改写该程序,附上修改后的源代码。程序源代码:importjava.io.importjava.net.importjava,util.*;classWebserver(publicstaticvoidmain(Stringarg[])throwsException(StringrequestMessageLine;//定义应答信息的类型Stringfilename;〃定义文件名的类型ServerSocket1istenSocket=newServerSocket(3000);〃开一个端口为3000的SERVERSOCKETSocketconnectionSocket=listenSocket.accept();〃接收用户端的SOCKETBufferedReaderinFromClient=newBufferedReader(newInputStreamReader(connectionSocket.getTnputStreamO));〃用BufferedReader读取客户端传过来的信息DataOutputStreamoutToClient=newDataOutputStream(connectionSocket.getOutputStream());//数据输出流,输出到客户端requestMessageLine=inFromClient.readLineO;〃读客户端传来的字符串StringTokenizertokenizerLine=newStringTokenizer(requestMessageLine);//类型转换调用函数,转换应答信息if(tokenizerLine.nextTokenO.equals(〃GET〃)){filename二tokenizerLine.nextTokenO;if(filename.startsWith(〃/〃)==true)fi1ename=fi1ename.substring(l);Filefile二newFile(filename);intnumOfBytes=(int)file.length();FilelnputStreaminFile=newFileInputStream(filename);byte[]fileTnBytes=newbyte[numOfBytes];inFile,read(filelnBytes);//读出数据段的字节数outToClient.writeBytes(,Z/1.0200DocumentFollows\r\n,z);if(filename.endsWith(〃.jpg"))//判断文件的类型是否是jpg类型outToClient.writeBytes("Content-Type:image/jpeg\r\n〃);if(filename.endsWith(".gif"))//判断文件的类型是否是jpg类型outToClient.writeBytes("Content-Type:image/gif\r\nz/);outToClient.writeBytes("Content-Length:〃+numOfBytes+〃\r\n");outToClient.writeBytes(〃\r\n〃);outToClient.write(filelnBytes,0,numOfBytes);connectionSocket.close();//关闭连接}elseSystem,out.printin(z,BadResquestMessage");//服务器没有返回请求应答信息)}提示:使用WEB浏览器来测试WEB服务器的程序,如果在本机上测试,本机服务器监听端口为3000,要获得本机上文件名为index.html,应在浏览器指定以下URLhttD:〃localhost:3000/index.htm。程序运行后截图:
('Google-TindovsInternetExplorer:〃localhost:3000/index.ht«文件堡)编辑咀查看⑦收4夹Q)工具Q)帮助⑩☆&修Google网页业幽蜩塑[甑助典匿,iGooqiGooqiGooq高级语言凶GoogleGoogle搜索手气不错iGooq高级语言Googlecomhk使用以下语言:中文(繁能)English四、实验总结(总结你在实验过程中遇到的问题和解决的方法。)在这次实验中遇到的最大问题是对JAVA语言编程不太了解,基本上看不懂Webserver.]ava程序,不能正确使用JAVA的编程环境。但是,在同学的讲解和自己查阅资料后基本上了解了这个程序的目的和内容,并且能够在JAVA的编程环境下运行Webserv
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电器安装公司生产主管述职报告
- T/CAAMTB 71-2022车用低压电子水泵
- 2026年秋招:福建对外贸易中心集团笔试题及答案
- 2026年秋招:电芯研发笔试题及答案
- DB31/T 1682-2026温室气体 产品碳足迹量化方法与要求 深加工玻璃
- T/CAFFCI 104-2025化妆品用原料 龙胆提取物
- 2026年中国郑开国际马拉松赛长安汽车赛事赞助合作推广方案
- 健康生活远离心脑血管疾病
- 客户经理商务礼仪与沟通
- 《地球的圈层结构》课件
- 3输变电工程施工质量验收统一表式(变电工程电气专业)-2024年版
- 电杆检测报告
- JGJT178-2009 补偿收缩混凝土应用技术规程
- 双减背景下家校共育的问题及策略
- 八年级语文上册《〈孟子〉三章》分层作业(第一课时)
- 《工作场所空气中硝酸测定》
- 交通工程概预算之公路工程概述
- 终末期患者的姑息性镇静治疗-安宁疗护的理念与用药
- 中考英语复习-强调句公开课课件
- 福建紫金矿业股份有限公司紫金山铜矿环境评估报告
- 2023年农银人寿保险股份有限公司招聘笔试题库及答案解析
评论
0/150
提交评论