Java 在jsp web项目中实例化模型对象

Java 在jsp web项目中实例化模型对象,java,jsp,model,rmi,Java,Jsp,Model,Rmi,我正在使用MVC设计模式编写一个web应用程序。。应用程序应连接到提供业务部分(模型)的RMI服务器 我的问题是,我不知道应该在哪里实例化模型类并连接到RMI,从而提供对所有servlet的访问。。我添加了一个ServletContextListener并在servlet上下文上共享了引用,但我认为这不是正确的方法 提前感谢您可以从控制器实例化模型/业务类。最好还是在应用程序开始时为每个实例创建一个实例。你也可以去偷懒加载它 从JSP实例化模型/业务类意味着从视图实例化它们。当然,这违反了MVC

我正在使用MVC设计模式编写一个web应用程序。。应用程序应连接到提供业务部分(模型)的RMI服务器

我的问题是,我不知道应该在哪里实例化模型类并连接到RMI,从而提供对所有servlet的访问。。我添加了一个ServletContextListener并在servlet上下文上共享了引用,但我认为这不是正确的方法


提前感谢

您可以从控制器实例化模型/业务类。最好还是在应用程序开始时为每个实例创建一个实例。你也可以去偷懒加载它

从JSP实例化模型/业务类意味着从视图实例化它们。当然,这违反了MVC模式


您可以将模型/业务类设置为单例,也可以将引用保留在Servlet上下文中。两者都很好,后者更便于测试。如果您不将构造函数指定为
private
,而只是有一个共同的理解,即它不是到处实例化的,那么前者也可以变得测试友好。

那么将它们加载到ServletContextListener上就没有问题了?@Daniel:不,事实上,
contextInitialized()
将在初始化过程启动时收到通知,并在任何Servlet加载之前被调用。最好在一个名为
OnLoad=1
的Servlet中执行,并将引用保存在Servlet上下文中。