关于JSP生命周期的叙述,下列哪些为真? A. JSP会先解释成Servlet源文件,然后编译成Servlet类文件 B. 每当用户端运行JSP时,jsp init()方法都会运行一次 C. 每当用户端运行JSP时,jsp service()方法都会运行一次 D. 每当用户端运行JSP时,jsp destroy()方法都会运行一次
答案:AC
解析: Jsp只会在客户端第一次发请求的时候被编译,之后的请求不会再编译,同时tomcat能自动检测jsp变更与否,变更则再进行编译,重新编译也不调用init()。
第一次编译并初始化时调用: init() ;销毁调用: destroy() 。在整个jsp生命周期中均只调用一次。
service()方法是接收请求,返回响应的方法。每次请求都执行一次,该方法被HttpServlet封装为doGet和doPost方法 Servlet的生命周期 1.加载:容器通过类加载器使用Servlet类对应的文件来加载Servlet 2.创建:通过调用Servlet的构造函数来创建一个Servlet实例 3.初始化:通过调用Servlet的init()方法来完成初始化工作,这个方法是在Servlet已经被创建,但在向客户端提供服务之前调用。 4.处理客户请求:Servlet创建后就可以处理请求,当有新的客户端请求时,Web容器都会创建一个新的线程来处理该请求。接着调用Servlet的 Service()方法来响应客户端请求(Service方***根据请求的method属性来调用doGet()和doPost()) 5.卸载:容器在卸载Servlet之前需要调用destroy()方法,让Servlet释放其占用的资源。 【注:除了init只初始化一次外、其他 用户端运行JSP时方法都会运行一次】
题目来源于 【牛客网】