how tomcat works chinese 学习系列第二章

哈哈,  看看tomcat里面到底是啥玩意......

在好奇动力的支撑下, 继续学习第二章, 动态url servlet请求处理

 

2个程序

 

1. 第一个程序类列表

Request

Response

HttpServer1

Contants

ServletProcesser

StaticResourceProcesser

 

 

 

Request          

             方法和第一章相同parse()  parseUri()   作用查看第一章

             新增: 实现ServletRequest接口和其中的方法, 作用Request类代表一个request对象并被传递给servlet的service方法.   

            

Response        

               新增: 实现ServletResponse接口和其中的方法, 作用同Request.

 

HttpServer1

                新增: 通过获取uri判断请求的资源.

 

Contants 

              将获取资源路径的,  static final  类型的资源提取放到公共类.

 

ServletProcesser 

                        这个类处理动态servlet请求,

 

StaticResourceProcesser  

                                   process方法有2个参数, request,response从httpserver1 传参过来,直接调用response中的响应方法.

 

 

PrimitiveServlet     

 (第一个程序和第二程序公共测试servlet类)

 这个就是sevlet测试类,  需要实现Servlet接口和其中的生命周期 init, destory, service方法

 

 

 

第二个程序类列表

Request

Response

Contants

HttpServer2                       

StaticSourceProceer

ServletProcesser 

ResponseFacade

RequestFacade

 

 

 

Request

Response

Contants

HttpServer2                       

StaticSourceProceer

以上内容相同 

  

ServletProcesser  

RequestFacade             

 新增这个类是为安全考虑, 在Request类中的函数不被外部访问,通过实现ServletRequest接口和Request类实现相同的接口,用构造函数传参,   用成员变量的私有属性来达到在调用提供服务的servlet的service方法时安全向下转换.

 

ResponseFacade  

  同上

 

 

 

摘:

servlet的service方法从servlet容器中接收一个javax.servlet.ServletRequest实例和一个javax.servlet.ServletResponse实例。这就是说对于每一个HTTP请求,servlet容器必须构造一个ServletRequest对象和一个ServletResponse对象并把它们传递给正在服务的servlet的service方法

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值