基于Http协议的Web服务端程序
(使用MAVEN项目,并要导入包dom4j)
(准备主页面index.html,404页面notfound.html,标签图–页面标签左边那个图-favicon.ico 均放入文件夹webapps中)
步骤:
1.创建一个MAVEN项目,并导入dom4j(在pom.xml中下载dom4j 这是使用的是1.6.1版)
2.在主目录下创建www.core包 主目录-src/main/java
3.创建类WebServer用于启动服务器
package www.core;
import java.net.ServerSocket;
import java.net.Socket;
public class WebServer {
private ServerSocket server;
public WebServer() throws Exception{
try {
server=new ServerSocket(8080);//设置端口号
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
public static void main(String[] args) {
try {
WebServer server=new WebServer();
server.start();
ClientHandler ch=new ClientHandler(socket);
Thread t=new Thread(ch);
t.start();
} catch (Exception e) {
e.printStackTrace();
System.out.println("服务器启动失败");
}
}
public void start(){
try {
System.out.println("等待服务器连接...");
Socket socket=server.accept();
} catch (Exception e) {
e.printStackTrace();
}
}
}
4.创建类ClientHandler用于处理客户端请求
package www.core;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
/**
* 处理客户端请求
*/
public class ClientHandler implements Runnable {
private Socket socket;
//参数用于接受WebServer响应的socket
public ClientHandler(Socket socket){
this.socket=socket;
}
/**
* 实现Runnable接口重写run方法以便用线程控制服务器响应
*/
public void run() {
try {
//创建输入流,读取客户端发送的数据
InputStream in=socket.getInputStream();
//创建输出流,用于响应客户端
OutputStream out=socket.getOutputStream();
} catch (Exception e) {
e.printStackTrace();