zoukankan      html  css  js  c++  java
  • J2EE(一)——开发简单WEB服务器

    一、web开发介绍

    网页连接过程(B/S):客户端使用浏览器,发送http请求到web服务器上,服务器进行回应。Browser/Server

    http请求内容:

    GET/HTTP/1.1 说明是get请求,使用的是http1.1的协议。

    Accept:image/gif..... 说明我能够接收的图片格式有如下...

    Accept-Language:zh-cn. 说明我能接收的语言是中文.

    User-Agent:xxx 说明我能支持的浏览器有xxx.

    Host:www.baidu.com 说明我要访问的主机是www.baidu.com

    网页连接过程(C/S):客户端(客户端自己写的程序)使用tcp/ip协议发送请求道服务器上,服务器进行回应。Client/Server

    Tcp/ip请求:其实http请求就是包好了的Tcp/ip请求。

    二、模拟开发一个web服务器

    1.先写一个html文件用于显示(放在E:\WebTest/Hello.html)

    2.写一个MyWebServer.java如下:

    import java.io.BufferedReader;

    import java.io.FileReader;

    import java.io.OutputStream;

    import java.net.ServerSocket;

    import java.net.Socket;

    public class MyWebServer {

    public static void main(String[] args) throws Exception{

    // TODO 自动生成的方法存根

    ServerSocket ss=new ServerSocket(9999); //设置端口号9999

    System.out.println("在9999端口上等待连接..."); //等有请求发送过来

    Socket s=ss.accept();

    System.out.println("在9999端口上连接成功...");

    OutputStream os=s.getOutputStream();

    BufferedReader br=new BufferedReader(new FileReader("E:\WebTest/Hello.html"));

    String bfString="";

    while ((bfString=br.readLine())!=null) {

    os.write(bfString.getBytes());

    }

    br.close();

    os.close();

    s.close();

    }

    }

    3.编译运行此java文件后,到浏览器进入http://localhost:9999/,就能显示最先写的网页。

    4.值得一提的是,如果MyWebServer.java写的是80端口,则直接http://localhost即可访问。

    5.而且,如果想多人同时访问此此页面,需要将代码改为

    import java.io.BufferedReader;

    import java.io.FileReader;

    import java.io.OutputStream;

    import java.net.ServerSocket;

    import java.net.Socket;

    public class MyWebServer {

    public static void main(String[] args) throws Exception{

    // TODO 自动生成的方法存根

    ServerSocket ss=new ServerSocket(9999); //设置端口号9999

    While(true){

    System.out.println("在9999端口上等待连接..."); //等有请求发送过来

    Socket s=ss.accept();

    System.out.println("在9999端口上连接成功...");

    OutputStream os=s.getOutputStream();

    BufferedReader br=new BufferedReader(new FileReader("E:\WebTest/Hello.html"));

    String bfString="";

    while ((bfString=br.readLine())!=null) {

    os.write(bfString.getBytes());

    }

    }

    br.close();

    os.close();

    s.close();

    }

    }

  • 相关阅读:
    python关于字典如何格式化地写入文件之中
    关于python如何安装和配置chromedriver以及一些相关问题
    python编码的原理以及写入文件中乱码的原因
    json到底是什么??????
    scrapy框架Request函数callback参数为什么是self.parse而不是self.parse( )
    scrapy框架xpath的几点说明
    python基于scrapy框架的反爬虫机制破解之User-Agent伪装
    HTML,CSS,JavaScript,json,xml之间的关系
    scrapy框架在未登录模式下爬取文本,文件和图片的几点收获
    scrapy爬虫提取网页链接的两种方法以及构造HtmlResponse对象的方式
  • 原文地址:https://www.cnblogs.com/myz666/p/6815250.html
Copyright © 2011-2022 走看看