2011年网络工程师考试考前密卷(七)-下午试题

0
收藏   分享
  • 卷面总分:75分
  • 试卷类型:模拟考试
  • 测试费用:免费
  • 答案解析:是
  • 练习次数:28次
  • 作答时间:150分钟
试卷简介
2011年网络工程师考试考前密卷(七)-下午试题:1.2011年网络工程师考试全真模拟试卷-下午试题,考前复习的好帮手!2. 每道题都配有答案解析,强化复习效果
试卷预览
1

●试题四

阅读以下说明、Java源程序和运行测试部分,将应填入(n)处的解答写在答题纸的对应栏中。

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 NT5.1)

Host:localhost:8080

Connection:Keep-Alive

·HTTP响应消息示例

HTTP/1.1 200 OK

Servert:Microsoft-IIS/4.0

Date:Mon,3 Jan 1998 13:13:33 GMT

Content-Type:text/html

Last-Modified:Mon,11 Jan 1998 13:23:42 GMT

Contelit-Length:112

#

</html>

2.相关类及主要成员函数

ServerSocket类:

服务器端套接字,它监听固定端口,以接收来自客户端的连接请求,一旦建立连接就返回一个Socket类型的对象。类中的主要成员函数见表1。

基于连接的套接字。类中的主要成员函数见表2。

【Java源程序;一个简单的web服务器】

/**********************************/

/*WebScrvc.java*/

/**********************************/

packageobjclass;

import javA.net.*;

import javA.io.*;

public class WebServer{

//web服务器侦听的端口号

public static final int PORT=8080;

//WEB-ROOT变量存放web服务器工作目录,该目录存放HTML、GIF图片等静态文件资源

public static final String WEB-ROOT=

System.getProperty("user.dir")+File.separator+"webmot";

//SHUTDOWN_COMMAND变量保存关闭服务器的命令

private static final String SHUTDOWN_COMMAND="/shutdown";

//是否收到关闭服务器命令的标志

private boolean shutdown=false;

public static void main(Sting[]args){

WebServerserver;newWebserver();

Server.await();

}

public void await(){

ServerSocke serverSocke=null;

try{

//创建侦听端口号为PORT的ServerSocket类型的对象

ServerSocket=new (1) ;

System.out.println("WebServerStarted!");

}

catch(IOException e){

e.printStackTrace();

System.exit (1) ;

}

//循环等待客户端连接

while(!shutdown){

Socket socket=null;

InputStream input=null;

OutputStream utput=null;

try{

//创建来自客户端的连接套接宇

Socket=   (2) ;

//创建输入流

input=socket. (3) ;

//创建输出流

Output=socket. (4) ;

//创建request对象

Request #request=new Request(input);

//解析客户端HTTP请求

request.parse();

//创建Response对象

Response response=new  (5) ;

//将request对象传递给response对象

response.setRequest(request);

//给客户端发送所请求的静态资源

response. (6)  ;

//关闭连接套接字

 (7) ;

//判断当前HTTP请求中的URI是否是关闭服务器命令

shutdown-request.getUri().equals(SHUTDOWN_COMMAND);

}

Catch(Exception e){

e. (8) ;

continue;

}

}

}

 }

/**********************************/

/*Request.java*/

/**********************************/

package objclass;

import javA.io.InputStream;

import javA.io.IOEexception;

public Class Request{

private InputStream input;

private String uri;

public Request(InputStream input){this.input=input;}

//解析客户端HTTP请求消息

public void parse()[…parseUrl();…]

//解析客户端HTTP请求中的URL

private String parseUrl(String requestString){…}

public String getUrl(){return uri;}

}

/***********************************/

/*Response.java*/

/**********************************/

package objclass;

import javA.io.*;

public class Response{

private static final int BUFFER_SIZE=1024;

Request request;

Output Stream output;

public Response(OutputStrearn output){this.output=output;}

public void setRequest(Requestrequest){this.request=request;}

//向客户端发送所请求的静态资源

public void sendStaticResource()throwsIOException}…}

}

【运行测试】

在本机运行WebServer程序,然后打开IE浏览器。

1.在IE地址栏中,输入请求"/index.html"页面的命令: (9) 。

2.在IE地址栏中,输入关闭Web服务器的命令: (10) 。