[Java 源程序:一个简单的Web服务器]/************************************************************//* WebServer.java* //************************************************************/package objclass;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_COMMAND变量保存关闭服务器的命令private boolean shutdown=falset //是否收到关闭服务器命令的标志public static void main(String[] args) {WebServer server=new WebServer();server.await();}public void await(){Serversocbet serverSocket=nulltry{serversocket=new (1) ; //创建侦听端口号为PORT的Serversocket类型的对象System.out.println(“WebServer Started!”);}cateh(10Exceptione){e.printStackTrace();System.exit(1);}while(! shutdown) { //循环等待客户端连接Socket socket=nullInputStream input=null;OutputStream utput=null;try{socket= (2) ; //创建来自客户端的连接套接宇input=SOCket. (3) , //创建输入流output=SOCket. (4) //创建输出流Request request=new Request(input); //创建Request对象request. (5) ; //解析客户端HTTP请求Responseresponse=new Response(output); //创建Response对象response.setRequest(request); //将Request对象传递给Response对象response (6) ; //给客户端发送所请求的静态资源(7) , //关闭连接套接字shutdown=request. (8) .equals(SHUTDOWN_COMMAND);//判断当前HTTP请求中的URI是否是关闭服务器命令}}}}/************************************************************// * Request.java *//************************************************************/package objclass;import java.io.InputStream;import java.io.IOException;public class Request {private InputStream input;private String uri;public Request(InputStream input) { this.input=input;}public void parse() {... parseUri();...} //解析客户端HTTP请求消息private String parseUri(String requestString) {... } //解析客户端HTTP请求中的URIpublic String getUri() {return uri;}}/************************************************************/

[Java 源程序:一个简单的Web服务器]

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

/* WebServer.java* /

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

package objclass;

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_COMMAND变量保存关闭服务器的命令

private boolean shutdown=falset //是否收到关闭服务器命令的标志

public static void main(String[] args) {

WebServer server=new WebServer();

server.await();

}

public void await(){

Serversocbet serverSocket=null

try{

serversocket=new (1) ; //创建侦听端口号为PORT的Serversocket类型的对象

System.out.println(“WebServer Started!”);

}cateh(10Exceptione){

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=new Request(input); //创建Request对象

request. (5) ; //解析客户端HTTP请求

Responseresponse=new Response(output); //创建Response对象

response.setRequest(request); //将Request对象传递给Response对象

response (6) ; //给客户端发送所请求的静态资源

(7) , //关闭连接套接字

shutdown=request. (8) .equals(SHUTDOWN_COMMAND);

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

}

}

}

}

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

/ * Request.java */

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

package objclass;

import java.io.InputStream;

import java.io.IOException;

public class Request {

private InputStream input;

private String uri;

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

public void parse() {... parseUri();...} //解析客户端HTTP请求消息

private String parseUri(String requestString) {... } //解析客户端HTTP请求中的URI

public String getUri() {return uri;}

}

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


相关考题:

负责解释执行JavaScnpt代码的是(40)。A.Web服务器B.Web浏览器C.Java编译器D.Java虚拟机

● 负责解释执行JavaScript. 代码的是 (40 ) 。(40 )A. Web 服务器 B. Web 浏览器C. Java 编译器 D. Java 虚拟机

负责解释执行JavaScript代码的是(44)。A.Java虚拟机B.Java编译器C.Web浏览器D.Web服务器

负责解释执行JavaScript代码的是( )。A.Web服务器B.Web浏览器C.Java编译器D.Java虚拟机

下列说法不正确的是()。A.一个Java源程序经过编译后,得到的文件扩展名一定是.classB.一个Java源程序编译通过后,得到的结果文件数也只有一个C.一个Java源程序编译通过后,得到的结果文件数可能有一个D.一个Java源程序编译通过后,不一定能用Java解释器执行

下面关于Java语言的说法中,正确的有A.Java 源程序可在任何文本编辑器中创建与编辑B.Java源程序扩展名为“.java”C.Java程序总是先编译后解释运行D.一个Java源程序只能包含一个类

10、以下关于Applet和Java程序之间关系的叙述,错误的是()A.一个Applet就是一段Java程序B.Applet是一种特殊的Java程序,它需要运行在Web服务器上C.Applet是一种特殊的Java程序,它需要运行在Web浏览器上D.Applet是一种Java SE平台的应用程序

15、下列关于Java程序文件的描述中,错误的是()。A.一个Java项目可以包含多个Java源程序文件B.一个Java源程序文件中可以定义多个类,但其中最多只能有一个public类C.Java源程序文件的扩展名是“.java”,类程序文件的扩展名是“.class”D.编译后,一个Java源程序文件只会生成一个同名的类程序文件

8、下列说法不正确的是()。A.一个Java源程序经过编译后,得到的文件扩展名一定是.classB.一个Java源程序编译通过后,得到的结果文件数也只有一个C.一个Java源程序编译通过后,得到的结果文件数可能有一个D.一个Java源程序编译通过后,不一定能用Java解释器执行

以下选项中,属于Web服务器功能的是()A.接收HTTP请求,发送HTTP响应B.编译Java程序源程序C.动态加载并执行程序代码D.运行网页中的JavaScript脚本和Applet