首页 > 代码库 > web服务器中的容器以及工作流程

web服务器中的容器以及工作流程

杂谈:项目到现在,已经有几个Phase过去了,杂乱的js,jsp,杂乱的action,代码已经是面目全非,更别提什么高内聚,低耦合这一说了。现在的工作状态是,要不就是绞尽脑汁地改以前留下来的巨坑bug,要不就是无聊地加各种if ,else增加新的需求。趁这段时间不忙,赶紧复习一下以前的知识,做做笔记,否则就只会写if else了。


容器相当于是一个代理的角色,请求和响应都需要容器的参与。

#1,通信支持

利用容器提供的方法,你可以轻松的让servlet与web服务器进行通信,而不用创建serverSocket去监听某个端口,创建流等,容器知道和web服务器之间的协议,servlet不用去关心web服务器和web代码之间的API,只需要将重点放在业务逻辑上面。

#2,生命周期管理

容器控制着servlet的生与死,容器控制servlet的加载,实例化和初始化以及确保servlet能被正常回收,总之不用太多考虑资源管理。

#3,多线程管理

容器自动地为每一个servlet请求创建一个java线程,针对客户的请求,如果servlet已经运行完了Http相应的服务方法后,这个线程就可以被kill掉了,但是这并不意味着我们在写servlet的时候不用考虑同步问题了,只是容器帮我们创建和管理多个线程来处理多个请求而已。

#4,声明方式实现安全

利用容器,可以使用web,xml部署描述来配置安全性,而不用硬编码在servlet中。

#5,jsp支持

容器将jsp代码翻译成java代码


容器处理请求工作流程







web服务器中的容器以及工作流程