容器,JSP容器,JSP引擎

问题:java

 什么是容器?web

什么是JSP容器?tomcat

JSP容器的做用是什么?服务器

什么是JSP引擎?post

 

分析:spa

这些问题是相同的,都是描述JSP或者Servlet对象是如何被管理或者运行的。翻译

回答:xml

首先应该明白,JSP或者Servlet自己的运行与普通客户端程序是不相同的,客户端程序是咱们直接调用的,而JSP或者Servlet的运行须要服务器(Tomcat),一般称为应用服务器,服务器负责建立JSP或者Servlet对象,而后调用JSP对象或者Servlet对象的相应方法对象

 

由谁完成JSP或者Servlet对象的建立、方法的调用的呢?由容器完成,或者称为JSP容器。生命周期

容器是用来容纳其它组件的,这些组件包括JSP或者Servlet,完成这些组件对象的建立、方法的调用以及对象的销毁。

容器如何知道建立哪一个JSP或者Servlet的对象的呢?

  对于JSP,是根据文件名字肯定的,对于Servlet,是经过web.xml中的配置肯定的。

容器如何知道调用JSP或者Servlet的哪一个方法?

  对于JSP,JSP页面会被转换成Java类,而页面中的内容会被转换成Java类中的某个方法中的内容,而这个方法的名字是固定的,容器会调用这个方法。

  对于Servlet,用户须要根据请求的类型编写doGet或者doPost方法,容器会根据请求的方式是get仍是post分别调用doGet或者doPost。

而事实上,Tomcat在大多数状况下充当servlet的容器,也就是说:在写完JSP代码后进行第一次执行时,tomcat(servlet容器)先将JSP代码翻译成servlet类(java代码),而后实例化该类,再调用该类的init,service,destory等进行生命周期服务。

当客户端再进行第二次访问请求时,此时就没有servlet容器的翻译这一步了,由于以前翻译的java代码会一直保存,以便于后面的访问再也不进行翻译,可大大提升访问效率。

因此,JSP页面在第一次被访问时,其所花费的时间是最长的。

相关文章
相关标签/搜索