容器 servlet JSP
2014-12-06 15:09
197 查看
容器
所谓容器就是一个服务程序,容器大了也就成了服务器。容器处理客户端的请求,管理请求连接的活动周期。JSP或者Servlet的运行是由服务器触发的,再具体一点就是服务器中得某个组件来触发的,这个组件被成为各自的容器。包括web容器,JSP容器,Servlet容器。这些组件来处理各自对象的创建,方法的调用,生命周期管理,对象销毁等。
tomcat对应的三个容器:web容器处理静态页面,catalina容器处理servlet,JSP容器处理jsp内容。
容器如何知道创建哪个JSP或者Servlet的对象的呢?对于JSP,是根据文件名字确定的,对于Servlet,是通过web.xml中的配置确定的。
容器如何知道调用JSP或者Servlet的哪个方法?对于JSP,JSP页面会被转换成Java类,而页面中的内容会被转换成Java类中的某个方法中的内容,而这个方法的名字是固定的,容器会调用这个方法。对于Servlet,用户需要根据请求的类型编写doGet或者doPost方法,容器会根据请求的方式是get还是post分别调用doGet或者doPost。
JSP 的执行过程
(1) 客户端发出Request (请求);(2) JSP Container 将JSP转译成Servlet的源代码;
(3) 将产生的Servlet 的源代码经过编译后,并加载到内存执行;
(4) 把结果Response (响应)至客户端。
在执行 JSP 网页时,通常可分为两个时期:转译时期(Translation Time)和请求时期(Request Time) 转译时期:JSP网页转译成Servlet类。 请求时期:Servlet类执行后,响应结果至客户端。
通用Servlet
一般的,通用Servlet由javax.servlet.GenericServlet实现Servlet接口。程序设计人员可以通过使用或继承这个类来实现通用Servlet应用。HttpServlet
javax.servlet.http.HttpServlet实现了专门用于响应HTTP请求的Servlet,提供了响应对应HTTP标准请求的doGet()、doPost()等方法。生命周期
当servlet被部署在应用服务器中(应用服务器中用于管理Java组件的部分被抽象成为容器)以后,由容器控制servlet的生命周期。除非特殊指定,否则在容器启动的时候,servlet是不会被加载的,servlet只会在第一次请求的时候被加载和实例化。servlet一旦被加载,一般不会从容器中删除,直至应用服务器关闭或重新启动。但当容器做内存回收动作时,servlet有可能被删除。也正是因为这个原因,第一次访问servlet所用的时间要大大多于以后访问所用的时间。servlet在服务器的运行生命周期为,在第一次请求(或其实体被内存垃圾回收后再被访问)时被加载并执行一次初始化方法,跟着执行正式运行方法,之后会被常驻并每次被请求时直接执行正式运行方法,直到服务器关闭或被清理时执行一次销毁方法后实体销毁。
与JSP的关系
Java服务器页面(JSP)是HttpServlet的扩展。由于HttpServlet大多是用来响应HTTP请求,并返回Web页面(例如HTML、XML),所以不可避免地,在编写servlet时会涉及大量的HTML内容,这给servlet的书写效率和可读性带来很大障碍,JSP便是在这个基础上产生的。其功能是使用HTML的书写格式,在适当的地方加入Java代码片断,将程序员从复杂的HTML中解放出来,更专注于servlet本身的内容。JSP在首次被访问的时候被应用服务器转换为servlet,在以后的运行中,容器直接调用这个servlet,而不再访问JSP页面。JSP的实质仍然是servlet。<完>
相关文章推荐
- JSP学习 —— 开篇:JSP,servlet容器,Tomcat,servlet容器之间的关系
- JSP学习 —— 开篇:JSP,servlet容器,Tomcat,servlet容器之间的关系
- Tomcat 5 servlet/JSP 容器 JNDI 资源使用说明 (一)
- tomcat之jsp/servlet容器与tomcat与专业的http服务器的区别
- Tomcat 5 servlet/JSP 容器 JNDI 资源使用说明 (一)
- Java Servlet/JSP容器配置 session id
- 1web服务器 j2ee应用服务器,区别 2tomcat是servlet容器,Tomcat一直被认为是Servlet/JSP API的执行器
- servlet容器web服务器jsp引擎
- JSP,servlet容器,Tomcat,servlet容器之间的关系
- jsp之认识servlet(基础、工作原理、容器请求处理)
- Servlet/JSP 容器开发手记5-RequestDispatcher
- 《Head First Servlet JSP》容器工作原理(如tomcat)
- 01-web服务器、应用服务器、JSP&SERVLET容器
- JSP学习 —— 开篇:JSP,servlet容器,Tomcat,servlet容器之间的关系
- 《Head First Servlet JSP》web服务器,容器,servlet的职责
- jsp变成servlet之容器如何处理jsp
- JSP,servlet容器,Tomcat,servlet容器之间的关系
- JSP学习 —— 开篇:JSP,servlet容器,Tomcat,servlet容器之间的关系
- JSP学习 —— 开篇:JSP,servlet容器,Tomcat,servlet容器之间的关系
- 构建Apache Tomcat 6.0 Servlet/JSP 容器