当前位置 : 主页 > 编程语言 > java >

jsp PageContext对象的生命周期是什么 – 它是线程安全的吗?

来源:互联网 收集:自由互联 发布时间:2021-06-25
jsp PageContext对象是作为http请求 – 响应周期的一部分创建和销毁的,还是在请求之间缓存和重用. PageContext具有生命周期方法,建议在请求之间重用.即initialize(),release(). 如果它们被重用,这
jsp PageContext对象是作为http请求 – 响应周期的一部分创建和销毁的,还是在请求之间缓存和重用.

PageContext具有生命周期方法,建议在请求之间重用.即initialize(),release().

如果它们被重用,这可能会造成严重的并发问题:如果两个http请求到达,请求相同的jsp页面,并且每个请求都由其自己的线程处理,但是在共享的PageContext对象上设置属性,它们将呈现彼此的内容.

任何帮助赞赏.顺便说一句,我正在使用Apache Sling中嵌入的servlet容器.

PageContext仅可从JSP页面获得.如果您的请求首先由servlet处理,然后转发到JSP页面(使用RequestDispatcher.forward),则pageContext仅在此JSP页面上可用,但无法从servlet访问它(因为还没有pageContext那时候).

从JSP页面的角度来看,每次调用它时都会获得新的pageContext.页面上下文可以在内部池化,但不能同时由多个JSP页面共享.

初始化和发布方法有这样的评论:“页面或标记库作者不应使用此方法.”别忘了他们.

网友评论