如何在struts模式中设置类似Application的应用?

03-11-25 barbarian
例如:对一个配置文件的读入,如果用session,那么每个用户登陆都要创建一个session,显然这样太浪费资源,并且影响速度,是不是可以配置一个类似于jsp中Application的应用,只要web服务起来,读一遍配置文件,其他用户登陆后就可以直接读出配置文件,而不需要再在web服务器上创建一个实例,再读一次配置文件?

banq
2003-11-26 22:54
可以保存在servlet.getServletContext().setAttribute

贴段代码,可以在容器启动时,自动读取配置文件,初始化环境:

public class InitPlugIn implements PlugIn {
  public final static String module = InitPlugIn.class.getName();

  /**
   * The {@link ActionServlet} owning this application.
   */
  private ActionServlet servlet = null;
  /**
   * The application configuration for our owning module.
   */
  private ModuleConfig config = null;

  public void init(ActionServlet servlet, ModuleConfig config) throws
      ServletException {

    // Remember our associated configuration and servlet
    this.config = config;
    this.servlet = servlet;

    Debug.logInfo(" Jdon Struts EJB Framework init ...!", module);
    ModelPoolUtil modelPoolUtil = new ModelPoolUtil();

//    modelPoolUtil.loadMapping(); //获取xml
//    modelPoolUtil.createModelClass();//预先创建一些class

    Debug.logInfo(" Jdon Struts EJB Framework init successfully!", module);
    // 保存起来,备后来调用
    servlet.getServletContext().setAttribute(ModelPoolUtil.module,
                                             modelPoolUtil);
  }

  public void destroy() {
    servlet.getServletContext().removeAttribute(ModelPoolUtil.module);

    config = null;
    servlet = null;

  }

}
<p>

猜你喜欢