Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在jsp中从jsp转换为servlet?_Jsp - Fatal编程技术网

在jsp中从jsp转换为servlet?

在jsp中从jsp转换为servlet?,jsp,Jsp,在JSP中,JSP被转换成servlet。我的问题是,这种转换何时发生,即仅在第一次请求时发生,还是每次请求都发生?它在第一次请求时被编译成servlet.java代码,然后被编译成java字节码,类加载器加载.class文件 如果您担心第一次访问的延迟,通常可以使用JSP编译器为Java EE应用程序服务器预编译JSP。好的,我知道这一点。但是在第一次请求完成后,如果第二次请求已经生成的servlet,那么会发生什么情况,无论是仅生成的servlet调用还是JSP调用,即所有进程都将从一开始就

在JSP中,JSP被转换成servlet。我的问题是,这种转换何时发生,即仅在第一次请求时发生,还是每次请求都发生?

它在第一次请求时被编译成servlet.java代码,然后被编译成java字节码,类加载器加载.class文件


如果您担心第一次访问的延迟,通常可以使用JSP编译器为Java EE应用程序服务器预编译JSP。

好的,我知道这一点。但是在第一次请求完成后,如果第二次请求已经生成的servlet,那么会发生什么情况,无论是仅生成的servlet调用还是JSP调用,即所有进程都将从一开始就继续(编译、加载、初始化servlet)不,一旦你将.class文件加载到JVM中,它就会根据需要被调用。不,我没有得到正确的答案。请清楚地解释顺序步骤,即第一次请求jsp页面时发生的事情(比如a1.jsp)。现在它已从容器中删除。下一个请求是针对同一个jsp(a1.jsp)的另一个请求。现在我的问题是,生成的servlet(在第一个请求中)是直接加载容器还是再次将jsp转换为servlet?否,.jsp不会再次转换为servlet。一旦完成,你就得到了。一个给一个顾客。这够清楚吗?我不知道你的“从容器中移除”是什么意思。我怀疑你会。一旦JSP转变为servlet,它的生命周期就如同其他servlet一样由容器管理。JSP只是servlet的一种模板语言。在为请求提供服务之后,servlet将从容器中移除。这就是我在上面所说的。当为第一个请求提供服务时,如果另一个请求针对同一个servlet,那么容器将创建一个线程并将该线程分配给第二个请求。这是正确的吗?