Tomcat容器中相关对象的生命周期

来源:互联网 发布:淘宝网拍模特兼职 编辑:程序博客网 时间:2024/06/02 04:15

1、Tomcat中相关对象的生命周期
(1)ServletContext:应用程序生命周期内,被所有Request和Session共享
(2)Servlet、Filter、Listener:应用程序生命周期内,被所有Request和Session共享
(3)HttpSession:客户端(浏览器)不关闭(同一实例),并且在Server中没有过期,被所有持有相同Session的Request共享
(4)HttpServletRequest、HttpServletResponse:一次请求到响应输出完毕,不共享

2、Servlet和Filter非线程安全
不能将Request或Session级别的数据赋值给Servlet或Filter的实例变量

public class ExampleServlet extends HttpServlet {    private Object thisIsNOTThreadSafe;    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        Object thisIsThreadSafe;        thisIsNOTThreadSafe = request.getParameter("foo"); // BAD!! Shared among all requests!        thisIsThreadSafe = request.getParameter("foo"); // OK, this is thread safe.    } }
原创粉丝点击