jsp PageContext 对象是作为 http 请求-响应周期的一部分创建和销毁的,还是在请求之间缓存和重用。
PageContext 具有建议在请求之间重用的生命周期方法。即初始化()、释放()。
如果重用它们,可能会造成严重的并发问题:如果两个 http 请求到达,请求同一个 jsp 页面,并且每个请求都由自己的线程处理,但在共享的 PageContext 对象上设置属性,则它们将呈现彼此的内容。
任何帮助表示赞赏。顺便说一句,我正在使用 Apache Sling 中嵌入的 servlet 容器。
PageContext 只能在您的 JSP 页面中使用。如果你的请求首先由servlet处理,然后转发到JSP页面(使用RequestDispatcher.forward),则pageContext仅在此JSP页面上可用,但无法从servlet访问它(因为还没有pageContext)当时)。
从JSP页面的角度来看,每次调用它都会获取新的pageContext。页面上下文可以在内部池化,但不能同时被多个 JSP 页面共享。
initialize
and release
方法有这样的注释:“页面或标签库作者不应使用此方法。”忘记他们吧。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)