tomcat总结二

第一章节:一个简单的WEB服务器

一,总括
    
   介绍了HTTP协议和java.net.Socket与java.net.ServerSocket这两个类,接着介绍了一个简单的WEB服务器。

二,分述

   1,HTTP请求与响应的三个组成部分
   
   2,Socket类用于发送或接收字节流(信息),使用的方法有getOutputStream()和getInputStream();
      ServerSocket类则会侦听本地机器接收到的连接请求,接着调用accept()方法产生一个Socket实例来与客户进行通信。

   3,一个简单的WEB服务器指的是HttpServer.在这个类里主要做了这些事:使用ServerSocket侦听请求,产生Socket实例,
   接着利用socket里的输入流填充request对象,而request则会调parse()对请求进行解析;同时利用socket里的输出流填
   充response对象,response则对外作出响应。最后关闭socket对象。

三,代码对应
    org.apache.catalina.core.StandardServer
***************************************************************************************

第二章节:一个简单的servlet容器

一,总括

    不过是在前一章节的基础上增加了对Servlet接口的介绍和对不同请求类型进行分别处理

二,分述(与第一章节相同的略去)
   
    1,Servlet接口里的方法:init(),service()和destroy()方法,它们关系到servlet的生命周期。
    
    2,若一个请求是对静态资源的请求,则在HttpServer1类创建一个StaticResourceProcessor实例来进行处理;
       若对应的是servlet类,则创建一个ServletProcessor1实例来进行处理。

    3,对ServletProcessor1类的解释:假如一个请求对应的是一个servlet,则要先创建一个类载入器,然后载入
       请求的servlet,最后该servlet再调service()方法。在调service()方法的时候使用了门面模式。
****************************************************************************************

第三章节:连接器

一,总括
    
     据说是用了一种更好的方法来产生request与response对象

二,分述

    1,Tomcat对错误信息的处理借助了StringManage类,每个包下都存在一个properties文件用来存放
       错误(或异常)信息,若出现错误(或异常)时,会通过使用单例模式产生的StringManage类去
       对应的properties文件下寻找相应的信息,这样做的好处有两个:一是不用在代码中与特定的异       
       常信息耦合,二是不必为要查找异常信息的对象创建许多StringManage类消耗资源。

    2.我看了一下前一章节,发现“用了一种更好的方法来产生request与response对象”指的是这一章
      使用了线程,并将线程的产生(socket与HttpProcessor对象的产生)和request与response对象      
      的创建分到了两个方法里
    
    3,创建HttpRequest对象,在这里又分为了对请求行、请求头、Cookie、的解析以及对参数的获取。
      这里有个疑问:后面的几个实现都是为了填充request对象,那它们在代码中是怎样衔接的,特别是后面的两个?      
   
     4,HttpResponse类暂时没有加入新的东西,略去。
******************************************************************************************
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值