为什么同时存在_jspInit() 和 jspInit()?
我是jsp初学者。我在书上看到,jspInit()这个函数可以在jsp中被override,从而可以被用来初始化一些变量。但是,当jsp被转化成servlet的时候,其实本来就已经有了_jspInit()这个函数。
public void _jspInit() {
_el_expressionfactory =
_jspxFactory.getJspApplicationContext(
getServletConfig().getServletContext())
.getExpressionFactory();
_jsp_instancemanager =
org.apache.jasper.runtime.InstanceManagerFactory
.getInstanceManager(getServletConfig());
}
请问_jspInit() 和 jspInit()两者到底有什么样的联系。jspInit()是由_jspInit()调用的吗?如果是这样的话,_jspInit()为什么不写成如下形式
public void _jspInit() {
_el_expressionfactory =
_jspxFactory.getJspApplicationContext(
getServletConfig().getServletContext())
.getExpressionFactory();
_jsp_instancemanager =
org.apache.jasper.runtime.InstanceManagerFactory
.getInstanceManager(getServletConfig());
jspInit();
}
还是说这两个函数都是由容器分别调用的?
因为在servlet中,用户override的init其实是由void init(ServletConfig config)所调用的。
public void init(ServletConfig servletConfig)
throws ServletException {
this.servletConfig = servletConfig;
this.init();
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
搬运:https://stackoverflow.com/que...