Jsp将大量数据加载到内存中?

时间:2011-07-12 11:27:42

标签: java jsp tomcat installation

如何使用tomcat服务器将数据加载到内存中?

我有一个从文件加载数据的java类。 我想将数据加载到内存中一次,每当客户端请求使用该类的页面时,数据将从内存中使用。

例如

class MyClass
{
      HashMap data = new HashMap(100);
      public void LoadDataFromFile()
      {.....}
      public void UseTheData(String input)
      {....}
      public MyClass(){ LoadDataFromFile();}  // c'tor load data
      public SetInput(String Input)
      {
           UseTheData(input);
      }
}

并在我的jsp文件中

Myclass myclass= new MyCass();
myclass.LoadDataFromFile();
myclass.UseTheData();

我知道我应该在jsp文件中使用JSTL

如果我使用scope =“session”,数据加载将保留吗?

<jsp:useBean id="myclass" class="MyClass" scope="session">
<jsp:setProperty name="myclass" property="input" value="blabla" />
</jsp:useBean>

如果我在构造函数中加载数据,我可以确保该类只是init一次吗?

1 个答案:

答案 0 :(得分:3)

创建ServletContextListener并在web.xml文件中注册。在ServletContextListener中,初始化应用程序时,读取文件并将其存储在ServletContext的属性中。然后可以从Java和JSP代码轻松访问此属性。