快速业务通道

用JAVA编写Web服务器 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-24

用JAVA编写Web服务器

时间:2010-02-01

//WebServer.java 用JAVA编写Web服务器 import java.io.*; import java.net.*; public class WebServer {   public static void main(String args[])    {    int i=1, PORT=8080;    ServerSocket server=null;    Socket client=null;    try     {     server=new ServerSocket(PORT);     System.out.println("Web Server is listening on port "+server.getLocalPort());     for (;;)      {      client=server.accept(); //接受客户机的连接请求      new ConnectionThread(client,i).start();      i++;      }     }    catch (Exception e) {System.out.println(e);}    } } /* ConnnectionThread类完成与一个Web浏览器的通信 */ class ConnectionThread extends Thread {   Socket client; //连接Web浏览器的socket字   int counter; //计数器   public ConnectionThread(Socket cl,int c)    {    client=cl;    counter=c;    }   public void run()  //线程体    {    try     {     String destIP=client.getInetAddress().toString(); //客户机IP地址     int destport=client.getPort();          //客户机端口号     System.out.println("Connection "+counter+":connected to "+destIP+" on port "+destport+".");     PrintStream outstream=new PrintStream(client.getOutputStream());     DataInputStream instream=new DataInputStream(client.getInputStream());     String inline=instream.readLine(); //读取Web浏览器提交的请求信息     System.out.println("Received:"+inline);     if (getrequest(inline))      {   //如果是GET请求      String filename=getfilename(inline);      File file=new File(filename);      if (file.exists())       { //若文件存在,则将文件送给Web浏览器       System.out.println(filename+" requested.");       outstream.println("HTTP/1.0 200 OK");       outstream.println("MIME_version:1.0");       outstream.println("Content_Type:text/html");       int len=(int)file.length();       outstream.println("Content_Length:"+len);       outstream.println("");       sendfile(outstream,file); //发送文件       outstream.flush();       }      else       { //文件不存在时       String msg1="<html><head><title>Not Found</title></head><body><h1>Error 404-file not found</h1></body></html>";       outstream.println("HTTP/1.0 404 no found");       outstream.println("Content_Type:text/html");       outstream.println("Content_Length:"+msg1.length()+2);       outstream.println("");       outstream.println(msg1);       outstream.flush();       }      }     //instream.close();     //outstream.close();     long m1=1;  //延时     while (m1<11100000) {m1++;}     client.close();     }    catch (IOException e)

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号