概念
- servlet是JavaEE提供的一个接口
- java servlet(java服务器小程序)
- 一个基于java技术的web组件运行在服务器端,
- 由servlet容器所管理,用于生成动态资源
- servlet容器有时被叫成servlet引擎
- 是web服务器或应用程序的一部分
- 用于在发送的请求和响应之上提供网络服务
- servlet不能独立运行,必须部署到servlet容器中由容器实例化和调用servlet方法
- 优点
- 单实例多线程运行,每个请求在独立的线程中运行
- 可升级性,能响应更多的请求,servlet容器使用一个线程,占用优先的系统空间
- 有标准的API,被更多web服务器所支持
- servlet是java编写的,拥有java的所有优点,包括易开发和平台独立性
- servlet容器给servlet提供额外的功能,如错误处理和安全
- servlet容器的分类
- 独立的servlet容器
- 基于java技术的web服务器时,servlet容器作为构成web服务器的一部分而存在
- 进程内的servlet容器
- web服务器在内部地址空间中打开一个jvm,使得java容器可以在此jvm中加载并运行servlet
- web服务器获得一个调用servlet请求时,将请求传递给java容器(JNI),java容器再交给servlet处理
- 进程内的servlet容器对单进程、多线程的服务器非常适合,提高运行速度,但伸缩性有所不足
- 进程外的servlet容器
- java容器的servlet运行在web服务器外部的地址中
- web服务器插件和java容器使用IPC机制(TCP/IP)进行通信
- web服务器获得一个调用servlet的请求时,将请求传递给外部的java容器,java容器交给servlet处理
- 进程外的servlet容器响应速度不如进程内部servlet快,但具有更好的伸缩性和稳定性
servlet、servlet容器、servlet引擎的关系 servlet引擎是servlet的别名 servlet容器内部包含多个servlet,并且servlet容器为servlet提供额外的功能
- 独立的servlet容器
servlet
servlet生命周期