package webs;
import java.io.File;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class HttpServer {
private static final int SERVER_PORT = 8080;
public static final String WEB_ROOT = System.getProperty("user.dir")
+ File.separator + "webroot";
// 关闭服务命令
private static final String SHUTDOWN_COMMAND = "/QUIT";
public static void main(String[] args) {
HttpServer server = new HttpServer();
server.await();
}
public void await() {
ServerSocket serverSocket = null;
try {
serverSocket = new ServerSocket(SERVER_PORT);
}
catch (Exception e) {
e.printStackTrace();
System.exit(1);
}
while(true) {
Socket socket = null;
InputStream input = null;
OutputStream output = null;
System.out.println("服务器正在监听端口8080");
try {
socket = serverSocket.accept();
input = socket.getInputStream();
output = socket.getOutputStream();
// 创建Request对象并解析
Request request = new Request(input);
request.parse();
// 检查是否是关闭服务命令
if (request.getUri().equals(SHUTDOWN_COMMAND)) {
break;
}
// 创建 Response 对象
Response response = new Response(output);
response.setRequest(request);
response.sendStaticResource();
// 关闭 socket 对象
socket.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
收起资源包目录
实验1_web.zip (11个子文件)
实验1_web
实验报告_web.doc 338KB
WebServer
bin
webs
Response.class 2KB
HttpServer.class 2KB
Request.class 2KB
.settings
org.eclipse.jdt.core.prefs 646B
src
webs
Request.java 1KB
HttpServer.java 2KB
Response.java 2KB
.project 385B
.classpath 301B
webroot
index.html 135B
共 11 条
- 1
weixin_46138380
- 粉丝: 6
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0