WebServer·(三)项目的第一个版本

制作一个服务端,然后启动,然后通过网页端进行连接
运行项目时显示,然后通过网页访问http://localhost:8088/
在这里插入图片描述
然后通过网页访问http://localhost:8088/
在这里插入图片描述
第一步:在main文件夹下的Java文件夹下创建项目包,我的项目的包名为cn.javawebsever.core
第二部:在刚刚创建的项目包下,创建class文件,文件名为WebSever,其功能为该项目的主类
Java代码

package cn.websever.core;

import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
/**
 * @author Ryan
 * WebSever的主类
 * websever项目是模拟Tomcat实现的一个简易版的web容器
 * web容器:
 *    可以管理多个不同的网络应用:webapp(每个网络应用可以看作一个网站,里面会包含网页,图片,样	         
 *      式,脚本,处理业务等)
 *    还可以基于TCP协议与客户端(通常就是浏览器)建立连接并互相发生数据
 *    还可以在基于HTTP协议与客户端进行交互
 */
public class WebSever {
    private ServerSocket server;   //定义声明私有的一个服务端名为sever

    /**
     * 初始化WebSever的方法
     */
    public WebSever(){
        //try…catch 异常处理机制
        try{
            System.out.println("正在启动服务端");
            server =new ServerSocket(8088);  //申请端口号
            System.out.println("服务端启动完毕");
        }catch (Exception exception){
            exception.printStackTrace();  //获取异常,并输出
        }
    }

    /**
     * 服务端开始工作的方法
     * 注意事项:端口号是否冲突与别的项目
     */
    public void start(){
        //异常处理机制try…catch.
        try{
            System.out.println("等待客户端连接");
            Socket socket = server.accept();   //和服务器创建连接
            System.out.println("一个客户端已连接");

            //查看客户端发送的内容
            //测试读取浏览器发送过来的每个字符(浏览器发送的都是单字节字符)
            //通过socket获取输入流
            InputStream inputstream = socket.getInputStream();
            //做精确流读取,一个字节一个字节显示,不使用缓冲流
            int i;  //定义
            while((i = inputstream.read()) != -1){   //读取的字节数不为-1,就进行输出
                System.out.print((char)i);    //将输出的结果转换成char(字符)类型
            }
        }catch (Exception exception){
            exception.printStackTrace();       //获取异常,并输出
        }
    }
    /**
     * 主方法
     * @param args
     */
    public static void main(String[] args) {
        WebSever server = new WebSever();  //WebSever方法实例化
        server.start();   //调用其start方法
    }
}

pom.xml中添加的代码

<!-- jdk的环境设置 -->
    <properties>
        <java.version>14.0.1</java.version>
        <maven.compiler.source>${java.version}</maven.compiler.source>
        <maven.compiler.target>${java.version}</maven.compiler.target>
    </properties>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值