我最近开始学习java EE(jsp,servlets和一些用于处理数据库的模式,如DAO),我不明白我应该在哪里初始化我的bussines逻辑?我认为在do *** servlet方法体中创建它的实例是一种不好的做法。附:我的应用程序使用DataSource和ConnectionPool与db。
连接答案 0 :(得分:1)
您需要以某种方式指定您的要求,您正在寻找什么初始化。它是EJB解决方案吗?纯Servlet / JSP解决方案?等
通常在部署应用程序时,在调用之后,应用程序将加载所需的逻辑。
当然,您可以进行初始化以加快负载,在用户进入应用程序之前运行所需的代码等。
在EJB中,我们讨论的是@Singleton和@Startup注释。
对于servlet,您可以使用注释@WebServlet(name =" startup",loadOnStartup =" 0")。或者将它放在你的web.xml中。取决于你如何编码。
更推荐的方法是创建自己的侦听器,并覆盖contextInitialized和contextDestoryed方法。例如。在初始化方法中创建数据库连接等,并在contextdestory方法中注销驱动程序。使用注释@WebServletContextListener或将侦听器添加到web.xml
此外,还存在特定于Java Web服务器的解决方案,您需要检查您的供应商。