在套接字编程中,服务器端需用到Java类()来监听端口。
A.ServerSocket
B.DatagramSocket
C.Socket
D.URL
A.ServerSocket
B.DatagramSocket
C.Socket
D.URL
第1题
1. HTTP 协议
HTTP请 求消息示例
GET/index, htmIHTTP/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: IocaIhost: 8080
Connection: Keep-Alive
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;
importjaVa. net. *;
importjaVa. io. *;
public class WebServer{
//web服务器侦听的端口号
public static final int PORT=8080;
//WEB-ROOT变量存放web服务器工作目录,该目录存放HTML、GIF图片等静态文件资源
public static final String WEB-ROOT=
Systern. 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 output=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;
第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 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>
…
</html>
2.相关类及主要成员函数。
SewerSocket类:
服务器端套接字,它监听固定端口,以接收来自客户端的连接请求,一旦建立连接就返回一个Socket类型的对象。类中的主要成员函数如表1-4所示。
基于连接的套接字。类中的主要成员函数如表1-5所示。
【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+"webroot";
//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) ;
//创建输出流
utput=socket. (4) ;
//创建request对象
Request request=new Request(input);
//解析客户端HTTP请求
request. (5) ;
//创建Response对象
Response response=new Response(output);
第3题
【说明】
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 utput = null;
try{
Socket =(2); //创建来自客房端的连接套接字
Input = socket.(3); //创建输入流
utput = socket.(4); //创建输出流
Request reque
第7题
A、jspInit
B、jspActivate
C、jspService
D、jspDestroy
第8题
A. Java Script
B. Java app lets
C. Java Server Pages
D. Java Virtual Machine
第9题
A)SYBASE企业级数据库服务器支持Java、扩展标记语言、微软的DOC
B)SYBASE企业级数据库服务器支持五种类型的锁机制来保证系统的并发性和性能
C)SYBASE在核心层实现了存储过程和触发器的可编程能力
D)SYBASE支持服务器间的失败转移和客户端透明的自动失败转移等
第10题
A、需要管理员完成一定的操作
B、管理员在客户端重新安装该程序
C、再次使用时,下载的就是最新的版本
D、一般无法使用
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!