首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下技术说明、Java源程序和运行测试部分,根据要求回答问题1和问题2。 【说明】 1.HTTP ◆ HTTP请求消息示例 GET/index,htmlHTTP/1.1 Accept:image/gif,
阅读以下技术说明、Java源程序和运行测试部分,根据要求回答问题1和问题2。 【说明】 1.HTTP ◆ HTTP请求消息示例 GET/index,htmlHTTP/1.1 Accept:image/gif,
admin
2009-02-15
79
问题
阅读以下技术说明、Java源程序和运行测试部分,根据要求回答问题1和问题2。
【说明】
1.HTTP
◆ HTTP请求消息示例
GET/index,htmlHTTP/1.1
Accept:image/gif,image/jpeg,*/*
Accept-Language:zh-ch
Accept-encoding:gzip,deflate
User-Agent:Mozilla/4.0(compatible: MSIE6.0;Windows 2003)
Host:localhost:8080
Connection:Keep-Alive
◆ HTTP响应消息示例
HTTP/1.1 200 OK
Servert:Microsoft-IIS/6.0
Date:Mon,3 Jan 2008 13:13:33 GMT
Content-Type:text/html
Last-Modified:Mon,11 Jan 2008 13:23:42 GMT
Contelit-Length:112
<html>
...
</html>
2.相关类及主要成员函数
◆ ServerSocket类
服务器端套接字,它监听固定端口,以接收来自客户端的连接请求,一旦建立连接就返回一个Socket类型的对象,类中的主要成员函数如表6-16所示。
◆Socket类 基于连接的套接字,类中的主要成员函数如表6-17所示。
【Java源程序:一个简单的Web服务器】
/* WebScrvc.java */
packageobjclass;
import java.net.*;
import java.io.*;
public class WebServer{
public static final int PORT=8080; //Web服务器侦听的端口号
public static final String WEB_ROOT= SyStem.getProperty("user.dir")+
File.separator+"webroot";
//WEB_ROOT变量存放Web服务器工作目录,HTML, GIF图片等静态文件资源
private static final String SHUTDOWN_COMMAND="/shutdown";
//SHUTDOWN_COMM_AND变量保存关闭服务器的命令
private Boolean shutdown=false; //是否收到关闭服务器命令的标志
public static void main(Sting[] args) {
WebServer server=new WebServer();
Server.await ()
}
public void await() {
ServerSocket serverSocket = null;
try {
serverSocket = new (1);
//创建侦听端口号为PORT的ServerSocket类型的对象
System.out.println ("WebServerStarted!");
}
catch(IOException e) {
e.printStackTrace ();
SyStem. exit (1);
}
while(!shutdown) { //循环等待客房端连接
Socket socket = null;
InputStream input = null;
OutputStream output = null;
try{
Socket =(2); //创建来自客房端的连接套接字
Input = socket.(3); //创建输入流
Output = socket.(4); //创建输出流
Request request = new Request (input); //创建request对象
Request.(5); //解析客户端HTTP请求
Response response = new ReSponse(output); //创建Response对象
response, setRequest (request); //将request对象传递给response对象
response.(6); //给客户端发送所请求的静态资源
(7); //关闭连接套接字
shutdown = request.(8).equals (SHUTDOWN_COMMAND);
//凑数当前HTTP请求中的URL是否是关闭服务器命令
}
Catch(Exception e) {
e.printStackTrace ();
continue;
}
}
}
}
/* Request.java */
package objclass;
import java.io.InputStream;
import java.iO.IOException;
public Class Request{
private InputStream input;
private String url;
public Request(InputStream input){this.input = input;}
public void parse() {... parseUrl() ;...} //解析客户端HTTP请求消息
private String parseUrl(String requestString){...} //解析客户端HTTP请求中的URL
public String getUrl(){return url;}
}
/* Response.java */
package objclass;
import java.io.*;
public class Response{
private static final int BUFFER_ SIZE=1024;
Request request;
OutputStream output;
public Response(Output Strearm output) {this.output=output;}
public void setRequest(Request request){this.request=request;}
public void sendStaticResource()throwsIOmxception{...} //向客户端发送所请求的静态资源
}
选项
答案
(1)ServerSocket(PORT)或serverSicket(PORT,1,InetAddress.getByName(“127.0.0.1”)) (2)serverSocket.accept()或其等价的带参数形式 (3)getInputStream()或其等价的带参数形式 (4)getOutputStream()或其等价的带参数形式 (5)parse()或其等价的带参数形式 (6)sendStaticResource()或其等价的带参数形式 (7)socket.close() (8)getUrl()
解析
这是一道要求读者掌握Socket通信的基本模型和Java的基本调用方法的综合分析题。本题的解答思路如下。
基于Socket的客户/服务器通信模式的基本模型。在TCP/IP网络应用中,通信的两个进程间相互作用的主要模式是客户/服务器模式(Client/Server Model),即客户向服务器发出服务请求,服务器接收到请求后,提供相应的服务。客户/服务器模式的建立基于两点:①建立计算机网络的原因是网络中软硬件资源运算能力和信息不均等,需要进行资源共享,从而需要拥有众多资源的主机提供服务,资源较少的客户请求服务这一非对等作用;②网间进程通信完全是异步的,相互通信的进程间既不存在父子关系,也不共享内存缓冲区,因此需要一种机制为希望通信的进程间建立联系,为二者的数据交换提供同步。
客户/服务器模式在操作过程中采取的是主动请求方式。首先,服务器方要先启动,并根据请求提供相应服务。服务器方的操作过程如下。
1)打开一通信通道并告知本地主机,它愿意在某一公认地址上(即默认端口,如HTTP为80)接收客户请求;
2)等待客户请求到达该端口:
3)接收到重复服务请求,处理该请求并发送应答信号。接收到并发服务请求,要激活一个新进程来处理这个客户请求,新进程处理此客户请求,并不需要对其他请求做出应答。服务完成后,关闭此新进程与客户的通信链路,并终止:
4)返回第2)步,等待另一客户请求:
5)关闭服务器。
客户方的操作过程如下。
1)打开一个通信通道,并连接到服务器所在主机的特定端口:
2)向服务器发送服务请求报文,等待并接收应答,继续提出请求;
3)请求结束后关闭通信通道并终止。
从以上C/S操作过程可知,客户与服务器进程的作用是非对称的,因此双方各自的编码不同;服务进程一般是先于客户请求而启动的。只要系统运行,该服务进程一直存在,直到正常或强迫终止。
由于本试题没有给出完整的Java服务程序代码,因此需要考生对Socket通信的基本过程理解,要求熟悉Socket传送数据的基本方法。程序给出了对Response和Request对象的定义和两个对象的方法定义,但是方法的具体功能一定要注意看语句后面的注释,(1)~(8)空缺处所填写的内容也来自于后面注释的信息。另外,由于Java程序是区分大小写的,因此一定要弄清楚什么地方指的是类,什么地方是类的实例。因为类和类的实例的拼写通常就只有大小写的区别。
第(1)空缺处要求创建侦听端口号为PORT的ServerSocket类型的对象,那么只要调用ServerSocket类的构造函数就可以了,具体的参数可以参照表6-16中ServerSocket类构造函数的格式调用。因此(1)空缺处所填写的内容是“ServerSocket(PORT)”或“ServerSocket(PORT,1,InetAddress.getByName(“127.0.0.1”))”。
由(2)空缺处的注释内容可知,该空缺处所填写内容的作用是要创建来自客户端的连接套接字。从 ServerSocket类的成员函数表(见表6-16)中可知,其函数accept()的作用是返回建立连接的Socket类型的对象。因此(2)空缺处所填写的内容是“serverSocket.accept()”或其等价的带参数形式。
第(3)空缺处是要创建输入流,从Socket类的主要成员函数表(见表6-17)中可知,函数getInputStream()是返回当前对象关联的输入流。因此(3)空缺处应填入“getInputStream()”或其等价的带参数形式。
第(4)空缺处是要创建输出流,从表6-17中Socket类的getOutputStream()函数功能说明可知,getOutputStream()是返回当前对象关联的输出流。因此(4)空缺处应填入“getOutputStream()”或其等价的带参数形式。
第(5)空缺处是解析客户端HTIP请求,在Request.java程序中关于Request对象成员函数说明,语句“public void parse(){...parseUrl();...)”声明了,函数parse()的作用就是解析客户端HTTP请求消息。因此(5)空缺处所填写的内容是“parse()”或其等价的带参数形式。
第(6)空缺处是解析客户端发送所请求的静态资源,在Response.java程序中关于Response对象成员函数说明中,语句"public void sendStaticResource()throwsIOException{...}“声明了,函数sendStaticResource()的作用就是向客户端发送所请求的静态资源。因此(6)空缺处应填入“sendStaticResource()”或其等价的带参数形式。
第(7)空缺处是关闭套接字,可以直接调用Socket类的close()方法,即该空缺处所填写的内容是“socket.close()”。
第(8)空缺处要注意到其作用是要获取HTFP中的URL信息,从而决定是否关闭服务器。在Request.java程序关于Request对象成员函数的定义中,有3个与URL相关的成员函数。但是只有parseUrl(String requestString)可以解析出其中的URL,并且该函数要求有一个输入的参数,因此必须找出如何获得这个参数的方法。在题目所给出的信息中,只有Request对象的另一个成员函数getUrl()可以返回String类型的URL。因此(8)空缺处所填写的内容是“getUrl()”。
转载请注明原文地址:https://kaotiyun.com/show/REjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
信息处理技术员除了应熟练使用计算机进行信息处理操作外,还应熟悉本岗位相关的业务知识,其理由比较多,但不包括(67)。
如果已知一个Excel表格B1单元格是空格,B2单元格的内容为数值2,B3单元格的内容为数值3,B4单元格的内容为数值4.5,B5单元格的内容为数值5.5,B6单元格的内容为“=COUNT(B1:B5)”,那么,B6单元格显示的内容应为(55)。
在Word2007中,字符样式应用于__________。
数据分析工具的(13)________________特性是指它能导入和导出各种常见格式的数据文件或分析结果。
若Word2010菜单命令右边有“…”符号,表示________________。
操作系统的资源管理功能不包括________________。
某单位的统计报表比较多,采用表号(报表的编号)的好处是______。
小王在Excel中录入某企业各部门的生产经营数据,录入完成后发现报表略超一页,为在一页中完整打印,以下______做法正确。
抽样调查是收集数据的重要方法之一。抽样调查所遵循的原则不包括______。
为在Exce1的A1单元格中生成一个60到100之间的随机数,则应在A1单元格中输入______
随机试题
违反文物保护法规,将收藏的国家禁止出口的珍贵文物私自出售或者私自赠送给外国人的构成:
某人每月月末向银行存入1OOO元,年利率为12%,每月计息一次,5年后,取出本利和为()。
水准仪主要由( )部分组成。
某混凝土大坝主体工程,建设单位将土建工程、安装工程分别发包给甲、乙两家施工单位。在合同履行过程中发生了如下事件:事件1:项目监理机构在审查土建工程施工组织设计时,认为脚手架工程危险性较大,要求甲施工单位编制脚手架工程专项施工方案。甲施工单位项目经理部编制
压缩机安装宜采用()。
某单位安排小刘等女职工在经期去冷库作业,造成小刘等几位女职工严重痛经,这属于()。
某工厂生产甲、乙两种产品,当这两种产品的产量分别为x和y(单位:吨)时的总收益函数为R(x,y)=42x+27y一4x2—2xy—y2,总成本函数为C(x,y)=36+8x+12y(单位:万元).除此之外,生产甲、乙两种产品每吨还需分别支付排污费2万元,1
试求z=f(x,y)=x3+y3一3xy在矩形闭域D={(x,y)|0≤x≤2,一1≤y≤2}上的最大值、最小值.
在考生文件夹下打开文档Word.docx,按照要求完成下列操作并以该文件名(word.docx)保存文件。按照参考样式“Word参考样式.gif”完成设置和制作。具体要求如下:设置第一段落文字“中国网民规模达5.64亿”为标题;设置第二段落文字“互
•Readtheemailbelowaboutadvertising.•ChoosethecorrectwordtofilleachgapfromA,BorContheoppositepage.•Foreac
最新回复
(
0
)