Struts的扩展之一plugin 式

类别:Java 点击:0 评论:0 推荐:

                                                       plugin 式
     根据Struts文献“A plugin is a configuration wrapper for a module-specific resource or service that needs to be notified about application startup and shutdown events“这句话的意思当你启动或者关闭struts时,Struts自动调用继承PlugIn接口的类.

     也就是当我在一个WEB应用程序时要使用了Hibernate,一旦启动了我的WEB应用服务,我就要初始化Hibernate,因此执行我的第一个请求。反之,关闭我的的WEB应用服务,也就关闭(释放)了Hibernate。

    我们执行这个Hibernate需要两个简单的步骤:

创造一个可执行PlugIn接口, 如下:public class HibernatePlugIn implements PlugIn{
private String configFile;
// This method will be called at application shutdown time
public void destroy() {
System.out.println("Entering HibernatePlugIn.destroy()");
//Put hibernate cleanup code here
System.out.println("Exiting HibernatePlugIn.destroy()");
}
//This method will be called at application startup time
public void init(ActionServlet actionServlet, ModuleConfig config)
throws ServletException {
System.out.println("Entering HibernatePlugIn.init()");
System.out.println("Value of init parameter " +
                    getConfigFile());
System.out.println("Exiting HibernatePlugIn.init()");
}
public String getConfigFile() {return name;
}
public void setConfigFile(String string) {
configFile = string;
}
}
这个继承PlugIn接口的类要执行两个方法:init() and destroy(),init()方法是在用于服务启动时执行,destroy()方法是在关闭时执行,并且Struts允许你带参数,通过参数,你可以HibernatePlugIn类中在创建像javabean中的setter方法。
在struts-config.xml中增加PlugIn:
<struts-config>
...
<!-- Message Resources -->
<message-resources parameter=
          "sample1.resources.ApplicationResources"/>

<!-- Declare your plugins -->
<plug-in className="com.sample.util.HibernatePlugIn">
<set-property property="configFile"
   value="/hibernate.cfg.xml"/>
</plug-in>
</struts-config>
给你的继承PlugIn(HibernatePlugIn)类,赋予初始化参数,需要增加一个<set-property>元素,例如,例子中要传输的参数为"/hibernate.cfg.xml"。

本文地址:http://com.8s8s.com/it/it12717.htm