作者:sundroid
个人站点:sundroid.cn 邮箱: hfutsnjc@163.com 微博:http://weibo.com/Sundroid
实现效果
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class WebServer {
@SuppressWarnings("resource")
protected void start() {
ServerSocket s;
System.out.println("Webserver starting up on port 80");
System.out.println("Press ctrl-c to exit");
try {
// //创建服务器,并开放80端口
s = new ServerSocket(80);
} catch (IOException e) {
e.printStackTrace();
return;
}
System.out.println("等待连接");
for (;;) {
try {
//监听服务器端口,一旦有数据发送过来,那么就将数据封装成socket对象
//如果没有数据发送过来,那么这时处于线程阻塞状态,不会向下继续执行
Socket remote = s.accept();
System.out.println("连接,发送数据");
//InputStreamReader将字节流转化为字符流
BufferedReader in = new BufferedReader(new InputStreamReader(
remote.getInputStream()));
//输出流
PrintWriter out = new PrintWriter(remote.getOutputStream());
String str = ".";
while (!str.equals("")) {
//行读取客户端数据
str = in.readLine();
String params[] = str.split("/");
for (int i = 0; i < params.length; i++) {
System.out.println(params[i]);
}
out.println("HTTP/1.0 200 OK");
out.println("Content-Type:text/html");
out.println("Server:Bot");
out.println("");
out.print("<H1>Hello! I'm sundroid</H1>");
out.flush();
remote.close();
}
} catch (IOException e) {
e.printStackTrace();
System.out.println("Error:" + e);
}
}
}
public static void main(String[] args) {
WebServer ws = new WebServer();
ws.start();
}
}