阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

基于Java实现的最简单的Web服务器

198次阅读
没有评论

共计 1915 个字符,预计需要花费 5 分钟才能阅读完成。

近日学习 Java 的网络编程,看到一个及其简单的例子,但是却实现了一次 Web 访问的功能,当然,于 Tomcat 和 Weblogic 等 Web 服务器自然是没法比,可是展现了最基本的 Web 访问的网络原理的实现,短小精悍,看了才知道,原来还可以这样。

import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.Socket;
public class HTTPThread implements Runnable {
           
    private Socket socket;
    private int count;
    public HTTPThread(){
               
    }
           
    public HTTPThread(Socket socket, int count){
        this.socket = socket;
        this.count = count;
    }
    @Override
    public void run() {
        // TODO Auto-generated method stub
        try {
            OutputStream os = socket.getOutputStream();
            PrintWriter pw = new PrintWriter(os);
            pw.println(“<html>”);
            pw.println(“<head>”);
            pw.println(“<body>”);
            pw.println(“This my page! You are welcome!”);
            pw.println(“</body>”);
            pw.println(“</head>”);
            pw.println(“</html>”);
                   
            pw.flush();
            pw.close();
            os.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

 

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class TCPServer {
    public static void main(String[] args){
        int count = 1;
        try {
            ServerSocket ss = new ServerSocket(8080);
            Socket s = null;
            while((s=ss.accept()) != null){
                System.out.println(“The visitor:” + count);
                HTTPThread httpThread = new HTTPThread(s, count);
                Thread thread = new Thread(httpThread);
                thread.start();
                count++;
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

编译运行后,通过浏览器访问 http://localhost:8080/ 就可以了,是不是很神奇呢!

推荐阅读

日志分析工具 Awstats 实战之 Apache 篇 - 多站点日志分析 http://www.linuxidc.com/Linux/2013-11/92273.htm

在 Ubuntu 13.10 下安装支持 SSL 的 Apache http://www.linuxidc.com/Linux/2013-11/92266.htm

再谈伪装 Apache 版本防止入侵 Web 服务器 http://www.linuxidc.com/Linux/2013-10/91179.htm

Apache Python 模块 mod_wsgi 的编译安装 http://www.linuxidc.com/Linux/2013-09/90637.htm

企业 Shell 脚本分析及切割 Apache 日志实战 http://www.linuxidc.com/Linux/2013-09/90627.htm

Linux 网站架构系列之 Apache—- 部署篇 http://www.linuxidc.com/Linux/2013-11/92304.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计1915字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中