考虑一个由Front Controller设计模式构建的Web应用程序,包括基于策略模式的操作,.jsp页面,javabeans和数据库连接,如下图所示:
如何在代码中分配职责,加载,初始化和更新应用程序数据?
我已经阅读了很多关于这个主题的内容,但很难找到我想要的内容,在所有特定框架之间,以及类似但又如此不同的Q& A之间。
与Android不同,谷歌的搜索引擎生命周期"谷歌上的搜索不同,它会回应开发网络应用程序的过程,而不是运行它。我正在寻找对Web应用程序中生命周期和责任管理的基本了解。
我已经有了一个能够从我的数据库连接,获取和排序数据到java对象的提供者类。假设这是一个最佳实践解决方案,我应该在web-app生命周期/代码中引用/创建此提供程序,并存储数据以供应用程序范围内使用?
答案 0 :(得分:1)
您应该在ServletContextListener上创建它,并将其存储在ServletContext上(或使用Singleton)。应用程序启动时Web容器调用ServletContextListener。 ServletContext是(除其他外)一个容器,用于所有会话的所有请求都可以访问的数据。
这是JavaDoc:
http://docs.oracle.com/javaee/6/api/javax/servlet/ServletContextListener.html
这是一个教程;
http://www.mkyong.com/servlet/what-is-listener-servletcontextlistener-example/