在Java里面怎么写web server服务啊

在Java里面怎么写web server服务啊,最好是能有详细点的代码,谢谢各位了!!!

所谓web server就是写一个程序,能够接受其它程序的socket请求,接受其它程序socket请求的就是ServerSocket。
所以,具体的步骤为:定义一个ServerSocket,绑定端口号,然后循环等待其它程序socket的向你绑定的端口发送请求即可,当然它得知道ServerSocket所在机器的ip地址。
在循环中,调用ServerSocket的accept(),此方法可以返回代表本次连接的socket,而且accept()为阻塞方法,即没有收到请求就一直等待。

下面是一些代码:创建一个ServerSocket,绑定到本机的9999端口,并循环等待请求。
ServerSocket mServerSocket = new ServerSocket();
// 创建一个套接字,设置端口重用
// 绑定端口之后,socket的选项设置无效,所以设置socket的选项必须在绑定端口之前
mServerSocket = new ServerSocket();
mServerSocket.setReuseAddress(true);
// mServerSocket.setSoTimeout(5000);
// SO_TIMEOUT表示ServerSocket的accept()方法等待客户连接的超时时间,以毫秒为单位
// 如果SO_TIMEOUT的值为0,表示永远不会超时,这是SO_TIMEOUT的默认值,在本处,需要一直等到客户的连接,所以不设置SoTimeout
mServerSocket.bind(new InetSocketAddress(9999));
while (true) {
// 接收客户端套接字,为阻塞操作
Socket socket = mServerSocket.accept();
// 其它的操作,比如接受socket的数据,通过socket发送数据

在实际开发中,还需要保证绑定的端口没有被占用,否则会创建ServerSocket失败,同时请求端需要知道ServerSocket所在机器的ip地址。

http://zhidao.baidu.com/link?url=mAcY2jIuTH_iWvkgWzL9VkPnHJ6nOAVpm-XkNNfF12VHqjtO9lBebMjLk_xpcd6wI1-ZJkhGK4VI7I9Tj7Hf-a