一尘不染

JSP和Servlet生命周期方法

jsp

如果JSP变成Servlet,为什么会有不同的生命周期方法,例如jspInit()init()


阅读 197

收藏
2020-06-08

共1个答案

一尘不染

我将尝试以最简单的方式正确解释它(除了正确的@Nathan Hughes答案):

从HTML与JAVA代码的角度来看,servlet更像是用JAVA包装的HTML。它为处理多层体系结构中的应用程序层提供了强大的支持。另一方面,创建了JSP来支持表示层的创建。init()Servlet
的方法在Servlet 初始化 期间仅被调用一次。

因此,第一点是:Servlet早于JSP。

现在到JSP。再次从HTML和JAVA的角度来看,JSP更像是用HTML包装的JAVA。

WEB CONTAINER 将JSP“源代码”转换为等效的Servlet Java代码。然后编译此翻译后的Java Servlet源代码,然后由
WEB CONTAINER 处理Servlet的实现。只是:

MyPage.jsp- >(翻译)-> MyPage_jsp.java->(编译)-> MyPage_jsp.class->(加载)-> Java
Servlet

jspInit()WEB CONTAINER 将该方法称为 JSP生命周期初始化阶段的 一部分

所以对你的问题:jspInit() 不等于 init()

2020-06-08