JSP 的构造函数(出于好奇而查询)
Constructor for JSP ( Query out of curiosity)
我想知道是否有任何方法可以为 JSP 编写构造函数。由于技术上 JSP 只是另一个 Java Class,容器将在翻译期间为其生成一个构造函数。
我想知道是否有一种方法可以为容器提供构造函数来初始化给定的 JSP。
从技术上讲,您不能像您提到的那样为每个 JSP 容器生成一个 Servlet
class 并创建一个无参数构造函数,容器将调用该构造函数,您可以创建另一个构造函数,但容器不会使用它来创建 class.
当一个 Jsp 被翻译成一个 servlet class 你可以像一个普通的 servlet class 一样覆盖 init()
和 destroy()
方法,你也必须牢记 servlet 生命周期,容器仅创建一个 servlet 实例 class,并且在构造对象后仅调用一次 init
方法,当对象将要创建时调用 destroy
方法在容器关闭时被销毁。
由于我们使用的是 Jsp 页面,我建议您使用为 JspPage 接口定义的方法,它还定义了两个方便的方法,您可以在页面中覆盖它们,jspInit 和 jspDestroy。
<%! public void jspInit() {
//init code
}
%>
<%! public void jspDestroy() {
//destroy code
}
%>
我想知道是否有任何方法可以为 JSP 编写构造函数。由于技术上 JSP 只是另一个 Java Class,容器将在翻译期间为其生成一个构造函数。
我想知道是否有一种方法可以为容器提供构造函数来初始化给定的 JSP。
从技术上讲,您不能像您提到的那样为每个 JSP 容器生成一个 Servlet
class 并创建一个无参数构造函数,容器将调用该构造函数,您可以创建另一个构造函数,但容器不会使用它来创建 class.
当一个 Jsp 被翻译成一个 servlet class 你可以像一个普通的 servlet class 一样覆盖 init()
和 destroy()
方法,你也必须牢记 servlet 生命周期,容器仅创建一个 servlet 实例 class,并且在构造对象后仅调用一次 init
方法,当对象将要创建时调用 destroy
方法在容器关闭时被销毁。
由于我们使用的是 Jsp 页面,我建议您使用为 JspPage 接口定义的方法,它还定义了两个方便的方法,您可以在页面中覆盖它们,jspInit 和 jspDestroy。
<%! public void jspInit() {
//init code
}
%>
<%! public void jspDestroy() {
//destroy code
}
%>